XtMakeGeometryRequest(3Xt) XtMakeGeometryRequest(3Xt)
NAME
XtMakeGeometryRequest, XtMakeResizeRequest - make
geometry manager request
SYNOPSIS
XtGeometryResult XtMakeGeometryRequest(w, request,
reply_return)
Widget w;
XtWidgetGeometry *request;
XtWidgetGeometry *reply_return;
XtGeometryResult XtMakeResizeRequest(w, width, height,
width_return, height_return)
Widget w;
Dimension width, height;
Dimension *width_return, *height_return
ARGUMENTS
reply_return
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
- 1 -
XtMakeGeometryRequest(3Xt) XtMakeGeometryRequest(3Xt)
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.
SEE ALSO
XtConfigureWidget(3Xt), XtQueryGeometery(3Xt)
X Toolkit Intrinsics Programming Manual
Xlib Programming Manual
- 2 -