*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> Tk/maintgeom (3)              


Tk_MaintainGeometry(3Tk)			      Tk_MaintainGeometry(3Tk)

NAME    [Toc]    [Back]

     Tk_MaintainGeometry, Tk_UnmaintainGeometry	- maintain geometry of one
     window relative to	another

SYNOPSIS    [Toc]    [Back]

     #include <tk.h>

     Tk_MaintainGeometry(slave,	master,	x, y, width, height)

     Tk_UnmaintainGeometry(slave, master)

ARGUMENTS    [Toc]    [Back]

     Tk_Window	 slave	  (in)	    Window whose geometry is to	be controlled.

     Tk_Window	 master	  (in)	    Window relative to which slave's geometry
				    will be controlled.

     int	 x	  (in)	    Desired x-coordinate of slave in master,
				    measured in	pixels from the	inside of
				    master's left border to the	outside	of
				    slave's left border.

     int	 y	  (in)	    Desired y-coordinate of slave in master,
				    measured in	pixels from the	inside of
				    master's top border	to the outside of
				    slave's top	border.

     int	 width	  (in)	    Desired width for slave, in	pixels.

     int	 height	  (in)	    Desired height for slave, in pixels.

DESCRIPTION    [Toc]    [Back]

     Tk_MaintainGeometry and Tk_UnmaintainGeometry make	it easier for geometry
     managers to deal with slaves whose	masters	are not	their parents.	Three
     problems arise if the master for a	slave is not its parent:

     (a)  The x- and y-position	of the slave must be translated	from the
	  coordinate system of the master to that of the parent	before
	  positioning the slave.

     (b)  If the master	window,	or any of its ancestors	up to the slave's
	  parent, is moved, then the slave must	be repositioned	within its
	  parent in order to maintain the correct position relative to the

     (c)  If the master	or one of its ancestors	is mapped or unmapped, then
	  the slave must be mapped or unmapped to correspond.

     None of these problems is an issue	if the parent and master are the same.
     For example, if the master	or one of its ancestors	is unmapped, the slave
     is	automatically removed by the screen by X.

									Page 1

Tk_MaintainGeometry(3Tk)			      Tk_MaintainGeometry(3Tk)

     Tk_MaintainGeometry deals with these problems for slaves whose masters
     aren't their parents.  Tk_MaintainGeometry	is typically called by a
     window manager once it has	decided	where a	slave should be	positioned
     relative to its master.  Tk_MaintainGeometry translates the coordinates
     to	the coordinate system of slave's parent	and then moves and resizes the
     slave appropriately.  Furthermore,	it remembers the desired position and
     creates event handlers to monitor the master and all of its ancestors up
     to	(but not including) the	slave's	parent.	 If any	of these windows is
     moved, mapped, or unmapped, the slave will	be adjusted so that it is
     mapped only when the master is mapped and its geometry relative to	the
     master remains as specified by x, y, width, and height.

     When a window manager relinquishes	control	over a window, or if it
     decides that it does not want the window to appear	on the screen under
     any conditions, it	calls Tk_UnmaintainGeometry.  Tk_UnmaintainGeometry
     unmaps the	window and cancels any previous	calls to Tk_MaintainGeometry
     for the master-slave pair,	so that	the slave's geometry and mapped	state
     are no longer maintained automatically.  Tk_UnmaintainGeometry need not
     be	called by a geometry manager if	the slave, the master, or any of the
     master's ancestors	is destroyed:  Tk will call it automatically.

     If	Tk_MaintainGeometry is called repeatedly for the same master-slave
     pair, the information from	the most recent	call supersedes	any older
     information.  If Tk_UnmaintainGeometry is called for a master-slave pair
     that is isn't currently managed, the call has no effect.

KEYWORDS    [Toc]    [Back]

     geometry manager, map, master, parent, position, slave, unmap

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
geomreq IRIX specify desired geometry or internal border for a window
managegeom IRIX arrange to handle geometry requests for a window
rdr IRIX relative draw
rmv IRIX relative move
rpmv IRIX relative polygon move
rpdr IRIX relative polygon draw
newtag IRIX creates a new tag within an object relative to an existing tag
csa_read_next_reminder HP-UX reads the next reminder of the given type in the specified calendar relative to a given time
rrspacing IRIX Returns the reciprocal of the relative spacing of numeric model numbers near the argument value
glClipPlane Tru64 specify a plane against which all geometry is clipped
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service