Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Ttk_MakeBox (3tk)

Name

Ttk_MakeBox - Ttk_MakeBox, Ttk_PadBox, Ttk_ExpandBox, Ttk_PackBox, Ttk_StickBox, Ttk_PlaceBox, Ttk_BoxContains, Ttk_MakePadding, Ttk_UniformPadding, 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);

Description

Geometry(3tk)                  Tk Themed Widget                  Geometry(3tk)



______________________________________________________________________________

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
                                                 region.

       Ttk_Box box (in)

       Ttk_Box * box_rtn (out)                   Specifies    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  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)

       Ttk_Padding * padding_rtn (out)           Extra  padding  to add on 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    and
                                                 TTK_STICK_ALL  are   synonyms
                                                 for  (TTK_FILL_X|TTK_FILL_Y).
                                                 See also: grid(n).

       Tk_Window tkwin (in)                      Window whose screen  geometry
                                                 determines   the   conversion
                                                 between  absolute  units  and
                                                 pixels.

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

       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 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 pad-
       ding, 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-dependant 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.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | runtime/tk-8     |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

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

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



NOTES
       Source  code  for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This     software     was    built    from    source    available    at
       https://github.com/oracle/solaris-userland.   The  original   community
       source        was        downloaded        from         https://source-
       forge.net/projects/tcl/files/Tcl/8.6.7/tk8.6.7-src.tar.gz/download.

       Further information about this software can be found on the open source
       community website at https://www.tcl.tk/.



Tk                                    8.5                        Geometry(3tk)