Tk_SetBackgroundFromBorder man page on BSDi

Man page or keyword search:  
man Server   6284 pages
apropos Keyword Search (all sections)
Output format
BSDi logo
[printable version]



Tk_Get3DBorder(3)     Tk Library Procedures	Tk_Get3DBorder(3)

_________________________________________________________________

NAME
       Tk_Get3DBorder,	 Tk_Draw3DRectangle,  Tk_Fill3DRectangle,
       Tk_Draw3DPolygon,  Tk_Fill3DPolygon,   Tk_3DVerticalBevel,
       Tk_3DHorizontalBevel,	      Tk_SetBackgroundFromBorder,
       Tk_NameOf3DBorder,    Tk_3DBorderColor,	   Tk_3DBorderGC,
       Tk_Free3DBorder	-  draw	 borders  with	three-dimensional
       appearance

SYNOPSIS
       #include <tk.h>

       Tk_3DBorder
       Tk_Get3DBorder(interp, tkwin, colorName)

       void
       Tk_Draw3DRectangle(tkwin, drawable, border, x, y, width, height, borderWidth, relief)

       void
       Tk_Fill3DRectangle(tkwin, drawable, border, x, y, width, height, borderWidth, relief)

       void
       Tk_Draw3DPolygon(tkwin, drawable, border, pointPtr, numPoints, polyBorderWidth, leftRelief)

       void
       Tk_Fill3DPolygon(tkwin, drawable, border, pointPtr, numPoints, polyBorderWidth, leftRelief)

       void
       Tk_3DVerticalBevel(tkwin, drawable, border, x, y, width, height, leftBevel, relief)

       void
       Tk_3DHorizontalBevel(tkwin, drawable, border, x, y, width, height, leftIn, rightIn, topBevel, relief)

       void
       Tk_SetBackgroundFromBorder(tkwin, border)

       char *
       Tk_NameOf3DBorder(border)

       XColor *
       Tk_3DBorderColor(border)

       GC *
       Tk_3DBorderGC(tkwin, border, which)

       Tk_Free3DBorder(border)

ARGUMENTS
       Tcl_Interp    *interp	   (in)	     Interpreter  to  use
					     for error reporting.

       Tk_Window     tkwin	   (in)	     Token   for   window
					     (for  all procedures

Tk			       4.0				1

Tk_Get3DBorder(3)     Tk Library Procedures	Tk_Get3DBorder(3)

					     except  Tk_Get3DBor-
					     der,   must  be  the
					     window for which the
					     border   was   allo-
					     cated).

       Tk_Uid	     colorName	   (in)	     Textual  description
					     of color correspond-
					     ing  to   background
					     (flat areas).  Illu-
					     minated  edges  will
					     be	  brighter   than
					     this  and	 shadowed
					     edges will be darker
					     than this.

       Drawable	     drawable	   (in)	     X token  for  window
					     or	  pixmap;   indi-
					     cates where graphics
					     are   to  be  drawn.
					     Must either be the X
					     window  for tkwin or
					     a	pixmap	with  the
					     same    screen   and
					     depth as tkwin.

       Tk_3DBorder   border	   (in)	     Token   for   border
					     previously allocated
					     in	     call      to
					     Tk_Get3DBorder.

       int	     x		   (in)	     X-coordinate      of
					     upper-left corner of
					     rectangle describing
					     border or bevel,  in
					     pixels.

       int	     y		   (in)	     Y-coordinate      of
					     upper-left corner of
					     rectangle describing
					     border or bevel,  in
					     pixels.

       int	     width	   (in)	     Width  of	rectangle
					     describing border or
					     bevel, in pixels.

       int	     height	   (in)	     Height  of rectangle
					     describing border or
					     bevel, in pixels.

       int	     borderWidth   (in)	     Width  of	border in
					     pixels.	 Positive
					     means    border   is

Tk			       4.0				2

