Copyright (c) 1990-1994 The Regents of the University of California.
Copyright (c) 1994-1996 Sun Microsystems, Inc.
See the file "license.terms" for information on usage and redistribution
of this file, and for a DISCLAIMER OF ALL WARRANTIES.
SCCS: @(#) GeomReq.3 1.11 96/03/26 18:08:21
.so man.macros
#include <tk.h> Tk_GeometryRequest(tkwin, reqWidth, reqHeight) Tk_SetInternalBorder(tkwin, width)ARGUMENTS.AS baseHeight clientData .AP Tk_Window tkwin in Window for which geometry is being requested. .AP int reqWidth in Desired width for tkwin, in pixel units. .AP int reqHeight in Desired height for tkwin, in pixel units. .AP int width in Space to leave for internal border for tkwin, in pixel units. EDESCRIPTIONTk_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 manager.
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.
KEYWORDSgeometry, request