XtMakeGeometryRequest, XtMakeResizeRequest - make geometry manager


       #include <X11/Intrinsic.h>

       XtGeometryResult XtMakeGeometryRequest(Widget w, XtWidgetGeometry
              *request, XtWidgetGeometry *reply_return);

       XtGeometryResult XtMakeResizeRequest(Widget w, Dimension width, Dimen-
              sion height, Dimension *width_return, Dimension *height_return);


                 Returns the allowed widget size or may be NULL if the
                 requesting widget is not interested in handling XtGeometryAl-

       request   Specifies the desired widget geometry (size, position, border
                 width, and stacking order).

       w         Specifies the widget that is making the request.

                 Return the allowed widget width and height.


       Depending on the condition, XtMakeGeometryRequest performs the follow-

       o    If the widget is unmanaged or the widget's parent is not realized,
            it makes the changes and returns XtGeometryYes.

       o    If the parent is not a subclass of compositeWidgetClass or the
            parent's geometry_manager is NULL, it issues an error.

       o    If the widget's being_destroyed field is True, it returns XtGeome-

       o    If the widget x, y, width, height and border_width fields are all
            equal to the requested values, it returns XtGeometryYes; other-
            wise, it calls the parent's geometry_manager procedure with the
            given parameters.

       o    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, loca-
            tion, and stacking order as appropriate).

       o    If the geometry manager returns XtGeometryDone, the change has
            been approved and actually has been done.  In this case, XtMake-
            GeometryRequest 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, XtMake-
       GeometryRequest always returns XtGeometryYes when called by a child of
       a primitive widget.

       The XtMakeResizeRequest function, a simple interface to XtMakeGeometry-
       Request, 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 XtMake-
       ResizeRequest 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

X Version 11                     libXt        XtMakeGeometryRequest(3)