NAME
XtMakeGeometryRequest, XtMakeResizeRequest - make geometry manager request
SYNTAX
XtGeometryResult
XtMakeGeometryRequest(Widget w, XtWidgetGeometry * request,
XtWidgetGeometry * reply_return);
XtGeometryResult
XtMakeResizeRequest(Widget w, Dimension width, height,
Dimension * width_return, Dimension *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
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(3), XtQueryGeometery(3)
X Toolkit Intrinsics - C Language Interface
Xlib - C Language X Interface