Copyright 1993 X Consortium

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of the X Consortium shall
not be used in advertising or otherwise to promote the sale, use or
other dealings in this Software without prior written authorization
from the X Consortium.

XtMakeGeometryRequest __libmansuffix__ __xorgversion__ "XT FUNCTIONS"
NAME
XtMakeGeometryRequest, XtMakeResizeRequest - make geometry manager request
SYNTAX
#include <X11/Intrinsic.h>

XtGeometryResult XtMakeGeometryRequest(Widget w, XtWidgetGeometry *request, XtWidgetGeometry *reply_return);

XtGeometryResult XtMakeResizeRequest(Widget w, Dimension width, Dimension height, Dimension *width_return, Dimension *height_return);

ARGUMENTS
reply_return 1i
Returns the allowed widget size or may be NULL if the requesting widget is not interested in handling XtGeometryAlmost .
request 1i
Specifies the desired widget geometry (size, position, border width, and stacking order).
w 1i
Specifies the widget that is making the request.
width_return 1i

.ns

height_return 1i
Return the allowed widget width and height.
DESCRIPTION
Depending on the condition, XtMakeGeometryRequest performs the following:
\(bu 5
If the widget is unmanaged or the widget's parent is not realized, it makes the changes and returns XtGeometryYes .
\(bu 5
If the parent is not a subclass of compositeWidgetClass or the parent's geometry_manager is NULL, it issues an error.
\(bu 5
If the widget's being_destroyed field is True , it returns XtGeometryNo .
\(bu 5
If the widget x, y, width, height and border_width fields are all equal to the requested values, it returns XtGeometryYes ; otherwise, it calls the parent's geometry_manager procedure with the given parameters.
\(bu 5
If the parent's geometry manager returns XtGeometryYes and if XtCWQueryOnly is not set in the request_mode and if the widget is realized, XtMakeGeometryRequest calls the XConfigureWindow Xlib function to reconfigure the widget's window (set its size, location, and stacking order as appropriate).
\(bu 5
If the geometry manager returns XtGeometryDone , the change has been approved and actually has been done. In this case, XtMakeGeometryRequest does no configuring and returns XtGeometryYes . XtMakeGeometryRequest never returns XtGeometryDone .

Otherwise, XtMakeGeometryRequest returns the resulting value from the parent's geometry manager.

Children of primitive widgets are always unmanaged; thus, XtMakeGeometryRequest always returns XtGeometryYes when called by a child of a primitive widget.

The XtMakeResizeRequest function, a simple interface to XtMakeGeometryRequest , creates a XtWidgetGeometry structure and specifies that width and height should change. The geometry manager is free to modify any of the other window attributes (position or stacking order) to satisfy the resize request. If the return value is XtGeometryAlmost , width_return and height_return contain a compromise width and height. If these are acceptable, the widget should immediately make an XtMakeResizeRequest and request that the compromise width and height be applied. If the widget is not interested in XtGeometryAlmost replies, it can pass NULL for width_return and height_return.

"SEE ALSO"
XtConfigureWidget(__libmansuffix__), XtQueryGeometery(__libmansuffix__)

\*(xT

\*(xL