Tk_GeometryRequest, Tk_SetInternalBorder - specify desired geometry or
internal border for a window
Tk_GeometryRequest(tkwin, reqWidth, reqHeight)
Tk_Window tkwin (in) Window for which geometry is being
int reqWidth (in) Desired width for tkwin, in pixel
int reqHeight (in) Desired height for tkwin, in pixel
int width (in) Space to leave for internal border
for tkwin, in pixel units.
Tk_GeometryRequest is called by widget code to indicate its preference
for the dimensions of a particular window. The arguments to
Tk_GeometryRequest are made available to the geometry manager for the
window, which then decides on the actual geometry for the window.
Although geometry managers generally try to satisfy requests made to
Tk_GeometryRequest, there is no guarantee that this will always be
possible. Widget code should not assume that a geometry request will be
satisfied until it receives a ConfigureNotify event indicating that the
geometry change has occurred. Widget code should never call procedures
like Tk_ResizeWindow directly. Instead, it should invoke
Tk_GeometryRequest and leave the final geometry decisions to the geometry
If tkwin is a top-level window, then the geometry information will be
passed to the window manager using the standard ICCCM protocol.
Tk_SetInternalBorder is called by widget code to indicate that the widget
has an internal border. This means that the widget draws a decorative
border inside the window instead of using the standard X borders, which
are external to the window's area. For example, internal borders are
used to draw 3-D effects. Width specifies the width of the border in
pixels. Geometry managers will use this information to avoid placing any
children of tkwin overlapping the outermost width pixels of tkwin's area.
The information specified in calls to Tk_GeometryRequest and
Tk_SetInternalBorder can be retrieved using the macros Tk_ReqWidth,
Tk_ReqHeight, and Tk_InternalBorderWidth. See the Tk_WindowId manual
entry for details.
PPPPaaaaggggeeee 2222 [ Back ]