XtMakeGeometryRequest(3Xt)	XT FUNCTIONS	   XtMakeGeometryRequest(3Xt)



NAME
  XtMakeGeometryRequest, XtMakeResizeRequest - 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

  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 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, XtMakeGeometry-
  Request 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 accept-
  able, 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 - C Language Interface
  Xlib - C Language X Interface