XChangeGC()XChangeGC()NameXChangeGC – change the components of a given graphics context.
Synopsis
XChangeGC(display, gc, valuemask, values)
Display *display;
GC gc;
unsigned long valuemask;
XGCValues *values;
Arguments
display Specifies a connection to an X server; returned from
XOpenDisplay().
gc Specifies the graphics context.
valuemask Specifies the components in the graphics context that you
want to change. This argument is the bitwise OR of one or
more of the GC component masks.
values Specifies a pointer to the XGCValues structure.
DescriptionXChangeGC() changes any or all of the components of a GC. The value‐
mask specifies which components are to be changed; it is made by com‐
bining any number of the mask symbols listed in the Structures section
using bitwise OR ( ). The values structure contains the values to be
set. These two arguments operate just like they do in XCreateGC().
Changing the clip_mask overrides any previous XSetClipRectangles()
request for this GC. Changing the dash_offset or dashes overrides any
previous XSetDashes() request on this GC.
Since consecutive changes to the same GC are buffered, there is no per‐
formance advantage to using this routine over the routines that set
individual members of the GC.
Even if an error occurs, a subset of the components may have already
been altered. The order in which components are altered and verified
is server-dependent.
For more information, see Volume One, Chapter 5, The Graphics Context,
and Chapter 6, Drawing Graphics and Text.
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; /* ArcChord, ArcPieSlice */
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 XCopy, Area, 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)
Errors
BadAlloc
BadFont
BadGC
BadMatch
BadPixmap
BadValue
See AlsoXDefaultGC(), XCopyGC(), XCreateGC(), XFreeGC(), XGContextFromGC(),
XGetGCValues(), XSetArcMode(), XSetBackground(), XSetClipMask(), XSet‐
ClipOrigin(), XSetClipRectangles(), XSetDashes(), XSetFillRule(), XSet‐
FillStyle(), XSetForeground(), XSetFunction(), XSetGraphicsExposures(),
XSetLineAttributes(), XSetPlaneMask(), XSetRegion(), XSetState(), XSet‐
Stipple(), XSetSubwindowMode(), XSetTSOrigin().
Xlib - Graphics Context XChangeGC()