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_size_hints

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

import
    logical
    out_stream
    string
    unsigned


define xlib_size_hints
    external


procedure address_get@xlib_size_hints
    takes
	xlib_size_hints xlib_size_hints
    returns unsigned
    external xlib_size_hints__address_get

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


procedure erase@xlib_size_hints
    takes
	xlib_size_hints xlib_size_hints
    returns_nothing
    external xlib_size_hints__erase

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


procedure identical@xlib_size_hints
    takes
	xlib_size_hints1 xlib_size_hints
	xlib_size_hints2 xlib_size_hints
    returns logical

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

    return xlib_size_hints1.address = xlib_size_hints2.address


procedure maximum_size_set@xlib_size_hints
    takes
	xlib_size_hints xlib_size_hints
	width unsigned
	height unsigned
    returns_nothing
    external xlib_size_hints__maximum_size_set

    #: This procedure will set the maximum window size fields in
    #, {xlib_size_hints} to {width} and {height} pixels.


procedure minimum_size_set@xlib_size_hints
    takes
	xlib_size_hints xlib_size_hints
	width unsigned
	height unsigned
    returns_nothing
    external xlib_size_hints__minimum_size_set

    #: This procedure will set the minimum window size fields in
    #, {xlib_size_hints} to {width} and {height} pixels.


procedure allocate@xlib_size_hints
    takes_nothing
    returns xlib_size_hints
    external xlib_size_hints__allocate

    #: This procedure will return an empty {xlib_size_hints} object.


procedure print@xlib_size_hints
    takes
	xlib_size_hints xlib_size_hints
	out_stream out_stream
    returns_nothing
    external xlib_size_hints__print

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


procedure resize_increments_set@xlib_size_hints
    takes
	xlib_size_hints xlib_size_hints
	width_increment unsigned
	height_increment unsigned
    returns_nothing
    external xlib_size_hints__resize_increments_set

    #: This procedure will set the increments that the window size
    #, will be resized by in {xlib_size_hints} to {width_increment}
    #, and {height_increment} pixels.