Tk_Get3DBorder(3)     Tk Library Procedures	Tk_Get3DBorder(3)

					     inside	rectangle
					     given   by	  x,   y,
					     width, height, nega-
					     tive means border is
					     outside rectangle.

       int	     relief	   (in)	     Indicates 3-D  posi-
					     tion  of interior of
					     object  relative  to
					     exterior;	should be
					     TK_RELIEF_RAISED,
					     TK_RELIEF_SUNKEN,
					     TK_RELIEF_GROOVE, or
					     TK_RELIEF_RIDGE (may
					     also	       be
					     TK_RELIEF_FLAT   for
					     Tk_Fill3DRectangle).

       XPoint	     *pointPtr	   (in)	     Pointer  to array of
					     points    describing
					     the  set of vertices
					     in a  polygon.   The
					     polygon  need not be
					     closed (it	 will  be
					     closed automatically
					     if it isn't).

       int	     numPoints	   (in)	     Number of points  at
					     *pointPtr.

       int	     polyBorderWidth(in)     Width  of	border in
					     pixels.   If   posi-
					     tive,    border   is
					     drawn  to	left   of
					     trajectory	 given by
					     pointPtr;	if  nega-
					     tive,    border   is
					     drawn  to	right  of
					     trajectory.       If
					     leftRelief	       is
					     TK_RELIEF_GROOVE  or
					     TK_RELIEF_RIDGE then
					     the  border  is cen-
					     tered on the trajec-
					     tory.

       int	     leftRelief	   (in)	     Height  of left side
					     of	 polygon's   path
					     relative  to  right.
					     TK_RELIEF_RAISED
					     means    left   side
					     should appear higher
					     and TK_RELIEF_SUNKEN
					     means   right   side

Tk			       4.0				3

Tk_Get3DBorder(3)     Tk Library Procedures	Tk_Get3DBorder(3)

					     should	   appear
					     higher;
					     TK_RELIEF_GROOVE and
					     TK_RELIEF_RIDGE mean
					     the  obvious things.
					     For   Tk_Fill3DPoly-
					     gon,  TK_RELIEF_FLAT
					     may also  be  speci-
					     fied  to indicate no
					     difference	       in
					     height.

       int	     leftBevel	   (in)	     Non-zero  means this
					     bevel forms the left
					     side  of the object;
					     zero means it  forms
					     the right side.

       int	     leftIn	   (in)	     Non-zero  means that
					     the left edge of the
					     horizontal	    bevel
					     angles in,	 so  that
					     the  bottom  of  the
					     edge is  farther  to
					     the  right	 than the
					     top.  Zero means the
					     edge  angles out, so
					     that the  bottom  is
					     farther  to the left
					     than the top.

       int	     rightIn	   (in)	     Non-zero means  that
					     the  right	 edge  of
					     the horizontal bevel
					     angles  in,  so that
					     the  bottom  of  the
					     edge  is  farther to
					     the  left	than  the
					     top.  Zero means the
					     edge angles out,  so
					     that  the	bottom is
					     farther to the right
					     than the top.

       int	     topBevel	   (in)	     Non-zero  means this
					     bevel forms the  top
					     side  of the object;
					     zero means it  forms
					     the bottom side.

       int	     which	   (in)	     Specifies	which  of
					     the border's  graph-
					     ics    contexts   is
					     desired.	Must   be

Tk			       4.0				4

Tk_Get3DBorder(3)     Tk Library Procedures	Tk_Get3DBorder(3)

					     TK_3D_FLAT_GC,
					     TK_3D_LIGHT_GC,   or
					     TK_3D_DARK_GC.
_________________________________________________________________

DESCRIPTION
       These  procedures  provide  facilities  for drawing window
       borders in a way that produces a three-dimensional appear-
       ance.   Tk_Get3DBorder allocates colors and Pixmaps needed
       to draw a border in the window given by	the  tkwin  argu-
       ment.  The colorName argument indicates what colors should
       be used in the border.  ColorName may be any value accept-
       able  to	 Tk_GetColor.	The  color indicated by colorName
       will not actually be used in the border;	 it indicates the
       background  color  for  the  window (i.e. a color for flat
       surfaces).  The illuminated portions of	the  border  will
       appear brighter than indicated by colorName, and the shad-
       owed portions of the border will appear darker than color-
       Name.

       Tk_Get3DBorder  returns	a token that may be used in later
       calls to Tk_Draw3DRectangle.  If an error occurs in  allo-
       cating  information for the border (e.g. colorName isn't a
       legal color specifier), then NULL is returned and an error
       message is left in interp->result.

       Once a border structure has been created, Tk_Draw3DRectan-
       gle may be invoked to draw the border.  The tkwin argument
       specifies  the  window for which the border was allocated,
       and drawable specifies a window or  pixmap  in  which  the
       border  is  to  be  drawn.  Drawable need not refer to the
       same window as tkwin, but it must refer	to  a  compatible
       pixmap or window:  one associated with the same screen and
       with the same depth as tkwin.  The x, y, width, and height
       arguments  define  the  bounding	 box of the border region
       within drawable (usually x and y are zero  and  width  and
       height  are the dimensions of the window), and borderWidth
       specifies the number of pixels actually	occupied  by  the
       border.	 The  relief  argument indicates which of several
       three-dimensional  effects  is  desired:	 TK_RELIEF_RAISED
       means  that  the	 interior  of the rectangle should appear
       raised relative to the  exterior	 of  the  rectangle,  and
       TK_RELIEF_SUNKEN	 means	that  the  interior should appear
       depressed.  TK_RELIEF_GROOVE and TK_RELIEF_RIDGE mean that
       there  should  appear  to  be a groove or ridge around the
       exterior of the rectangle.

       Tk_Fill3DRectangle  is  somewhat	 like  Tk_Draw3DRectangle
       except  that  it first fills the rectangular area with the
       background color (one corresponding to the colorName  used
       to  create  border).   Then it calls Tk_Draw3DRectangle to
       draw a border just inside the outer edge of the	rectangu-
       lar  area.   The	 argument  relief  indicates  the desired

Tk			       4.0				5

Tk_Get3DBorder(3)     Tk Library Procedures	Tk_Get3DBorder(3)

       effect (TK_RELIEF_FLAT means no border  should  be  drawn;
       all  that  happens is to fill the rectangle with the back-
       ground color).

       The procedure Tk_Draw3DPolygon may be used  to  draw  more
       complex	shapes	with a three-dimensional appearance.  The
       pointPtr and  numPoints	arguments  define  a  trajectory,
       polyBorderWidth	indicates  how	wide the border should be
       (and on which side of the  trajectory  to  draw	it),  and
       leftRelief  indicates  which side of the trajectory should
       appear raised.  Tk_Draw3DPolygon draws a border around the
       given trajectory using the colors from border to produce a
       three-dimensional appearance.  If the trajectory	 is  non-
       self-intersecting,  the	appearance  will  be  a raised or
       sunken polygon shape.  The trajectory may  be  self-inter-
       secting, although it's not clear how useful this is.

       Tk_Fill3DPolygon	    is	   to	 Tk_Draw3DPolygon    what
       Tk_Fill3DRectangle is to Tk_Draw3DRectangle:  it fills the
       polygonal area with the background color from border, then
       calls Tk_Draw3DPolygon to draw a border	around	the  area
       (unless	leftRelief  is	TK_RELIEF_FLAT;	  in this case no
       border is drawn).

       The procedures Tk_3DVerticalBevel and Tk_3DHorizontalBevel
       provide	lower-level  drawing  primitives that are used by
       procedures such as Tk_Draw3DRectangle.	These  procedures
       are also useful in their own right for drawing rectilinear
       border  shapes.	 Tk_3DVerticalBevel  draws   a	 vertical
       beveled	edge, such as the left or right side of a rectan-
       gle, and Tk_3DHorizontalBevel draws a  horizontal  beveled
       edge, such as the top or bottom of a rectangle.	Each pro-
       cedure takes  x,	 y,  width,  and  height  arguments  that
       describe	 the  rectangular area of the beveled edge (e.g.,
       width is the border width  for  Tk_3DVerticalBevel).   The
       leftBorder  and	topBorder arguments indicate the position
       of the border relative to the ``inside''	 of  the  object,
       and  relief  indicates  the  relief  of	the inside of the
       object relative to the outside.	 Tk_3DVerticalBevel  just
       draws  a rectangular region.  Tk_3DHorizontalBevel draws a
       trapezoidal region to generate mitered corners;	it should
       be  called after Tk_3DVerticalBevel (otherwise Tk_3DVerti-
       calBevel will overwrite the mitering in the corner).   The
       leftIn	and  rightIn  arguments	 to  Tk_3DHorizontalBevel
       describe the mitering at the corners;  a value of 1  means
       that the bottom edge of the trapezoid will be shorter than
       the top, 0 means it will be longer.  For example, to  draw
       a  rectangular border the top bevel should be drawn with 1
       for both leftIn and rightIn, and the bottom  bevel  should
       be drawn with 0 for both arguments.

       The  procedure  Tk_SetBackgroundFromBorder will modify the
       background pixel and/or	pixmap	of  tkwin  to  produce	a
       result  compatible  with	 border.  For color displays, the

Tk			       4.0				6

Tk_Get3DBorder(3)     Tk Library Procedures	Tk_Get3DBorder(3)

       resulting background will just be the color given  by  the
       colorName  argument  passed  to Tk_Get3DBorder when border
       was created;  for monochrome displays, the resulting back-
       ground  will  be a light stipple pattern, in order to dis-
       tinguish the background from the	 illuminated  portion  of
       the border.

       Given  a token for a border, the procedure Tk_NameOf3DBor-
       der will return the colorName string that  was  passed  to
       Tk_Get3DBorder to create the border.

       The  procedure  Tk_3DBorderColor returns the XColor struc-
       ture that will be used for flat	surfaces  drawn	 for  its
       border  argument	 by  procedures	 like Tk_Fill3DRectangle.
       The return value corresponds to the  colorName  passed  to
       Tk_Get3DBorder.	 The  XColor,  and  its	 associated pixel
       value, will remain allocated as long as border exists.

       The procedure Tk_3DBorderGC returns one of the X	 graphics
       contexts	 that  are used to draw the border.  The argument
       which selects  which  one  of  the  three  possible  GC's:
       TK_3D_FLAT_GC  returns the context used for flat surfaces,
       TK_3D_LIGHT_GC returns the context for light shadows,  and
       TK_3D_DARK_GC returns the context for dark shadows.

       When  a border is no longer needed, Tk_Free3DBorder should
       be called to release the	 resources  associated	with  the
       border.	There should be exactly one call to Tk_Free3DBor-
       der for each call to Tk_Get3DBorder.

KEYWORDS
       3D, background, border,	color,	depressed,  illumination,
       polygon, raised, shadow, three-dimensional effect

Tk			       4.0				7

[top]

List of man pages available for BSDi

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net