Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Tk_MaintainGeometry(3)	     Tk	Library	Procedures	Tk_MaintainGeometry(3)

______________________________________________________________________________

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

SYNOPSIS
       #include	<tk.h>

       Tk_MaintainGeometry(window, container, x, y, width, height)

       Tk_UnmaintainGeometry(window, container)

ARGUMENTS
       Tk_Window window	(in)		 Window	whose geometry is to  be  con-
					 trolled.

       Tk_Window container (in)		 Window	 relative  to  which  window's
					 geometry will be controlled.

       int x (in)			 Desired  x-coordinate	of  window  in
					 container,  measured  in  pixels from
					 the inside of container's left	border
					 to the	outside	of window's left  bor-
					 der.

       int y (in)			 Desired  y-coordinate	of  window  in
					 container, measured  in  pixels  from
					 the  inside of	container's top	border
					 to the	outside	of window's  top  bor-
					 der.

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

       int height (in)			 Desired height	for window, in pixels.
______________________________________________________________________________

DESCRIPTION
       Tk_MaintainGeometry and Tk_UnmaintainGeometry make it easier for	geome-
       try  managers  to deal with windows whose containers are	not their par-
       ents.  Three problems arise if the container for	a window  is  not  its
       parent:

       [1]    The  x- and y-position of	the window must	be translated from the
	      coordinate system	of the container to that of the	parent	before
	      positioning the window.

       [2]    If  the container	window,	or any of its ancestors	up to the win-
	      dow's parent, is moved, then the	window	must  be  repositioned
	      within its parent	in order to maintain the correct position rel-
	      ative to the container.

       [3]    If  the container	or one of its ancestors	is mapped or unmapped,
	      then the window must be mapped or	unmapped to correspond.

       None of these problems is an issue if the parent	and container are  the
       same.   For  example,  if  the container	or one of its ancestors	is un-
       mapped, the window is automatically removed by the screen by X.

       Tk_MaintainGeometry deals with these problems for  windows  whose  con-
       tainers	are not	their parents, as well as handling the simpler case of
       windows whose container are their parents.  Tk_MaintainGeometry is typ-
       ically called by	a window manager once it has decided  where  a	window
       should  be  positioned  relative	to its container.  Tk_MaintainGeometry
       translates the coordinates to the coordinate system of window's	parent
       and  then  moves	and resizes the	window appropriately.  Furthermore, it
       remembers the desired position and creates event	 handlers  to  monitor
       the  container  and  all	of its ancestors up to (but not	including) the
       window's	parent.	 If any	of these windows  is  moved,  mapped,  or  un-
       mapped,	the window will	be adjusted so that it is mapped only when the
       container is mapped and its geometry relative to	the container  remains
       as specified by x, y, width, and	height.

       When  a window manager relinquishes control over	a window, or if	it de-
       cides 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 container-window	pair, so that the window's geometry and	mapped
       state are no longer  maintained	automatically.	 Tk_UnmaintainGeometry
       need  not be called by a	geometry manager if the	window,	the container,
       or any of the container's ancestors is destroyed:  Tk will call it  au-
       tomatically.

       If Tk_MaintainGeometry is called	repeatedly for the same	container-win-
       dow  pair,  the	information  from  the most recent call	supersedes any
       older information.  If  Tk_UnmaintainGeometry  is  called  for  a  con-
       tainer-window  pair  that  is is	not currently managed, the call	has no
       effect.

KEYWORDS
       geometry	manager, map, container, parent, position, window, unmap

Tk				      4.0		Tk_MaintainGeometry(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Tk_UnmaintainGeometry.tk86&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help