XtMakeGeometryRequest(Xt) 6 January 1993 XtMakeGeometryRequest(Xt)
X Version 11 (Release 5)
Name
XtMakeGeometryRequest - make geometry manager request
Syntax
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
replyreturn
Returns the allowed widget size or may be NULL if the
requesting widget is not interested in handling XtGeometryAl-
most.
request Specifies the desired widget geometry (size, position, border
width, and stacking order).
w Specifies the widget that is making the request.
widthreturn,
heightreturn
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 parame-
ters.
+ 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 func-
tion 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, XtMakeGeometry-
Request does no configuring and returns XtGeometryYes. XtMake-
GeometryRequest never returns XtGeometryDone.
Otherwise, XtMakeGeometryRequest returns the resulting value from the
parent's geometry manager.
Children of primitive widgets are always unmanaged; thus, XtMake-
GeometryRequest always returns XtGeometryYes when called by a child of a
primitive widget.
The XtMakeResizeRequest function, a simple interface to XtMake-
GeometryRequest, 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,
widthreturn and heightreturn contain a compromise width and height. If
these are acceptable, the widget should immediately make an XtMakeResiz-
eRequest and request that the compromise width and height be applied. If
the widget is not interested in XtGeometryAlmost replies, it can pass
NULL for widthreturn and heightreturn.
See also
XtConfigureWidget(Xt) and XtQueryGeometry(Xt).
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface