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

FreeBSD Manual Pages

  
 
  

home | help
Tk_GetGC(3)		      Tk Library Procedures		     Tk_GetGC(3)

________________________________________________________________________________

NAME
     Tk_GetGC, Tk_FreeGC - maintain database of read-only graphics contexts

SYNOPSIS
     #include <tk.h>

     GC
     Tk_GetGC(tkwin, valueMask, valuePtr)

     Tk_FreeGC(display, gc)

ARGUMENTS
     Tk_Window tkwin (in)		   Token  for window in which the graph-
					   ics context will be used.

     unsigned long valueMask (in)	   Mask of bits (such as GCForeground or
					   GCStipple) indicating which fields of
					   *valuePtr are valid.

     XGCValues *valuePtr (in)		   Pointer to structure  describing  the
					   desired  values for the graphics con-
					   text.

     Display *display (in)		   Display for which gc was allocated.

     GC gc (in) 			   X  identifier  for  graphics  context
					   that  is no longer needed.  Must have
					   been allocated by Tk_GetGC.
________________________________________________________________________________

DESCRIPTION
     Tk_GetGC and Tk_FreeGC manage a collection of graphics contexts being  used
     by  an  application.   The procedures allow graphics contexts to be shared,
     thereby avoiding the server overhead that would be incurred if  a	separate
     GC  were created for each use.  Tk_GetGC takes arguments describing the de-
     sired graphics context and returns an X identifier for a GC that  fits  the
     description.   The graphics context that is returned will have default val-
     ues in all of the fields not specified explicitly	by  valueMask  and  val-
     uePtr.

     Tk_GetGC  maintains a database of all the graphics contexts it has created.
     Whenever possible, a call to Tk_GetGC will return an existing graphics con-
     text rather than creating a new one.  This approach can  substantially  re-
     duce server overhead, so Tk_GetGC should generally be used in preference to
     the  Xlib procedure XCreateGC, which creates a new graphics context on each
     call.

     Since the return values of Tk_GetGC are shared, callers should never modify
     the graphics contexts returned by Tk_GetGC.  If a graphics context must  be
     modified  dynamically,  then  it should be created by calling XCreateGC in-
     stead of Tk_GetGC.

     When a graphics context is no longer needed, Tk_FreeGC should be called  to
     release it.  There should be exactly one call to Tk_FreeGC for each call to
     Tk_GetGC.	 When  a  graphics context is no longer in use anywhere (i.e. it
     has been freed as many times as it has been gotten) Tk_FreeGC will  release
     it to the X server and delete it from the database.

KEYWORDS
     graphics context

Tk								     Tk_GetGC(3)

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

home | help