Returns the allowed widget size or may be NULL
if the requesting widget is not interested in handling
XtGeometryAlmost.
request
Specifies the desired widget geometry (size, position, border width,
and stacking order).
w
Specifies the widget that is making the request.
width_return
height_return
Return the allowed widget width and height.
DESCRIPTION
Depending on the condition,
XtMakeGeometryRequest
performs the following:
*
If the widget is unmanaged or the widget's parent is not realized,
it makes the changes and returns
XtGeometryYes.
*
If the parent is not a subclass of
compositeWidgetClass
or the parent's geometry_manager is NULL,
it issues an error.
*
If the widget's being_destroyed field is
True,
it returns
XtGeometryNo.
*
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.
*
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).
*
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.