english
version "1.0"
identify "%Z%%M% %I% %E%"

#: Copyright (c) 1994, 1995 by Wayne C. Gramlich.
#, All rights reserved.
#,
#, Permission to use, copy, modify, distribute, and sell this software
#, for any purpose is hereby granted without fee provided that the above
#, copyright notice and this permission are retained.  The author makes
#, no representations about the suitability of this software for any purpose.
#, It is provided "as is" without express or implied warranty.

module xlib_wm_hints

#: This module implements the Xlib {XWMHints} data structure:

import
    logical
    out_stream
    string
    unsigned
    xlib_pixmap
    xlib_screen


define xlib_wm_hints
    external


define xlib_wm_state
    enumeration
	normal
	iconic
    generate print

procedure address_get@xlib_wm_hints
    takes
	xlib_wm_hints xlib_wm_hints
    returns unsigned
    external xlib_wm_hints__address_get

    #: This procedure will return the address of the {xlib_wm_hints} object.


procedure erase@xlib_wm_hints
    takes
	xlib_wm_hints xlib_wm_hints
    returns_nothing
    external xlib_wm_hints__erase

    #: This procedure will reset the contents of {xlib_wm_hints}.


procedure identical@xlib_wm_hints
    takes
	xlib_wm_hints1 xlib_wm_hints
	xlib_wm_hints2 xlib_wm_hints
    returns logical

    #: This procedure will return {true} if {xlib_wm_hints1} is identical
    #, to {xlib_wm_hints2} and {false} otherwise.

    return xlib_wm_hints1.address = xlib_wm_hints2.address


procedure initial_state_set@xlib_wm_hints
    takes
	wm_hints xlib_wm_hints
	initial_state xlib_wm_state
    returns_nothing
    external xlib_wm_hints__initial_state_set

    #: This procedure will set the initial state in {wm_hints}
    #, to {initial_state}.


procedure icon_pixmap_set@xlib_wm_hints
    takes
	wm_hints xlib_wm_hints
	icon_pixmap xlib_pixmap
    returns_nothing
    external xlib_wm_hints__icon_pixmap_set

    #: This procedure will set the icon pixmap of {wm_hints} to {icon_pixmap}.


procedure input_set@xlib_wm_hints
    takes
	wm_hints xlib_wm_hints
	input logical
    returns_nothing
    external xlib_wm_hints__input_set

    #: This procedure will set the input field of {wm_hints} to {input}.


procedure create@xlib_wm_hints
    takes
	screen xlib_screen
    returns xlib_wm_hints
    external xlib_wm_hints__create

    #: This procedure will return an empty {xlib_wm_hints} object
    #, and associated with {screen}.


procedure print@xlib_wm_hints
    takes
	wm_hints xlib_wm_hints
	out_stream out_stream
    returns_nothing
    external xlib_wm_hints__print

    #: This procedure will output {wm_hints} to {out_stream}.










