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

FreeBSD Manual Pages

  
 
  

home | help
Geometry(3)		       Tk Themed Widget			   Geometry(3)

______________________________________________________________________________

NAME
       Ttk_MakeBox,   Ttk_PadBox,  Ttk_ExpandBox,  Ttk_PackBox,	 Ttk_StickBox,
       Ttk_PlaceBox,  Ttk_BoxContains,	Ttk_MakePadding,   Ttk_UniformPadding,
       Ttk_AddPadding,	Ttk_RelievePadding, Ttk_GetPaddingFromObj, Ttk_GetBor-
       derFromObj, Ttk_GetStickyFromObj	- Tk themed geometry utilities

SYNOPSIS
       #include	<tkTheme.h>

       Ttk_Box
       Ttk_MakeBox(int x, int y, int width, int	height);

       Ttk_Box
       Ttk_PadBox(Ttk_Box parcel, Ttk_Padding padding);

       Ttk_Box
       Ttk_ExpandBox(Ttk_Box parcel, Ttk_Padding padding);

       Ttk_Box
       Ttk_PackBox(Ttk_Box *cavity, int	width, int height, Ttk_Side side);

       Ttk_Box
       Ttk_StickBox(Ttk_Box parcel, int	width, int height, unsigned sticky);

       Ttk_Box
       Ttk_PlaceBox(Ttk_Box *cavity, int width,	int height, Ttk_Side side, unsigned sticky);

       Ttk_Box
       Ttk_AnchorBox(Ttk_Box parcel, int width,	int height, Tk_Anchor anchor);

       Ttk_Padding
       Ttk_MakePadding(short left, short top, short right, short bottom);

       Ttk_Padding
       Ttk_UniformPadding(short	border);

       Ttk_Padding
       Ttk_AddPadding(Ttk_Padding padding1, Ttk_Padding	padding2;

       Ttk_Padding
       Ttk_RelievePadding(Ttk_Padding padding, int relief);

       int
       Ttk_BoxContains(Ttk_Box box, int	x, int y);

       int
       Ttk_GetPaddingFromObj(Tcl_Interp	*interp, Tk_Window tkwin, Tcl_Obj *objPtr, Ttk_Padding *padding_rtn);

       int
       Ttk_GetBorderFromObj(Tcl_Interp *interp,	Tcl_Obj	*objPtr, Ttk_Padding *padding_rtn);

       int
       Ttk_GetStickyFromObj(Tcl_Interp *interp,	Tcl_Obj	*objPtr, int *sticky_rtn);

ARGUMENTS
       Tk_Anchor anchor	(in)			 One of	the symbolic constants
						 TK_ANCHOR_N,	 TK_ANCHOR_NE,
						 etc.	 See  Tk_GetAnchorFro-
						 mObj(3).

       Ttk_Box * cavity	(in/out)		 A  rectangular	 region	  from
						 which a parcel	is allocated.

       short border (in)			 Extra	padding	(in pixels) to
						 add uniformly to each side of
						 a region.

       short bottom (in)			 Extra padding (in pixels)  to
						 add  to  the  bottom of a re-
						 gion.

       Ttk_Box box (in)				 Specifies a  rectangular  re-
						 gion.

       Ttk_Box * box_rtn (out)			 A rectangular region.

       int height (in)				 The height in pixels of a re-
						 gion.

       Tcl_Interp * interp (in)			 Used to store error messages.

       int left	(in)				 Extra	padding	(in pixels) to
						 add to	the left side of a re-
						 gion.

       Tcl_Obj * objPtr	(in)			 String	value contains a  sym-
						 bolic name to be converted to
						 an  enumerated	 value or bit-
						 mask.	Internal rep may be be
						 modified to cache correspond-
						 ing value.

       Ttk_Padding padding (in)			 Extra padding to add  on  the
						 inside	of a region.

       Ttk_Padding * padding_rtn (out)		 Padding present in the	inside
						 of a region.

       Ttk_Box parcel (in)			 A  rectangular	 region, allo-
						 cated from a cavity.

       int relief (in)				 One of	the standard Tk	relief
						 options    (TK_RELIEF_RAISED,
						 TK_RELIEF_SUNKEN, etc.).  See
						 Tk_GetReliefFromObj.

       short right (in)				 Extra	padding	(in pixels) to
						 add to	the right  side	 of  a
						 region.

       Ttk_Side	side (in)			 One	 of	TTK_SIDE_LEFT,
						 TTK_SIDE_TOP, TTK_SIDE_RIGHT,
						 or TTK_SIDE_BOTTOM.

       unsigned	sticky (in)			 A bitmask containing  one  or
						 more  of the bits TTK_STICK_W
						 (west,	or left),  TTK_STICK_E
						 (east,	or right), TTK_STICK_N
						 (north,    or	  top),	   and
						 TTK_STICK_S (south,  or  bot-
						 tom).	 TTK_FILL_X is defined
						 as	a     synonym	   for
						 (TTK_STICK_W|TTK_STICK_E),
						 TTK_FILL_Y  is	 a synonym for
						 (TTK_STICK_N|TTK_STICK_S),
						 and  TTK_FILL_BOTH is a  syn-
						 onym			   for
						 (TTK_FILL_X|TTK_FILL_Y).  See
						 also: grid(n).

       Tk_Window tkwin (in)			 Window	whose screen  geometry
						 determines the	conversion be-
						 tween absolute	units and pix-
						 els.

       short top (in)				 Extra padding at the top of a
						 region.

       int width (in)				 The  width in pixels of a re-
						 gion.

       int x (in)				 X  coordinate	of  upper-left
						 corner	of region.

       int y (in)				 Y  coordinate	of  upper-left
						 corner	of region.
______________________________________________________________________________

BOXES
       The Ttk_Box structure represents	a rectangular region of	a window:
	      typedef struct {
		  int x;
		  int y;
		  int width;
		  int height;
	      }	Ttk_Box;
       All coordinates are relative to the window.

       Ttk_MakeBox is a	convenience routine that constructs a  Ttk_Box	struc-
       ture  representing  a  region width pixels wide,	height pixels tall, at
       the specified x,	y coordinates.

       Ttk_PadBox returns a new	 box  located  inside  the  specified  parcel,
       shrunken	 according  to the left, top, right, and bottom	margins	speci-
       fied by padding.

       Ttk_ExpandBox is	the inverse of Ttk_PadBox: it returns a	new  box  sur-
       rounding	 the  specified	 parcel, expanded  according to	the left, top,
       right, and bottom margins specified by padding.

       Ttk_PackBox allocates a parcel width by height pixels wide on the spec-
       ified side of the cavity, and shrinks the cavity	accordingly.

       Ttk_StickBox places a box with the requested width  and	height	inside
       the parcel according to the sticky bits.

       Ttk_PlaceBox combines Ttk_PackBox and Ttk_StickBox: it allocates	a par-
       cel  on the specified side of the cavity, places	a box of the requested
       size inside the parcel according	to sticky, and shrinks the cavity.

       Ttk_AnchorBox places a box with the requested width and	height	inside
       the parcel according to the specified anchor option.

       Ttk_BoxContains	tests if the specified x, y coordinate lies within the
       rectangular region box.

PADDDING
       The Ttk_Padding	structure  is  used  to	 represent  borders,  internal
       padding,	and external margins:
	      typedef struct {
		  short	left;
		  short	top;
		  short	right;
		  short	bottom;
	      }	Ttk_Padding;

       Ttk_MakePadding	is a convenience routine that constructs a Ttk_Padding
       structure with the specified left, top, right, and bottom components.

       Ttk_UniformPadding constructs a Ttk_Padding structure with  all	compo-
       nents equal to the specified border.

       Ttk_AddPadding  adds  two  Ttk_Paddings together	and returns a combined
       padding containing the sum of the individual padding components.

       Ttk_RelievePadding adds an extra	2 pixels of padding to padding accord-
       ing to the specified relief.  If	relief is TK_RELIEF_SUNKEN,  adds  two
       pixels  at  the top and left so the inner region	is shifted down	and to
       the left.  If it	is TK_RELIEF_RAISED, adds two pixels at	the bottom and
       right so	the inner region is shifted up and to the  right.   Otherwise,
       adds  1 pixel on	all sides.  This is typically used in element geometry
       procedures to simulate a	"pressed-in" look for pushbuttons.

CONVERSION ROUTINES
       Ttk_GetPaddingFromObj converts the string in objPtr  to	a  Ttk_Padding
       structure.   The	 string	 representation	is a list of up	to four	length
       specifications "left top	right bottom".	If fewer  than	four  elements
       are  specified, bottom defaults to top, right defaults to left, and top
       defaults	to left.  See Tk_GetPixelsFromObj(3) for the syntax of	length
       specifications.

       Ttk_GetBorderFromObj  is	 the same as Ttk_GetPaddingFromObj except that
       the lengths are specified as integers (i.e., resolution-dependent  val-
       ues like	3m are not allowed).

       Ttk_GetStickyFromObj converts the string	in objPtr to a sticky bitmask.
       The string contains zero	or more	of the characters n, s,	e, or w.

SEE ALSO
       Tk_GetReliefFromObj(3), Tk_GetPixelsFromObj(3), Tk_GetAnchorFromObj(3)

KEYWORDS
       geometry, padding, margins, box,	region,	sticky,	relief

Tk				      8.5			   Geometry(3)

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

home | help