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 han-
		    dling XtGeometryAlmost.

	  request   Specifies the desired widget geometry (size, posi-
		    tion, 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:

	  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 XtGeometryNo.

	  o    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.

	  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, location,	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, 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(3Xt), XtQueryGeometery(3Xt)
	  X Toolkit Intrinsics - C Language Interface
	  Xlib - C Language X Interface















Acknowledgement and Disclaimer