'\"
'\" 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.
'\" 
'\" 
'\" RCS: @(#) $Id: GeomReq.3,v 1.2 1998/09/14 18:22:48 stanton Exp $
'\" 
.so man.macros
.TH Tk_GeometryRequest 3 "" Tk "Tk Library Procedures"
.BS
.SH NAME
Tk_GeometryRequest, Tk_SetInternalBorder \- specify desired geometry or internal border for a window
.SH SYNOPSIS
.nf
\fB#include <tk.h>\fR
.sp
\fBTk_GeometryRequest\fR(\fItkwin, reqWidth, reqHeight\fR)
.sp
\fBTk_SetInternalBorder\fR(\fItkwin, width\fR)
.SH ARGUMENTS
.AS baseHeight clientData
.AP Tk_Window tkwin in
Window for which geometry is being requested.
.AP int reqWidth in
Desired width for \fItkwin\fR, in pixel units.
.AP int reqHeight in
Desired height for \fItkwin\fR, in pixel units.
.AP int width in
Space to leave for internal border for \fItkwin\fR, in pixel units.
.BE

.SH DESCRIPTION
.PP
\fBTk_GeometryRequest\fR is called by widget code to indicate its
preference for the dimensions of a particular window.  The arguments
to \fBTk_GeometryRequest\fR 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 \fBTk_GeometryRequest\fR, 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
\fBConfigureNotify\fR event indicating that the geometry change has
occurred.  Widget code should never call procedures like
\fBTk_ResizeWindow\fR directly.  Instead, it should invoke
\fBTk_GeometryRequest\fR and leave the final geometry decisions to
the geometry manager.
.PP
If \fItkwin\fR is a top-level window, then the geometry information
will be passed to the window manager using the standard ICCCM protocol.
.PP
\fBTk_SetInternalBorder\fR 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.  \fIWidth\fR
specifies the width of the border in pixels.  Geometry managers will
use this information to avoid placing any children of \fItkwin\fR
overlapping the outermost \fIwidth\fR pixels of \fItkwin\fR's area.
.PP
The information specified in calls to \fBTk_GeometryRequest\fR and
\fBTk_SetInternalBorder\fR can be retrieved using the macros
\fBTk_ReqWidth\fR, \fBTk_ReqHeight\fR, and \fBTk_InternalBorderWidth\fR.
See the \fBTk_WindowId\fR manual entry for details.

.SH KEYWORDS
geometry, request
