logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Ttk_MakeBox, Ttk_PadBox, Ttk_ExpandBox, Ttk_PackBox, Ttk_StickBox, Ttk_PlaceBox, Ttk_BoxContains,

Arguments

       Tk_Anchor anchor (in)                     One  of  the symbolic constants TK_ANCHOR_N, TK_ANCHOR_NE, etc.
                                                 See Tk_GetAnchorFromObj(3tk).

       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)                          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
                                                 enumerated value or bitmask.  Internal rep may be  be  modified
                                                 to cache corresponding 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, allocated 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  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(3tk).

       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  structure  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 specified by padding.

       Ttk_ExpandBox is the inverse of Ttk_PadBox: it returns  a  new  box  surrounding  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 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.

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 “lefttoprightbottom”.  If fewer than four
       elements  are  specified,  bottom defaults to top, right defaults to left, and top defaults to left.  See
       Tk_GetPixelsFromObj(3tk) 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.

Keywords

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

Tk                                                     8.5                                         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_GetBorderFromObj, Ttk_GetStickyFromObj - Tk themed geometry utilities

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

See Also

Tk_GetReliefFromObj(3tk), Tk_GetPixelsFromObj(3tk), Tk_GetAnchorFromObj(3tk)

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);

See Also