1xcb_change_gc(3)                 XCB Requests                 xcb_change_gc(3)
2
3
4

NAME

6       xcb_change_gc - change graphics context components
7

SYNOPSIS

9       #include <xcb/xproto.h>
10
11   Request function
12       xcb_void_cookie_t xcb_change_gc(xcb_connection_t *conn,
13              xcb_gcontext_t gc, uint32_t value_mask, const void *value_list);
14

REQUEST ARGUMENTS

16       conn      The XCB connection to X11.
17
18       gc        The graphics context to change.
19
20       value_mask
21                 One of the following values:
22
23                 XCB_GC_FUNCTION
24                           TODO: Refer to GX
25
26                 XCB_GC_PLANE_MASK
27                           In graphics operations, given a source and destina‐
28                           tion pixel, the result is computed bitwise on cor‐
29                           responding bits of the pixels; that is, a Boolean
30                           operation is performed in each bit plane. The
31                           plane-mask restricts the operation to a subset of
32                           planes, so the result is:
33
34                                   ((src FUNC dst) AND plane-mask) OR (dst AND
35                           (NOT plane-mask))
36
37                 XCB_GC_FOREGROUND
38                           Foreground colorpixel.
39
40                 XCB_GC_BACKGROUND
41                           Background colorpixel.
42
43                 XCB_GC_LINE_WIDTH
44                           The line-width is measured in pixels and can be
45                           greater than or equal to one, a wide line, or the
46                           special value zero, a thin line.
47
48                 XCB_GC_LINE_STYLE
49                           The line-style defines which sections of a line are
50                           drawn: Solid                The full path of the
51                           line is drawn.  DoubleDash           The full path
52                           of the line is drawn, but the even dashes are
53                           filled differently
54                                                than the odd dashes (see fill-
55                           style), with Butt cap-style used where even and
56                                                odd dashes meet.  OnOffDash
57                           Only the even dashes are drawn, and cap-style ap‐
58                           plies to all internal ends of
59                                                the individual dashes (except
60                           NotLast is treated as Butt).
61
62                 XCB_GC_CAP_STYLE
63                           The cap-style defines how the endpoints of a path
64                           are drawn: NotLast    The result is equivalent to
65                           Butt, except that for a line-width of zero the fi‐
66                           nal
67                                      endpoint is not drawn.  Butt       The
68                           result is square at the endpoint (perpendicular to
69                           the slope of the line)
70                                      with no projection beyond.  Round
71                           The result is a circular arc with its diameter
72                           equal to the line-width, centered
73                                      on the endpoint; it is equivalent to
74                           Butt for line-width zero.  Projecting The result is
75                           square at the end, but the path continues beyond
76                           the endpoint for
77                                      a distance equal to half the line-width;
78                           it is equivalent to Butt for line-width
79                                      zero.
80
81                 XCB_GC_JOIN_STYLE
82                           The join-style defines how corners are drawn for
83                           wide lines: Miter               The outer edges of
84                           the two lines extend to meet at an angle. However,
85                           if the
86                                               angle is less than 11 degrees,
87                           a Bevel join-style is used instead.  Round
88                           The result is a circular arc with a diameter equal
89                           to the line-width, centered
90                                               on the joinpoint.  Bevel
91                           The result is Butt endpoint styles, and then the
92                           triangular notch is filled.
93
94                 XCB_GC_FILL_STYLE
95                           The fill-style defines the contents of the source
96                           for line, text, and fill requests. For all text and
97                           fill requests (for example, PolyText8, PolyText16,
98                           PolyFillRectangle, FillPoly, and PolyFillArc) as
99                           well as for line requests with line-style Solid,
100                           (for example, PolyLine, PolySegment, PolyRectangle,
101                           PolyArc) and for the even dashes for line requests
102                           with line-style OnOffDash or DoubleDash: Solid
103                           Foreground Tiled                     Tile Opaque‐
104                           Stippled            A tile with the same width and
105                           height as stipple but with background
106                                                     everywhere stipple has a
107                           zero and with foreground everywhere stipple
108                                                     has a one Stippled
109                           Foreground masked by stipple For the odd dashes for
110                           line requests with line-style DoubleDash: Solid
111                           Background Tiled                     Same as for
112                           even dashes OpaqueStippled            Same as for
113                           even dashes Stippled                  Background
114                           masked by stipple
115
116                 XCB_GC_FILL_RULE
117
118
119                 XCB_GC_TILE
120                           The tile/stipple represents an infinite two-dimen‐
121                           sional plane with the tile/stipple replicated in
122                           all dimensions. When that plane is superimposed on
123                           the drawable for use in a graphics operation, the
124                           upper-left corner of some instance of the
125                           tile/stipple is at the coordinates within the draw‐
126                           able specified by the tile/stipple origin. The
127                           tile/stipple and clip origins are interpreted rela‐
128                           tive to the origin of whatever destination drawable
129                           is specified in a graphics request.  The tile
130                           pixmap must have the same root and depth as the
131                           gcontext (or a Match error results).  The stipple
132                           pixmap must have depth one and must have the same
133                           root as the gcontext (or a Match error results).
134                           For fill-style Stippled (but not fill-style Opaque‐
135                           Stippled), the stipple pattern is tiled in a single
136                           plane and acts as an additional clip mask to be
137                           ANDed with the clip-mask.  Any size pixmap can be
138                           used for tiling or stippling, although some sizes
139                           may be faster to use than others.
140
141                 XCB_GC_STIPPLE
142                           The tile/stipple represents an infinite two-dimen‐
143                           sional plane with the tile/stipple replicated in
144                           all dimensions. When that plane is superimposed on
145                           the drawable for use in a graphics operation, the
146                           upper-left corner of some instance of the
147                           tile/stipple is at the coordinates within the draw‐
148                           able specified by the tile/stipple origin. The
149                           tile/stipple and clip origins are interpreted rela‐
150                           tive to the origin of whatever destination drawable
151                           is specified in a graphics request.  The tile
152                           pixmap must have the same root and depth as the
153                           gcontext (or a Match error results).  The stipple
154                           pixmap must have depth one and must have the same
155                           root as the gcontext (or a Match error results).
156                           For fill-style Stippled (but not fill-style Opaque‐
157                           Stippled), the stipple pattern is tiled in a single
158                           plane and acts as an additional clip mask to be
159                           ANDed with the clip-mask.  Any size pixmap can be
160                           used for tiling or stippling, although some sizes
161                           may be faster to use than others.
162
163                 XCB_GC_TILE_STIPPLE_ORIGIN_X
164                           TODO
165
166                 XCB_GC_TILE_STIPPLE_ORIGIN_Y
167                           TODO
168
169                 XCB_GC_FONT
170                           Which font to use for the ImageText8 and Image‐
171                           Text16 requests.
172
173                 XCB_GC_SUBWINDOW_MODE
174                           For ClipByChildren, both source and destination
175                           windows are additionally clipped by all viewable
176                           InputOutput children. For IncludeInferiors, neither
177                           source nor destination window is clipped by inferi‐
178                           ors. This will result in including subwindow con‐
179                           tents in the source and drawing through subwindow
180                           boundaries of the destination. The use of Include‐
181                           Inferiors with a source or destination window of
182                           one depth with mapped inferiors of differing depth
183                           is not illegal, but the semantics is undefined by
184                           the core protocol.
185
186                 XCB_GC_GRAPHICS_EXPOSURES
187                           Whether ExposureEvents should be generated (1) or
188                           not (0).
189
190                           The default is 1.
191
192                 XCB_GC_CLIP_ORIGIN_X
193                           TODO
194
195                 XCB_GC_CLIP_ORIGIN_Y
196                           TODO
197
198                 XCB_GC_CLIP_MASK
199                           The clip-mask restricts writes to the destination
200                           drawable. Only pixels where the clip-mask has bits
201                           set to 1 are drawn. Pixels are not drawn outside
202                           the area covered by the clip-mask or where the
203                           clip-mask has bits set to 0. The clip-mask affects
204                           all graphics requests, but it does not clip
205                           sources. The clip-mask origin is interpreted rela‐
206                           tive to the origin of whatever destination drawable
207                           is specified in a graphics request. If a pixmap is
208                           specified as the clip-mask, it must have depth 1
209                           and have the same root as the gcontext (or a Match
210                           error results). If clip-mask is None, then pixels
211                           are always drawn, regardless of the clip origin.
212                           The clip-mask can also be set with the SetClipRect‐
213                           angles request.
214
215                 XCB_GC_DASH_OFFSET
216                           TODO
217
218                 XCB_GC_DASH_LIST
219                           TODO
220
221                 XCB_GC_ARC_MODE
222                           TODO
223
224
225
226       value_list
227                 Values for each of the components specified in the bitmask
228                 value_mask. The order has to correspond to the order of pos‐
229                 sible value_mask bits. See the example.
230

DESCRIPTION

232       Changes the components specified by value_mask for the specified graph‐
233       ics context.
234

RETURN VALUE

236       Returns an xcb_void_cookie_t. Errors (if any) have to be handled in the
237       event loop.
238
239       If you want to handle errors directly with xcb_request_check instead,
240       use xcb_change_gc_checked. See xcb-requests(3) for details.
241

ERRORS

243       xcb_alloc_error_t
244                 The X server could not allocate the requested resources (no
245                 memory?).
246
247       xcb_font_error_t
248                 TODO: reasons?
249
250       xcb_g_context_error_t
251                 TODO: reasons?
252
253       xcb_match_error_t
254                 TODO: reasons?
255
256       xcb_pixmap_error_t
257                 TODO: reasons?
258
259       xcb_value_error_t
260                 TODO: reasons?
261

EXAMPLE

263       /*
264        * Changes the foreground color component of the specified graphics context.
265        *
266        */
267       void my_example(xcb_connection_t *conn, xcb_gcontext_t gc, uint32_t fg, uint32_t bg) {
268           /* C99 allows us to use a compact way of changing a single component: */
269           xcb_change_gc(conn, gc, XCB_GC_FOREGROUND, (uint32_t[]){ fg });
270
271           /* The more explicit way. Beware that the order of values is important! */
272           uint32_t mask = 0;
273           mask |= XCB_GC_FOREGROUND;
274           mask |= XCB_GC_BACKGROUND;
275
276           uint32_t values[] = {
277               fg,
278               bg
279           };
280           xcb_change_gc(conn, gc, mask, values);
281           xcb_flush(conn);
282       }
283

SEE ALSO

285       xcb-requests(3), xcb-examples(3)
286

AUTHOR

288       Generated from xproto.xml. Contact xcb@lists.freedesktop.org for cor‐
289       rections and improvements.
290
291
292
293X Version 11                      libxcb 1.13                 xcb_change_gc(3)
Impressum