XtMakeGeometryRequest, XtMakeResizeRequest - make geometry manager request
#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);
- 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.
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.
XtConfigureWidget(3), XtQueryGeometery(3)
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface