FreeBSD Manual Pages
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_Ad- dPadding, Ttk_RelievePadding, Ttk_GetPaddingFromObj, Ttk_GetBorderFromObj, 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_GetAnchorFromObj(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 re- gion. short bottom (in) Extra padding (in pixels) to add to the bottom of a region. Ttk_Box box (in) Specifies a rectangular region. Ttk_Box * box_rtn (out) A rectangular region. int height (in) The height in pixels of a region. Tcl_Interp * interp (in) Used to store error messages. int left (in) Extra padding (in pixels) to add to the left side of a region. Tcl_Obj * objPtr (in) String value contains a symbolic name to be converted to an enu- merated value or bitmask. Inter- nal rep may be be modified to cache corresponding value. Ttk_Padding padding (in) Extra padding to add on the in- side of a region. Ttk_Padding * padding_rtn (out) Padding present in the inside of a region. Ttk_Box parcel (in) A rectangular region, allocated from a cavity. int relief (in) One of the standard Tk relief op- tions (TK_RELIEF_RAISED, TK_RE- LIEF_SUNKEN, etc.). See Tk_Ge- tReliefFromObj. 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 bottom). 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 synonym for (TTK_FILL_X|TTK_FILL_Y). See also: grid(n). Tk_Window tkwin (in) Window whose screen geometry de- termines the conversion between absolute units and pixels. short top (in) Extra padding at the top of a re- gion. int width (in) The width in pixels of a region. 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 structure representing a region width pixels wide, height pixels tall, at the speci- fied x, y coordinates. Ttk_PadBox returns a new box located inside the specified parcel, shrunken according to the left, top, right, and bottom margins specified by padding. Ttk_ExpandBox is the inverse of Ttk_PadBox: it returns a new box surround- ing 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 specified 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 parcel on the specified side of the cavity, places a box of the requested size in- side 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 rec- tangular 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 components 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 according 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 in- ner 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 struc- ture. The string representation is a list of up to four length specifica- tions "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 values 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)
NAME | SYNOPSIS | ARGUMENTS | BOXES | PADDDING | CONVERSION ROUTINES | SEE ALSO | KEYWORDS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=Ttk_MakePadding.tk86&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>
