Query: xcreategc
OS: hpux
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
XCreateGC() XCreateGC()
Name
XCreateGC - create a new graphics context for a given screen with the depth of the specified drawable.
Synopsis
GC XCreateGC(display, drawable, valuemask, values)
Display *display;
Drawable drawable;
unsigned long valuemask;
XGCValues *values;
Arguments
display Specifies a connection to an X server; returned from XOpenDisplay().
drawable Specifies a drawable. The created GC can only be used to draw in drawables of the same depth as this drawable.
valuemask Specifies which members of the GC are to be set using information in the values structure. valuemask is made by combining any
number of the mask symbols listed in the Structures section.
values Specifies a pointer to an XGCValues structure which will provide components for the new GC.
Returns
The created GC.
Description
XCreateGC() creates a new graphics context resource in the server. The returned GC can be used in subsequent drawing requests, but only on
drawables on the same screen and of the same depth as the drawable specified in the drawable argument.
The specified components of the new graphics context in valuemask are set to the values passed in the values argument. Unset components
default as follows:
Component Value
function GX copy
plane_mask all 1's
foreground 0
background 1
line_width 0
line_style LineSolid
cap_style CapButt
join_style JoinMiter
fill_style FillSolid
fill_rule EvenOddRule
arc_mode ArcPieSlice
tile Pixmap filled with foreground pixel
stipple Pixmap filled with 1's
ts_x_origin 0
ts_y_origin 0
font (implementation-dependent)
subwindow_mode ClipByChildren
graphics_exposures True
clip_x_origin 0
clip_y_origin 0
clip_mask None
dash_offset 0
dashes 4 (i.e., the list [4, 4])
An application should minimize the number of GCs it creates, because some servers cache a limited number of GCs in the display hardware,
and can attain better performance with a small number of GCs.
For more information, see Volume One, Chapter 5, The Graphics Context.
Errors
BadAlloc Server could not allocate memory for GC.
BadDrawable
Specified drawable is invalid.
BadFont Font specified for font component of GC has not been loaded.
BadMatch Pixmap specified for tile component has different depth or is on different screen from the specified drawable. Or pixmap speci-
fied for stipple or clip_mask component has depth other than 1.
BadPixmap Pixmap specified for tile, stipple, or clip_mask components is invalid.
BadValue Values specified for function, line_style, cap_style, join_style, fill_style, fill_rule, subwindow_mode, graphics_exposures,
dashes, or arc_mode are invalid, or invalid mask specified for valuemask argument.
Structures
typedef struct {
int function; /* logical operation */
unsigned long plane_mask; /* plane mask */
unsigned long foreground; /* foreground pixel */
unsigned long background; /* background pixel */
int line_width; /* line width */
int line_style; /* LineSolid, LineOnOffDash, LineDoubleDash */
int cap_style; /* CapNotLast, CapButt, CapRound, CapProjecting */
int join_style; /* JoinMiter, JoinRound, JoinBevel */
int fill_style; /* FillSolid, FillTiled, FillStippled */
int fill_rule; /* EvenOddRule, WindingRule */
int arc_mode; /* ArcPieSlice, ArcChord */
Pixmap tile; /* tile pixmap for tiling operations */
Pixmap stipple; /* stipple 1 plane pixmap for stipping */
int ts_x_origin; /* offset for tile or stipple operations */
int ts_y_origin;
Font font; /* default text font for text operations */
int subwindow_mode; /* ClipByChildren, IncludeInferiors */
Bool graphics_exposures; /* generate events on XCopyArea, XCopyPlane */
int clip_x_origin; /* origin for clipping */
int clip_y_origin;
Pixmap clip_mask; /* bitmap clipping; other calls for rects */
int dash_offset; /* patterned/dashed line information */
char dashes;
} XGCValues;
#define GCFunction (1L<<0)
#define GCPlaneMask (1L<<1)
#define GCForeground (1L<<2)
#define GCBackground (1L<<3)
#define GCLineWidth (1L<<4)
#define GCLineStyle (1L<<5)
#define GCCapStyle (1L<<6)
#define GCJoinStyle (1L<<7)
#define GCFillStyle (1L<<8)
#define GCFillRule (1L<<9)
#define GCTile (1L<<10)
#define GCStipple (1L<<11)
#define GCTileStipXOrigin (1L<<12)
#define GCTileStipYOrigin (1L<<13)
#define GCFont (1L<<14)
#define GCSubwindowMode (1L<<15)
#define GCGraphicsExposures (1L<<16)
#define GCClipXOrigin (1L<<17)
#define GCClipYOrigin (1L<<18)
#define GCClipMask (1L<<19)
#define GCDashOffset (1L<<20)
#define GCDashList (1L<<21)
#define GCArcMode (1L<<22)
See Also
XDefaultGC(), XChangeGC(), XCopyGC(), XFreeGC(), XGContextFromGC(), XGetGCValues(), XSetArcMode(), XSetBackground(), XSetClipMask(), XSet-
ClipOrigin(), XSetClipRectangles(), XSetDashes(), XSetFillRule(), XSetFillStyle(), XSetForeground(), XSetFunction(), XSetGraphicsExpo-
sures(), XSetLineAttributes(), XSetPlaneMask(), XSetState(), XSetStipple(), XSetSubwindowMode(), XSetTSOrigin().
Xlib - Graphics Context XCreateGC()