xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/render.h (revision b48426e3c23b30eac5627e03e3cf702117487a42)
1 /*
2  * This file generated automatically from render.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_Render_API XCB Render API
8  * @brief Render XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __RENDER_H
13 #define __RENDER_H
14 
15 #include "xcb.h"
16 #include "xproto.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #define XCB_RENDER_MAJOR_VERSION 0
23 #define XCB_RENDER_MINOR_VERSION 11
24 
25 extern xcb_extension_t xcb_render_id;
26 
27 typedef enum xcb_render_pict_type_t {
28     XCB_RENDER_PICT_TYPE_INDEXED = 0,
29     XCB_RENDER_PICT_TYPE_DIRECT = 1
30 } xcb_render_pict_type_t;
31 
32 typedef enum xcb_render_picture_enum_t {
33     XCB_RENDER_PICTURE_NONE = 0
34 } xcb_render_picture_enum_t;
35 
36 typedef enum xcb_render_pict_op_t {
37     XCB_RENDER_PICT_OP_CLEAR = 0,
38     XCB_RENDER_PICT_OP_SRC = 1,
39     XCB_RENDER_PICT_OP_DST = 2,
40     XCB_RENDER_PICT_OP_OVER = 3,
41     XCB_RENDER_PICT_OP_OVER_REVERSE = 4,
42     XCB_RENDER_PICT_OP_IN = 5,
43     XCB_RENDER_PICT_OP_IN_REVERSE = 6,
44     XCB_RENDER_PICT_OP_OUT = 7,
45     XCB_RENDER_PICT_OP_OUT_REVERSE = 8,
46     XCB_RENDER_PICT_OP_ATOP = 9,
47     XCB_RENDER_PICT_OP_ATOP_REVERSE = 10,
48     XCB_RENDER_PICT_OP_XOR = 11,
49     XCB_RENDER_PICT_OP_ADD = 12,
50     XCB_RENDER_PICT_OP_SATURATE = 13,
51     XCB_RENDER_PICT_OP_DISJOINT_CLEAR = 16,
52     XCB_RENDER_PICT_OP_DISJOINT_SRC = 17,
53     XCB_RENDER_PICT_OP_DISJOINT_DST = 18,
54     XCB_RENDER_PICT_OP_DISJOINT_OVER = 19,
55     XCB_RENDER_PICT_OP_DISJOINT_OVER_REVERSE = 20,
56     XCB_RENDER_PICT_OP_DISJOINT_IN = 21,
57     XCB_RENDER_PICT_OP_DISJOINT_IN_REVERSE = 22,
58     XCB_RENDER_PICT_OP_DISJOINT_OUT = 23,
59     XCB_RENDER_PICT_OP_DISJOINT_OUT_REVERSE = 24,
60     XCB_RENDER_PICT_OP_DISJOINT_ATOP = 25,
61     XCB_RENDER_PICT_OP_DISJOINT_ATOP_REVERSE = 26,
62     XCB_RENDER_PICT_OP_DISJOINT_XOR = 27,
63     XCB_RENDER_PICT_OP_CONJOINT_CLEAR = 32,
64     XCB_RENDER_PICT_OP_CONJOINT_SRC = 33,
65     XCB_RENDER_PICT_OP_CONJOINT_DST = 34,
66     XCB_RENDER_PICT_OP_CONJOINT_OVER = 35,
67     XCB_RENDER_PICT_OP_CONJOINT_OVER_REVERSE = 36,
68     XCB_RENDER_PICT_OP_CONJOINT_IN = 37,
69     XCB_RENDER_PICT_OP_CONJOINT_IN_REVERSE = 38,
70     XCB_RENDER_PICT_OP_CONJOINT_OUT = 39,
71     XCB_RENDER_PICT_OP_CONJOINT_OUT_REVERSE = 40,
72     XCB_RENDER_PICT_OP_CONJOINT_ATOP = 41,
73     XCB_RENDER_PICT_OP_CONJOINT_ATOP_REVERSE = 42,
74     XCB_RENDER_PICT_OP_CONJOINT_XOR = 43,
75     XCB_RENDER_PICT_OP_MULTIPLY = 48,
76     XCB_RENDER_PICT_OP_SCREEN = 49,
77     XCB_RENDER_PICT_OP_OVERLAY = 50,
78     XCB_RENDER_PICT_OP_DARKEN = 51,
79     XCB_RENDER_PICT_OP_LIGHTEN = 52,
80     XCB_RENDER_PICT_OP_COLOR_DODGE = 53,
81     XCB_RENDER_PICT_OP_COLOR_BURN = 54,
82     XCB_RENDER_PICT_OP_HARD_LIGHT = 55,
83     XCB_RENDER_PICT_OP_SOFT_LIGHT = 56,
84     XCB_RENDER_PICT_OP_DIFFERENCE = 57,
85     XCB_RENDER_PICT_OP_EXCLUSION = 58,
86     XCB_RENDER_PICT_OP_HSL_HUE = 59,
87     XCB_RENDER_PICT_OP_HSL_SATURATION = 60,
88     XCB_RENDER_PICT_OP_HSL_COLOR = 61,
89     XCB_RENDER_PICT_OP_HSL_LUMINOSITY = 62
90 } xcb_render_pict_op_t;
91 
92 typedef enum xcb_render_poly_edge_t {
93     XCB_RENDER_POLY_EDGE_SHARP = 0,
94     XCB_RENDER_POLY_EDGE_SMOOTH = 1
95 } xcb_render_poly_edge_t;
96 
97 typedef enum xcb_render_poly_mode_t {
98     XCB_RENDER_POLY_MODE_PRECISE = 0,
99     XCB_RENDER_POLY_MODE_IMPRECISE = 1
100 } xcb_render_poly_mode_t;
101 
102 typedef enum xcb_render_cp_t {
103     XCB_RENDER_CP_REPEAT = 1,
104     XCB_RENDER_CP_ALPHA_MAP = 2,
105     XCB_RENDER_CP_ALPHA_X_ORIGIN = 4,
106     XCB_RENDER_CP_ALPHA_Y_ORIGIN = 8,
107     XCB_RENDER_CP_CLIP_X_ORIGIN = 16,
108     XCB_RENDER_CP_CLIP_Y_ORIGIN = 32,
109     XCB_RENDER_CP_CLIP_MASK = 64,
110     XCB_RENDER_CP_GRAPHICS_EXPOSURE = 128,
111     XCB_RENDER_CP_SUBWINDOW_MODE = 256,
112     XCB_RENDER_CP_POLY_EDGE = 512,
113     XCB_RENDER_CP_POLY_MODE = 1024,
114     XCB_RENDER_CP_DITHER = 2048,
115     XCB_RENDER_CP_COMPONENT_ALPHA = 4096
116 } xcb_render_cp_t;
117 
118 typedef enum xcb_render_sub_pixel_t {
119     XCB_RENDER_SUB_PIXEL_UNKNOWN = 0,
120     XCB_RENDER_SUB_PIXEL_HORIZONTAL_RGB = 1,
121     XCB_RENDER_SUB_PIXEL_HORIZONTAL_BGR = 2,
122     XCB_RENDER_SUB_PIXEL_VERTICAL_RGB = 3,
123     XCB_RENDER_SUB_PIXEL_VERTICAL_BGR = 4,
124     XCB_RENDER_SUB_PIXEL_NONE = 5
125 } xcb_render_sub_pixel_t;
126 
127 typedef enum xcb_render_repeat_t {
128     XCB_RENDER_REPEAT_NONE = 0,
129     XCB_RENDER_REPEAT_NORMAL = 1,
130     XCB_RENDER_REPEAT_PAD = 2,
131     XCB_RENDER_REPEAT_REFLECT = 3
132 } xcb_render_repeat_t;
133 
134 typedef uint32_t xcb_render_glyph_t;
135 
136 /**
137  * @brief xcb_render_glyph_iterator_t
138  **/
139 typedef struct xcb_render_glyph_iterator_t {
140     xcb_render_glyph_t *data;
141     int                 rem;
142     int                 index;
143 } xcb_render_glyph_iterator_t;
144 
145 typedef uint32_t xcb_render_glyphset_t;
146 
147 /**
148  * @brief xcb_render_glyphset_iterator_t
149  **/
150 typedef struct xcb_render_glyphset_iterator_t {
151     xcb_render_glyphset_t *data;
152     int                    rem;
153     int                    index;
154 } xcb_render_glyphset_iterator_t;
155 
156 typedef uint32_t xcb_render_picture_t;
157 
158 /**
159  * @brief xcb_render_picture_iterator_t
160  **/
161 typedef struct xcb_render_picture_iterator_t {
162     xcb_render_picture_t *data;
163     int                   rem;
164     int                   index;
165 } xcb_render_picture_iterator_t;
166 
167 typedef uint32_t xcb_render_pictformat_t;
168 
169 /**
170  * @brief xcb_render_pictformat_iterator_t
171  **/
172 typedef struct xcb_render_pictformat_iterator_t {
173     xcb_render_pictformat_t *data;
174     int                      rem;
175     int                      index;
176 } xcb_render_pictformat_iterator_t;
177 
178 typedef int32_t xcb_render_fixed_t;
179 
180 /**
181  * @brief xcb_render_fixed_iterator_t
182  **/
183 typedef struct xcb_render_fixed_iterator_t {
184     xcb_render_fixed_t *data;
185     int                 rem;
186     int                 index;
187 } xcb_render_fixed_iterator_t;
188 
189 /** Opcode for xcb_render_pict_format. */
190 #define XCB_RENDER_PICT_FORMAT 0
191 
192 /**
193  * @brief xcb_render_pict_format_error_t
194  **/
195 typedef struct xcb_render_pict_format_error_t {
196     uint8_t  response_type;
197     uint8_t  error_code;
198     uint16_t sequence;
199     uint32_t bad_value;
200     uint16_t minor_opcode;
201     uint8_t  major_opcode;
202 } xcb_render_pict_format_error_t;
203 
204 /** Opcode for xcb_render_picture. */
205 #define XCB_RENDER_PICTURE 1
206 
207 /**
208  * @brief xcb_render_picture_error_t
209  **/
210 typedef struct xcb_render_picture_error_t {
211     uint8_t  response_type;
212     uint8_t  error_code;
213     uint16_t sequence;
214     uint32_t bad_value;
215     uint16_t minor_opcode;
216     uint8_t  major_opcode;
217 } xcb_render_picture_error_t;
218 
219 /** Opcode for xcb_render_pict_op. */
220 #define XCB_RENDER_PICT_OP 2
221 
222 /**
223  * @brief xcb_render_pict_op_error_t
224  **/
225 typedef struct xcb_render_pict_op_error_t {
226     uint8_t  response_type;
227     uint8_t  error_code;
228     uint16_t sequence;
229     uint32_t bad_value;
230     uint16_t minor_opcode;
231     uint8_t  major_opcode;
232 } xcb_render_pict_op_error_t;
233 
234 /** Opcode for xcb_render_glyph_set. */
235 #define XCB_RENDER_GLYPH_SET 3
236 
237 /**
238  * @brief xcb_render_glyph_set_error_t
239  **/
240 typedef struct xcb_render_glyph_set_error_t {
241     uint8_t  response_type;
242     uint8_t  error_code;
243     uint16_t sequence;
244     uint32_t bad_value;
245     uint16_t minor_opcode;
246     uint8_t  major_opcode;
247 } xcb_render_glyph_set_error_t;
248 
249 /** Opcode for xcb_render_glyph. */
250 #define XCB_RENDER_GLYPH 4
251 
252 /**
253  * @brief xcb_render_glyph_error_t
254  **/
255 typedef struct xcb_render_glyph_error_t {
256     uint8_t  response_type;
257     uint8_t  error_code;
258     uint16_t sequence;
259     uint32_t bad_value;
260     uint16_t minor_opcode;
261     uint8_t  major_opcode;
262 } xcb_render_glyph_error_t;
263 
264 /**
265  * @brief xcb_render_directformat_t
266  **/
267 typedef struct xcb_render_directformat_t {
268     uint16_t red_shift;
269     uint16_t red_mask;
270     uint16_t green_shift;
271     uint16_t green_mask;
272     uint16_t blue_shift;
273     uint16_t blue_mask;
274     uint16_t alpha_shift;
275     uint16_t alpha_mask;
276 } xcb_render_directformat_t;
277 
278 /**
279  * @brief xcb_render_directformat_iterator_t
280  **/
281 typedef struct xcb_render_directformat_iterator_t {
282     xcb_render_directformat_t *data;
283     int                        rem;
284     int                        index;
285 } xcb_render_directformat_iterator_t;
286 
287 /**
288  * @brief xcb_render_pictforminfo_t
289  **/
290 typedef struct xcb_render_pictforminfo_t {
291     xcb_render_pictformat_t   id;
292     uint8_t                   type;
293     uint8_t                   depth;
294     uint8_t                   pad0[2];
295     xcb_render_directformat_t direct;
296     xcb_colormap_t            colormap;
297 } xcb_render_pictforminfo_t;
298 
299 /**
300  * @brief xcb_render_pictforminfo_iterator_t
301  **/
302 typedef struct xcb_render_pictforminfo_iterator_t {
303     xcb_render_pictforminfo_t *data;
304     int                        rem;
305     int                        index;
306 } xcb_render_pictforminfo_iterator_t;
307 
308 /**
309  * @brief xcb_render_pictvisual_t
310  **/
311 typedef struct xcb_render_pictvisual_t {
312     xcb_visualid_t          visual;
313     xcb_render_pictformat_t format;
314 } xcb_render_pictvisual_t;
315 
316 /**
317  * @brief xcb_render_pictvisual_iterator_t
318  **/
319 typedef struct xcb_render_pictvisual_iterator_t {
320     xcb_render_pictvisual_t *data;
321     int                      rem;
322     int                      index;
323 } xcb_render_pictvisual_iterator_t;
324 
325 /**
326  * @brief xcb_render_pictdepth_t
327  **/
328 typedef struct xcb_render_pictdepth_t {
329     uint8_t  depth;
330     uint8_t  pad0;
331     uint16_t num_visuals;
332     uint8_t  pad1[4];
333 } xcb_render_pictdepth_t;
334 
335 /**
336  * @brief xcb_render_pictdepth_iterator_t
337  **/
338 typedef struct xcb_render_pictdepth_iterator_t {
339     xcb_render_pictdepth_t *data;
340     int                     rem;
341     int                     index;
342 } xcb_render_pictdepth_iterator_t;
343 
344 /**
345  * @brief xcb_render_pictscreen_t
346  **/
347 typedef struct xcb_render_pictscreen_t {
348     uint32_t                num_depths;
349     xcb_render_pictformat_t fallback;
350 } xcb_render_pictscreen_t;
351 
352 /**
353  * @brief xcb_render_pictscreen_iterator_t
354  **/
355 typedef struct xcb_render_pictscreen_iterator_t {
356     xcb_render_pictscreen_t *data;
357     int                      rem;
358     int                      index;
359 } xcb_render_pictscreen_iterator_t;
360 
361 /**
362  * @brief xcb_render_indexvalue_t
363  **/
364 typedef struct xcb_render_indexvalue_t {
365     uint32_t pixel;
366     uint16_t red;
367     uint16_t green;
368     uint16_t blue;
369     uint16_t alpha;
370 } xcb_render_indexvalue_t;
371 
372 /**
373  * @brief xcb_render_indexvalue_iterator_t
374  **/
375 typedef struct xcb_render_indexvalue_iterator_t {
376     xcb_render_indexvalue_t *data;
377     int                      rem;
378     int                      index;
379 } xcb_render_indexvalue_iterator_t;
380 
381 /**
382  * @brief xcb_render_color_t
383  **/
384 typedef struct xcb_render_color_t {
385     uint16_t red;
386     uint16_t green;
387     uint16_t blue;
388     uint16_t alpha;
389 } xcb_render_color_t;
390 
391 /**
392  * @brief xcb_render_color_iterator_t
393  **/
394 typedef struct xcb_render_color_iterator_t {
395     xcb_render_color_t *data;
396     int                 rem;
397     int                 index;
398 } xcb_render_color_iterator_t;
399 
400 /**
401  * @brief xcb_render_pointfix_t
402  **/
403 typedef struct xcb_render_pointfix_t {
404     xcb_render_fixed_t x;
405     xcb_render_fixed_t y;
406 } xcb_render_pointfix_t;
407 
408 /**
409  * @brief xcb_render_pointfix_iterator_t
410  **/
411 typedef struct xcb_render_pointfix_iterator_t {
412     xcb_render_pointfix_t *data;
413     int                    rem;
414     int                    index;
415 } xcb_render_pointfix_iterator_t;
416 
417 /**
418  * @brief xcb_render_linefix_t
419  **/
420 typedef struct xcb_render_linefix_t {
421     xcb_render_pointfix_t p1;
422     xcb_render_pointfix_t p2;
423 } xcb_render_linefix_t;
424 
425 /**
426  * @brief xcb_render_linefix_iterator_t
427  **/
428 typedef struct xcb_render_linefix_iterator_t {
429     xcb_render_linefix_t *data;
430     int                   rem;
431     int                   index;
432 } xcb_render_linefix_iterator_t;
433 
434 /**
435  * @brief xcb_render_triangle_t
436  **/
437 typedef struct xcb_render_triangle_t {
438     xcb_render_pointfix_t p1;
439     xcb_render_pointfix_t p2;
440     xcb_render_pointfix_t p3;
441 } xcb_render_triangle_t;
442 
443 /**
444  * @brief xcb_render_triangle_iterator_t
445  **/
446 typedef struct xcb_render_triangle_iterator_t {
447     xcb_render_triangle_t *data;
448     int                    rem;
449     int                    index;
450 } xcb_render_triangle_iterator_t;
451 
452 /**
453  * @brief xcb_render_trapezoid_t
454  **/
455 typedef struct xcb_render_trapezoid_t {
456     xcb_render_fixed_t   top;
457     xcb_render_fixed_t   bottom;
458     xcb_render_linefix_t left;
459     xcb_render_linefix_t right;
460 } xcb_render_trapezoid_t;
461 
462 /**
463  * @brief xcb_render_trapezoid_iterator_t
464  **/
465 typedef struct xcb_render_trapezoid_iterator_t {
466     xcb_render_trapezoid_t *data;
467     int                     rem;
468     int                     index;
469 } xcb_render_trapezoid_iterator_t;
470 
471 /**
472  * @brief xcb_render_glyphinfo_t
473  **/
474 typedef struct xcb_render_glyphinfo_t {
475     uint16_t width;
476     uint16_t height;
477     int16_t  x;
478     int16_t  y;
479     int16_t  x_off;
480     int16_t  y_off;
481 } xcb_render_glyphinfo_t;
482 
483 /**
484  * @brief xcb_render_glyphinfo_iterator_t
485  **/
486 typedef struct xcb_render_glyphinfo_iterator_t {
487     xcb_render_glyphinfo_t *data;
488     int                     rem;
489     int                     index;
490 } xcb_render_glyphinfo_iterator_t;
491 
492 /**
493  * @brief xcb_render_query_version_cookie_t
494  **/
495 typedef struct xcb_render_query_version_cookie_t {
496     unsigned int sequence;
497 } xcb_render_query_version_cookie_t;
498 
499 /** Opcode for xcb_render_query_version. */
500 #define XCB_RENDER_QUERY_VERSION 0
501 
502 /**
503  * @brief xcb_render_query_version_request_t
504  **/
505 typedef struct xcb_render_query_version_request_t {
506     uint8_t  major_opcode;
507     uint8_t  minor_opcode;
508     uint16_t length;
509     uint32_t client_major_version;
510     uint32_t client_minor_version;
511 } xcb_render_query_version_request_t;
512 
513 /**
514  * @brief xcb_render_query_version_reply_t
515  **/
516 typedef struct xcb_render_query_version_reply_t {
517     uint8_t  response_type;
518     uint8_t  pad0;
519     uint16_t sequence;
520     uint32_t length;
521     uint32_t major_version;
522     uint32_t minor_version;
523     uint8_t  pad1[16];
524 } xcb_render_query_version_reply_t;
525 
526 /**
527  * @brief xcb_render_query_pict_formats_cookie_t
528  **/
529 typedef struct xcb_render_query_pict_formats_cookie_t {
530     unsigned int sequence;
531 } xcb_render_query_pict_formats_cookie_t;
532 
533 /** Opcode for xcb_render_query_pict_formats. */
534 #define XCB_RENDER_QUERY_PICT_FORMATS 1
535 
536 /**
537  * @brief xcb_render_query_pict_formats_request_t
538  **/
539 typedef struct xcb_render_query_pict_formats_request_t {
540     uint8_t  major_opcode;
541     uint8_t  minor_opcode;
542     uint16_t length;
543 } xcb_render_query_pict_formats_request_t;
544 
545 /**
546  * @brief xcb_render_query_pict_formats_reply_t
547  **/
548 typedef struct xcb_render_query_pict_formats_reply_t {
549     uint8_t  response_type;
550     uint8_t  pad0;
551     uint16_t sequence;
552     uint32_t length;
553     uint32_t num_formats;
554     uint32_t num_screens;
555     uint32_t num_depths;
556     uint32_t num_visuals;
557     uint32_t num_subpixel;
558     uint8_t  pad1[4];
559 } xcb_render_query_pict_formats_reply_t;
560 
561 /**
562  * @brief xcb_render_query_pict_index_values_cookie_t
563  **/
564 typedef struct xcb_render_query_pict_index_values_cookie_t {
565     unsigned int sequence;
566 } xcb_render_query_pict_index_values_cookie_t;
567 
568 /** Opcode for xcb_render_query_pict_index_values. */
569 #define XCB_RENDER_QUERY_PICT_INDEX_VALUES 2
570 
571 /**
572  * @brief xcb_render_query_pict_index_values_request_t
573  **/
574 typedef struct xcb_render_query_pict_index_values_request_t {
575     uint8_t                 major_opcode;
576     uint8_t                 minor_opcode;
577     uint16_t                length;
578     xcb_render_pictformat_t format;
579 } xcb_render_query_pict_index_values_request_t;
580 
581 /**
582  * @brief xcb_render_query_pict_index_values_reply_t
583  **/
584 typedef struct xcb_render_query_pict_index_values_reply_t {
585     uint8_t  response_type;
586     uint8_t  pad0;
587     uint16_t sequence;
588     uint32_t length;
589     uint32_t num_values;
590     uint8_t  pad1[20];
591 } xcb_render_query_pict_index_values_reply_t;
592 
593 /**
594  * @brief xcb_render_create_picture_value_list_t
595  **/
596 typedef struct xcb_render_create_picture_value_list_t {
597     uint32_t             repeat;
598     xcb_render_picture_t alphamap;
599     int32_t              alphaxorigin;
600     int32_t              alphayorigin;
601     int32_t              clipxorigin;
602     int32_t              clipyorigin;
603     xcb_pixmap_t         clipmask;
604     uint32_t             graphicsexposure;
605     uint32_t             subwindowmode;
606     uint32_t             polyedge;
607     uint32_t             polymode;
608     xcb_atom_t           dither;
609     uint32_t             componentalpha;
610 } xcb_render_create_picture_value_list_t;
611 
612 /** Opcode for xcb_render_create_picture. */
613 #define XCB_RENDER_CREATE_PICTURE 4
614 
615 /**
616  * @brief xcb_render_create_picture_request_t
617  **/
618 typedef struct xcb_render_create_picture_request_t {
619     uint8_t                 major_opcode;
620     uint8_t                 minor_opcode;
621     uint16_t                length;
622     xcb_render_picture_t    pid;
623     xcb_drawable_t          drawable;
624     xcb_render_pictformat_t format;
625     uint32_t                value_mask;
626 } xcb_render_create_picture_request_t;
627 
628 /**
629  * @brief xcb_render_change_picture_value_list_t
630  **/
631 typedef struct xcb_render_change_picture_value_list_t {
632     uint32_t             repeat;
633     xcb_render_picture_t alphamap;
634     int32_t              alphaxorigin;
635     int32_t              alphayorigin;
636     int32_t              clipxorigin;
637     int32_t              clipyorigin;
638     xcb_pixmap_t         clipmask;
639     uint32_t             graphicsexposure;
640     uint32_t             subwindowmode;
641     uint32_t             polyedge;
642     uint32_t             polymode;
643     xcb_atom_t           dither;
644     uint32_t             componentalpha;
645 } xcb_render_change_picture_value_list_t;
646 
647 /** Opcode for xcb_render_change_picture. */
648 #define XCB_RENDER_CHANGE_PICTURE 5
649 
650 /**
651  * @brief xcb_render_change_picture_request_t
652  **/
653 typedef struct xcb_render_change_picture_request_t {
654     uint8_t              major_opcode;
655     uint8_t              minor_opcode;
656     uint16_t             length;
657     xcb_render_picture_t picture;
658     uint32_t             value_mask;
659 } xcb_render_change_picture_request_t;
660 
661 /** Opcode for xcb_render_set_picture_clip_rectangles. */
662 #define XCB_RENDER_SET_PICTURE_CLIP_RECTANGLES 6
663 
664 /**
665  * @brief xcb_render_set_picture_clip_rectangles_request_t
666  **/
667 typedef struct xcb_render_set_picture_clip_rectangles_request_t {
668     uint8_t              major_opcode;
669     uint8_t              minor_opcode;
670     uint16_t             length;
671     xcb_render_picture_t picture;
672     int16_t              clip_x_origin;
673     int16_t              clip_y_origin;
674 } xcb_render_set_picture_clip_rectangles_request_t;
675 
676 /** Opcode for xcb_render_free_picture. */
677 #define XCB_RENDER_FREE_PICTURE 7
678 
679 /**
680  * @brief xcb_render_free_picture_request_t
681  **/
682 typedef struct xcb_render_free_picture_request_t {
683     uint8_t              major_opcode;
684     uint8_t              minor_opcode;
685     uint16_t             length;
686     xcb_render_picture_t picture;
687 } xcb_render_free_picture_request_t;
688 
689 /** Opcode for xcb_render_composite. */
690 #define XCB_RENDER_COMPOSITE 8
691 
692 /**
693  * @brief xcb_render_composite_request_t
694  **/
695 typedef struct xcb_render_composite_request_t {
696     uint8_t              major_opcode;
697     uint8_t              minor_opcode;
698     uint16_t             length;
699     uint8_t              op;
700     uint8_t              pad0[3];
701     xcb_render_picture_t src;
702     xcb_render_picture_t mask;
703     xcb_render_picture_t dst;
704     int16_t              src_x;
705     int16_t              src_y;
706     int16_t              mask_x;
707     int16_t              mask_y;
708     int16_t              dst_x;
709     int16_t              dst_y;
710     uint16_t             width;
711     uint16_t             height;
712 } xcb_render_composite_request_t;
713 
714 /** Opcode for xcb_render_trapezoids. */
715 #define XCB_RENDER_TRAPEZOIDS 10
716 
717 /**
718  * @brief xcb_render_trapezoids_request_t
719  **/
720 typedef struct xcb_render_trapezoids_request_t {
721     uint8_t                 major_opcode;
722     uint8_t                 minor_opcode;
723     uint16_t                length;
724     uint8_t                 op;
725     uint8_t                 pad0[3];
726     xcb_render_picture_t    src;
727     xcb_render_picture_t    dst;
728     xcb_render_pictformat_t mask_format;
729     int16_t                 src_x;
730     int16_t                 src_y;
731 } xcb_render_trapezoids_request_t;
732 
733 /** Opcode for xcb_render_triangles. */
734 #define XCB_RENDER_TRIANGLES 11
735 
736 /**
737  * @brief xcb_render_triangles_request_t
738  **/
739 typedef struct xcb_render_triangles_request_t {
740     uint8_t                 major_opcode;
741     uint8_t                 minor_opcode;
742     uint16_t                length;
743     uint8_t                 op;
744     uint8_t                 pad0[3];
745     xcb_render_picture_t    src;
746     xcb_render_picture_t    dst;
747     xcb_render_pictformat_t mask_format;
748     int16_t                 src_x;
749     int16_t                 src_y;
750 } xcb_render_triangles_request_t;
751 
752 /** Opcode for xcb_render_tri_strip. */
753 #define XCB_RENDER_TRI_STRIP 12
754 
755 /**
756  * @brief xcb_render_tri_strip_request_t
757  **/
758 typedef struct xcb_render_tri_strip_request_t {
759     uint8_t                 major_opcode;
760     uint8_t                 minor_opcode;
761     uint16_t                length;
762     uint8_t                 op;
763     uint8_t                 pad0[3];
764     xcb_render_picture_t    src;
765     xcb_render_picture_t    dst;
766     xcb_render_pictformat_t mask_format;
767     int16_t                 src_x;
768     int16_t                 src_y;
769 } xcb_render_tri_strip_request_t;
770 
771 /** Opcode for xcb_render_tri_fan. */
772 #define XCB_RENDER_TRI_FAN 13
773 
774 /**
775  * @brief xcb_render_tri_fan_request_t
776  **/
777 typedef struct xcb_render_tri_fan_request_t {
778     uint8_t                 major_opcode;
779     uint8_t                 minor_opcode;
780     uint16_t                length;
781     uint8_t                 op;
782     uint8_t                 pad0[3];
783     xcb_render_picture_t    src;
784     xcb_render_picture_t    dst;
785     xcb_render_pictformat_t mask_format;
786     int16_t                 src_x;
787     int16_t                 src_y;
788 } xcb_render_tri_fan_request_t;
789 
790 /** Opcode for xcb_render_create_glyph_set. */
791 #define XCB_RENDER_CREATE_GLYPH_SET 17
792 
793 /**
794  * @brief xcb_render_create_glyph_set_request_t
795  **/
796 typedef struct xcb_render_create_glyph_set_request_t {
797     uint8_t                 major_opcode;
798     uint8_t                 minor_opcode;
799     uint16_t                length;
800     xcb_render_glyphset_t   gsid;
801     xcb_render_pictformat_t format;
802 } xcb_render_create_glyph_set_request_t;
803 
804 /** Opcode for xcb_render_reference_glyph_set. */
805 #define XCB_RENDER_REFERENCE_GLYPH_SET 18
806 
807 /**
808  * @brief xcb_render_reference_glyph_set_request_t
809  **/
810 typedef struct xcb_render_reference_glyph_set_request_t {
811     uint8_t               major_opcode;
812     uint8_t               minor_opcode;
813     uint16_t              length;
814     xcb_render_glyphset_t gsid;
815     xcb_render_glyphset_t existing;
816 } xcb_render_reference_glyph_set_request_t;
817 
818 /** Opcode for xcb_render_free_glyph_set. */
819 #define XCB_RENDER_FREE_GLYPH_SET 19
820 
821 /**
822  * @brief xcb_render_free_glyph_set_request_t
823  **/
824 typedef struct xcb_render_free_glyph_set_request_t {
825     uint8_t               major_opcode;
826     uint8_t               minor_opcode;
827     uint16_t              length;
828     xcb_render_glyphset_t glyphset;
829 } xcb_render_free_glyph_set_request_t;
830 
831 /** Opcode for xcb_render_add_glyphs. */
832 #define XCB_RENDER_ADD_GLYPHS 20
833 
834 /**
835  * @brief xcb_render_add_glyphs_request_t
836  **/
837 typedef struct xcb_render_add_glyphs_request_t {
838     uint8_t               major_opcode;
839     uint8_t               minor_opcode;
840     uint16_t              length;
841     xcb_render_glyphset_t glyphset;
842     uint32_t              glyphs_len;
843 } xcb_render_add_glyphs_request_t;
844 
845 /** Opcode for xcb_render_free_glyphs. */
846 #define XCB_RENDER_FREE_GLYPHS 22
847 
848 /**
849  * @brief xcb_render_free_glyphs_request_t
850  **/
851 typedef struct xcb_render_free_glyphs_request_t {
852     uint8_t               major_opcode;
853     uint8_t               minor_opcode;
854     uint16_t              length;
855     xcb_render_glyphset_t glyphset;
856 } xcb_render_free_glyphs_request_t;
857 
858 /** Opcode for xcb_render_composite_glyphs_8. */
859 #define XCB_RENDER_COMPOSITE_GLYPHS_8 23
860 
861 /**
862  * @brief xcb_render_composite_glyphs_8_request_t
863  **/
864 typedef struct xcb_render_composite_glyphs_8_request_t {
865     uint8_t                 major_opcode;
866     uint8_t                 minor_opcode;
867     uint16_t                length;
868     uint8_t                 op;
869     uint8_t                 pad0[3];
870     xcb_render_picture_t    src;
871     xcb_render_picture_t    dst;
872     xcb_render_pictformat_t mask_format;
873     xcb_render_glyphset_t   glyphset;
874     int16_t                 src_x;
875     int16_t                 src_y;
876 } xcb_render_composite_glyphs_8_request_t;
877 
878 /** Opcode for xcb_render_composite_glyphs_16. */
879 #define XCB_RENDER_COMPOSITE_GLYPHS_16 24
880 
881 /**
882  * @brief xcb_render_composite_glyphs_16_request_t
883  **/
884 typedef struct xcb_render_composite_glyphs_16_request_t {
885     uint8_t                 major_opcode;
886     uint8_t                 minor_opcode;
887     uint16_t                length;
888     uint8_t                 op;
889     uint8_t                 pad0[3];
890     xcb_render_picture_t    src;
891     xcb_render_picture_t    dst;
892     xcb_render_pictformat_t mask_format;
893     xcb_render_glyphset_t   glyphset;
894     int16_t                 src_x;
895     int16_t                 src_y;
896 } xcb_render_composite_glyphs_16_request_t;
897 
898 /** Opcode for xcb_render_composite_glyphs_32. */
899 #define XCB_RENDER_COMPOSITE_GLYPHS_32 25
900 
901 /**
902  * @brief xcb_render_composite_glyphs_32_request_t
903  **/
904 typedef struct xcb_render_composite_glyphs_32_request_t {
905     uint8_t                 major_opcode;
906     uint8_t                 minor_opcode;
907     uint16_t                length;
908     uint8_t                 op;
909     uint8_t                 pad0[3];
910     xcb_render_picture_t    src;
911     xcb_render_picture_t    dst;
912     xcb_render_pictformat_t mask_format;
913     xcb_render_glyphset_t   glyphset;
914     int16_t                 src_x;
915     int16_t                 src_y;
916 } xcb_render_composite_glyphs_32_request_t;
917 
918 /** Opcode for xcb_render_fill_rectangles. */
919 #define XCB_RENDER_FILL_RECTANGLES 26
920 
921 /**
922  * @brief xcb_render_fill_rectangles_request_t
923  **/
924 typedef struct xcb_render_fill_rectangles_request_t {
925     uint8_t              major_opcode;
926     uint8_t              minor_opcode;
927     uint16_t             length;
928     uint8_t              op;
929     uint8_t              pad0[3];
930     xcb_render_picture_t dst;
931     xcb_render_color_t   color;
932 } xcb_render_fill_rectangles_request_t;
933 
934 /** Opcode for xcb_render_create_cursor. */
935 #define XCB_RENDER_CREATE_CURSOR 27
936 
937 /**
938  * @brief xcb_render_create_cursor_request_t
939  **/
940 typedef struct xcb_render_create_cursor_request_t {
941     uint8_t              major_opcode;
942     uint8_t              minor_opcode;
943     uint16_t             length;
944     xcb_cursor_t         cid;
945     xcb_render_picture_t source;
946     uint16_t             x;
947     uint16_t             y;
948 } xcb_render_create_cursor_request_t;
949 
950 /**
951  * @brief xcb_render_transform_t
952  **/
953 typedef struct xcb_render_transform_t {
954     xcb_render_fixed_t matrix11;
955     xcb_render_fixed_t matrix12;
956     xcb_render_fixed_t matrix13;
957     xcb_render_fixed_t matrix21;
958     xcb_render_fixed_t matrix22;
959     xcb_render_fixed_t matrix23;
960     xcb_render_fixed_t matrix31;
961     xcb_render_fixed_t matrix32;
962     xcb_render_fixed_t matrix33;
963 } xcb_render_transform_t;
964 
965 /**
966  * @brief xcb_render_transform_iterator_t
967  **/
968 typedef struct xcb_render_transform_iterator_t {
969     xcb_render_transform_t *data;
970     int                     rem;
971     int                     index;
972 } xcb_render_transform_iterator_t;
973 
974 /** Opcode for xcb_render_set_picture_transform. */
975 #define XCB_RENDER_SET_PICTURE_TRANSFORM 28
976 
977 /**
978  * @brief xcb_render_set_picture_transform_request_t
979  **/
980 typedef struct xcb_render_set_picture_transform_request_t {
981     uint8_t                major_opcode;
982     uint8_t                minor_opcode;
983     uint16_t               length;
984     xcb_render_picture_t   picture;
985     xcb_render_transform_t transform;
986 } xcb_render_set_picture_transform_request_t;
987 
988 /**
989  * @brief xcb_render_query_filters_cookie_t
990  **/
991 typedef struct xcb_render_query_filters_cookie_t {
992     unsigned int sequence;
993 } xcb_render_query_filters_cookie_t;
994 
995 /** Opcode for xcb_render_query_filters. */
996 #define XCB_RENDER_QUERY_FILTERS 29
997 
998 /**
999  * @brief xcb_render_query_filters_request_t
1000  **/
1001 typedef struct xcb_render_query_filters_request_t {
1002     uint8_t        major_opcode;
1003     uint8_t        minor_opcode;
1004     uint16_t       length;
1005     xcb_drawable_t drawable;
1006 } xcb_render_query_filters_request_t;
1007 
1008 /**
1009  * @brief xcb_render_query_filters_reply_t
1010  **/
1011 typedef struct xcb_render_query_filters_reply_t {
1012     uint8_t  response_type;
1013     uint8_t  pad0;
1014     uint16_t sequence;
1015     uint32_t length;
1016     uint32_t num_aliases;
1017     uint32_t num_filters;
1018     uint8_t  pad1[16];
1019 } xcb_render_query_filters_reply_t;
1020 
1021 /** Opcode for xcb_render_set_picture_filter. */
1022 #define XCB_RENDER_SET_PICTURE_FILTER 30
1023 
1024 /**
1025  * @brief xcb_render_set_picture_filter_request_t
1026  **/
1027 typedef struct xcb_render_set_picture_filter_request_t {
1028     uint8_t              major_opcode;
1029     uint8_t              minor_opcode;
1030     uint16_t             length;
1031     xcb_render_picture_t picture;
1032     uint16_t             filter_len;
1033     uint8_t              pad0[2];
1034 } xcb_render_set_picture_filter_request_t;
1035 
1036 /**
1037  * @brief xcb_render_animcursorelt_t
1038  **/
1039 typedef struct xcb_render_animcursorelt_t {
1040     xcb_cursor_t cursor;
1041     uint32_t     delay;
1042 } xcb_render_animcursorelt_t;
1043 
1044 /**
1045  * @brief xcb_render_animcursorelt_iterator_t
1046  **/
1047 typedef struct xcb_render_animcursorelt_iterator_t {
1048     xcb_render_animcursorelt_t *data;
1049     int                         rem;
1050     int                         index;
1051 } xcb_render_animcursorelt_iterator_t;
1052 
1053 /** Opcode for xcb_render_create_anim_cursor. */
1054 #define XCB_RENDER_CREATE_ANIM_CURSOR 31
1055 
1056 /**
1057  * @brief xcb_render_create_anim_cursor_request_t
1058  **/
1059 typedef struct xcb_render_create_anim_cursor_request_t {
1060     uint8_t      major_opcode;
1061     uint8_t      minor_opcode;
1062     uint16_t     length;
1063     xcb_cursor_t cid;
1064 } xcb_render_create_anim_cursor_request_t;
1065 
1066 /**
1067  * @brief xcb_render_spanfix_t
1068  **/
1069 typedef struct xcb_render_spanfix_t {
1070     xcb_render_fixed_t l;
1071     xcb_render_fixed_t r;
1072     xcb_render_fixed_t y;
1073 } xcb_render_spanfix_t;
1074 
1075 /**
1076  * @brief xcb_render_spanfix_iterator_t
1077  **/
1078 typedef struct xcb_render_spanfix_iterator_t {
1079     xcb_render_spanfix_t *data;
1080     int                   rem;
1081     int                   index;
1082 } xcb_render_spanfix_iterator_t;
1083 
1084 /**
1085  * @brief xcb_render_trap_t
1086  **/
1087 typedef struct xcb_render_trap_t {
1088     xcb_render_spanfix_t top;
1089     xcb_render_spanfix_t bot;
1090 } xcb_render_trap_t;
1091 
1092 /**
1093  * @brief xcb_render_trap_iterator_t
1094  **/
1095 typedef struct xcb_render_trap_iterator_t {
1096     xcb_render_trap_t *data;
1097     int                rem;
1098     int                index;
1099 } xcb_render_trap_iterator_t;
1100 
1101 /** Opcode for xcb_render_add_traps. */
1102 #define XCB_RENDER_ADD_TRAPS 32
1103 
1104 /**
1105  * @brief xcb_render_add_traps_request_t
1106  **/
1107 typedef struct xcb_render_add_traps_request_t {
1108     uint8_t              major_opcode;
1109     uint8_t              minor_opcode;
1110     uint16_t             length;
1111     xcb_render_picture_t picture;
1112     int16_t              x_off;
1113     int16_t              y_off;
1114 } xcb_render_add_traps_request_t;
1115 
1116 /** Opcode for xcb_render_create_solid_fill. */
1117 #define XCB_RENDER_CREATE_SOLID_FILL 33
1118 
1119 /**
1120  * @brief xcb_render_create_solid_fill_request_t
1121  **/
1122 typedef struct xcb_render_create_solid_fill_request_t {
1123     uint8_t              major_opcode;
1124     uint8_t              minor_opcode;
1125     uint16_t             length;
1126     xcb_render_picture_t picture;
1127     xcb_render_color_t   color;
1128 } xcb_render_create_solid_fill_request_t;
1129 
1130 /** Opcode for xcb_render_create_linear_gradient. */
1131 #define XCB_RENDER_CREATE_LINEAR_GRADIENT 34
1132 
1133 /**
1134  * @brief xcb_render_create_linear_gradient_request_t
1135  **/
1136 typedef struct xcb_render_create_linear_gradient_request_t {
1137     uint8_t               major_opcode;
1138     uint8_t               minor_opcode;
1139     uint16_t              length;
1140     xcb_render_picture_t  picture;
1141     xcb_render_pointfix_t p1;
1142     xcb_render_pointfix_t p2;
1143     uint32_t              num_stops;
1144 } xcb_render_create_linear_gradient_request_t;
1145 
1146 /** Opcode for xcb_render_create_radial_gradient. */
1147 #define XCB_RENDER_CREATE_RADIAL_GRADIENT 35
1148 
1149 /**
1150  * @brief xcb_render_create_radial_gradient_request_t
1151  **/
1152 typedef struct xcb_render_create_radial_gradient_request_t {
1153     uint8_t               major_opcode;
1154     uint8_t               minor_opcode;
1155     uint16_t              length;
1156     xcb_render_picture_t  picture;
1157     xcb_render_pointfix_t inner;
1158     xcb_render_pointfix_t outer;
1159     xcb_render_fixed_t    inner_radius;
1160     xcb_render_fixed_t    outer_radius;
1161     uint32_t              num_stops;
1162 } xcb_render_create_radial_gradient_request_t;
1163 
1164 /** Opcode for xcb_render_create_conical_gradient. */
1165 #define XCB_RENDER_CREATE_CONICAL_GRADIENT 36
1166 
1167 /**
1168  * @brief xcb_render_create_conical_gradient_request_t
1169  **/
1170 typedef struct xcb_render_create_conical_gradient_request_t {
1171     uint8_t               major_opcode;
1172     uint8_t               minor_opcode;
1173     uint16_t              length;
1174     xcb_render_picture_t  picture;
1175     xcb_render_pointfix_t center;
1176     xcb_render_fixed_t    angle;
1177     uint32_t              num_stops;
1178 } xcb_render_create_conical_gradient_request_t;
1179 
1180 /**
1181  * Get the next element of the iterator
1182  * @param i Pointer to a xcb_render_glyph_iterator_t
1183  *
1184  * Get the next element in the iterator. The member rem is
1185  * decreased by one. The member data points to the next
1186  * element. The member index is increased by sizeof(xcb_render_glyph_t)
1187  */
1188 void
1189 xcb_render_glyph_next (xcb_render_glyph_iterator_t *i);
1190 
1191 /**
1192  * Return the iterator pointing to the last element
1193  * @param i An xcb_render_glyph_iterator_t
1194  * @return  The iterator pointing to the last element
1195  *
1196  * Set the current element in the iterator to the last element.
1197  * The member rem is set to 0. The member data points to the
1198  * last element.
1199  */
1200 xcb_generic_iterator_t
1201 xcb_render_glyph_end (xcb_render_glyph_iterator_t i);
1202 
1203 /**
1204  * Get the next element of the iterator
1205  * @param i Pointer to a xcb_render_glyphset_iterator_t
1206  *
1207  * Get the next element in the iterator. The member rem is
1208  * decreased by one. The member data points to the next
1209  * element. The member index is increased by sizeof(xcb_render_glyphset_t)
1210  */
1211 void
1212 xcb_render_glyphset_next (xcb_render_glyphset_iterator_t *i);
1213 
1214 /**
1215  * Return the iterator pointing to the last element
1216  * @param i An xcb_render_glyphset_iterator_t
1217  * @return  The iterator pointing to the last element
1218  *
1219  * Set the current element in the iterator to the last element.
1220  * The member rem is set to 0. The member data points to the
1221  * last element.
1222  */
1223 xcb_generic_iterator_t
1224 xcb_render_glyphset_end (xcb_render_glyphset_iterator_t i);
1225 
1226 /**
1227  * Get the next element of the iterator
1228  * @param i Pointer to a xcb_render_picture_iterator_t
1229  *
1230  * Get the next element in the iterator. The member rem is
1231  * decreased by one. The member data points to the next
1232  * element. The member index is increased by sizeof(xcb_render_picture_t)
1233  */
1234 void
1235 xcb_render_picture_next (xcb_render_picture_iterator_t *i);
1236 
1237 /**
1238  * Return the iterator pointing to the last element
1239  * @param i An xcb_render_picture_iterator_t
1240  * @return  The iterator pointing to the last element
1241  *
1242  * Set the current element in the iterator to the last element.
1243  * The member rem is set to 0. The member data points to the
1244  * last element.
1245  */
1246 xcb_generic_iterator_t
1247 xcb_render_picture_end (xcb_render_picture_iterator_t i);
1248 
1249 /**
1250  * Get the next element of the iterator
1251  * @param i Pointer to a xcb_render_pictformat_iterator_t
1252  *
1253  * Get the next element in the iterator. The member rem is
1254  * decreased by one. The member data points to the next
1255  * element. The member index is increased by sizeof(xcb_render_pictformat_t)
1256  */
1257 void
1258 xcb_render_pictformat_next (xcb_render_pictformat_iterator_t *i);
1259 
1260 /**
1261  * Return the iterator pointing to the last element
1262  * @param i An xcb_render_pictformat_iterator_t
1263  * @return  The iterator pointing to the last element
1264  *
1265  * Set the current element in the iterator to the last element.
1266  * The member rem is set to 0. The member data points to the
1267  * last element.
1268  */
1269 xcb_generic_iterator_t
1270 xcb_render_pictformat_end (xcb_render_pictformat_iterator_t i);
1271 
1272 /**
1273  * Get the next element of the iterator
1274  * @param i Pointer to a xcb_render_fixed_iterator_t
1275  *
1276  * Get the next element in the iterator. The member rem is
1277  * decreased by one. The member data points to the next
1278  * element. The member index is increased by sizeof(xcb_render_fixed_t)
1279  */
1280 void
1281 xcb_render_fixed_next (xcb_render_fixed_iterator_t *i);
1282 
1283 /**
1284  * Return the iterator pointing to the last element
1285  * @param i An xcb_render_fixed_iterator_t
1286  * @return  The iterator pointing to the last element
1287  *
1288  * Set the current element in the iterator to the last element.
1289  * The member rem is set to 0. The member data points to the
1290  * last element.
1291  */
1292 xcb_generic_iterator_t
1293 xcb_render_fixed_end (xcb_render_fixed_iterator_t i);
1294 
1295 /**
1296  * Get the next element of the iterator
1297  * @param i Pointer to a xcb_render_directformat_iterator_t
1298  *
1299  * Get the next element in the iterator. The member rem is
1300  * decreased by one. The member data points to the next
1301  * element. The member index is increased by sizeof(xcb_render_directformat_t)
1302  */
1303 void
1304 xcb_render_directformat_next (xcb_render_directformat_iterator_t *i);
1305 
1306 /**
1307  * Return the iterator pointing to the last element
1308  * @param i An xcb_render_directformat_iterator_t
1309  * @return  The iterator pointing to the last element
1310  *
1311  * Set the current element in the iterator to the last element.
1312  * The member rem is set to 0. The member data points to the
1313  * last element.
1314  */
1315 xcb_generic_iterator_t
1316 xcb_render_directformat_end (xcb_render_directformat_iterator_t i);
1317 
1318 /**
1319  * Get the next element of the iterator
1320  * @param i Pointer to a xcb_render_pictforminfo_iterator_t
1321  *
1322  * Get the next element in the iterator. The member rem is
1323  * decreased by one. The member data points to the next
1324  * element. The member index is increased by sizeof(xcb_render_pictforminfo_t)
1325  */
1326 void
1327 xcb_render_pictforminfo_next (xcb_render_pictforminfo_iterator_t *i);
1328 
1329 /**
1330  * Return the iterator pointing to the last element
1331  * @param i An xcb_render_pictforminfo_iterator_t
1332  * @return  The iterator pointing to the last element
1333  *
1334  * Set the current element in the iterator to the last element.
1335  * The member rem is set to 0. The member data points to the
1336  * last element.
1337  */
1338 xcb_generic_iterator_t
1339 xcb_render_pictforminfo_end (xcb_render_pictforminfo_iterator_t i);
1340 
1341 /**
1342  * Get the next element of the iterator
1343  * @param i Pointer to a xcb_render_pictvisual_iterator_t
1344  *
1345  * Get the next element in the iterator. The member rem is
1346  * decreased by one. The member data points to the next
1347  * element. The member index is increased by sizeof(xcb_render_pictvisual_t)
1348  */
1349 void
1350 xcb_render_pictvisual_next (xcb_render_pictvisual_iterator_t *i);
1351 
1352 /**
1353  * Return the iterator pointing to the last element
1354  * @param i An xcb_render_pictvisual_iterator_t
1355  * @return  The iterator pointing to the last element
1356  *
1357  * Set the current element in the iterator to the last element.
1358  * The member rem is set to 0. The member data points to the
1359  * last element.
1360  */
1361 xcb_generic_iterator_t
1362 xcb_render_pictvisual_end (xcb_render_pictvisual_iterator_t i);
1363 
1364 int
1365 xcb_render_pictdepth_sizeof (const void  *_buffer);
1366 
1367 xcb_render_pictvisual_t *
1368 xcb_render_pictdepth_visuals (const xcb_render_pictdepth_t *R);
1369 
1370 int
1371 xcb_render_pictdepth_visuals_length (const xcb_render_pictdepth_t *R);
1372 
1373 xcb_render_pictvisual_iterator_t
1374 xcb_render_pictdepth_visuals_iterator (const xcb_render_pictdepth_t *R);
1375 
1376 /**
1377  * Get the next element of the iterator
1378  * @param i Pointer to a xcb_render_pictdepth_iterator_t
1379  *
1380  * Get the next element in the iterator. The member rem is
1381  * decreased by one. The member data points to the next
1382  * element. The member index is increased by sizeof(xcb_render_pictdepth_t)
1383  */
1384 void
1385 xcb_render_pictdepth_next (xcb_render_pictdepth_iterator_t *i);
1386 
1387 /**
1388  * Return the iterator pointing to the last element
1389  * @param i An xcb_render_pictdepth_iterator_t
1390  * @return  The iterator pointing to the last element
1391  *
1392  * Set the current element in the iterator to the last element.
1393  * The member rem is set to 0. The member data points to the
1394  * last element.
1395  */
1396 xcb_generic_iterator_t
1397 xcb_render_pictdepth_end (xcb_render_pictdepth_iterator_t i);
1398 
1399 int
1400 xcb_render_pictscreen_sizeof (const void  *_buffer);
1401 
1402 int
1403 xcb_render_pictscreen_depths_length (const xcb_render_pictscreen_t *R);
1404 
1405 xcb_render_pictdepth_iterator_t
1406 xcb_render_pictscreen_depths_iterator (const xcb_render_pictscreen_t *R);
1407 
1408 /**
1409  * Get the next element of the iterator
1410  * @param i Pointer to a xcb_render_pictscreen_iterator_t
1411  *
1412  * Get the next element in the iterator. The member rem is
1413  * decreased by one. The member data points to the next
1414  * element. The member index is increased by sizeof(xcb_render_pictscreen_t)
1415  */
1416 void
1417 xcb_render_pictscreen_next (xcb_render_pictscreen_iterator_t *i);
1418 
1419 /**
1420  * Return the iterator pointing to the last element
1421  * @param i An xcb_render_pictscreen_iterator_t
1422  * @return  The iterator pointing to the last element
1423  *
1424  * Set the current element in the iterator to the last element.
1425  * The member rem is set to 0. The member data points to the
1426  * last element.
1427  */
1428 xcb_generic_iterator_t
1429 xcb_render_pictscreen_end (xcb_render_pictscreen_iterator_t i);
1430 
1431 /**
1432  * Get the next element of the iterator
1433  * @param i Pointer to a xcb_render_indexvalue_iterator_t
1434  *
1435  * Get the next element in the iterator. The member rem is
1436  * decreased by one. The member data points to the next
1437  * element. The member index is increased by sizeof(xcb_render_indexvalue_t)
1438  */
1439 void
1440 xcb_render_indexvalue_next (xcb_render_indexvalue_iterator_t *i);
1441 
1442 /**
1443  * Return the iterator pointing to the last element
1444  * @param i An xcb_render_indexvalue_iterator_t
1445  * @return  The iterator pointing to the last element
1446  *
1447  * Set the current element in the iterator to the last element.
1448  * The member rem is set to 0. The member data points to the
1449  * last element.
1450  */
1451 xcb_generic_iterator_t
1452 xcb_render_indexvalue_end (xcb_render_indexvalue_iterator_t i);
1453 
1454 /**
1455  * Get the next element of the iterator
1456  * @param i Pointer to a xcb_render_color_iterator_t
1457  *
1458  * Get the next element in the iterator. The member rem is
1459  * decreased by one. The member data points to the next
1460  * element. The member index is increased by sizeof(xcb_render_color_t)
1461  */
1462 void
1463 xcb_render_color_next (xcb_render_color_iterator_t *i);
1464 
1465 /**
1466  * Return the iterator pointing to the last element
1467  * @param i An xcb_render_color_iterator_t
1468  * @return  The iterator pointing to the last element
1469  *
1470  * Set the current element in the iterator to the last element.
1471  * The member rem is set to 0. The member data points to the
1472  * last element.
1473  */
1474 xcb_generic_iterator_t
1475 xcb_render_color_end (xcb_render_color_iterator_t i);
1476 
1477 /**
1478  * Get the next element of the iterator
1479  * @param i Pointer to a xcb_render_pointfix_iterator_t
1480  *
1481  * Get the next element in the iterator. The member rem is
1482  * decreased by one. The member data points to the next
1483  * element. The member index is increased by sizeof(xcb_render_pointfix_t)
1484  */
1485 void
1486 xcb_render_pointfix_next (xcb_render_pointfix_iterator_t *i);
1487 
1488 /**
1489  * Return the iterator pointing to the last element
1490  * @param i An xcb_render_pointfix_iterator_t
1491  * @return  The iterator pointing to the last element
1492  *
1493  * Set the current element in the iterator to the last element.
1494  * The member rem is set to 0. The member data points to the
1495  * last element.
1496  */
1497 xcb_generic_iterator_t
1498 xcb_render_pointfix_end (xcb_render_pointfix_iterator_t i);
1499 
1500 /**
1501  * Get the next element of the iterator
1502  * @param i Pointer to a xcb_render_linefix_iterator_t
1503  *
1504  * Get the next element in the iterator. The member rem is
1505  * decreased by one. The member data points to the next
1506  * element. The member index is increased by sizeof(xcb_render_linefix_t)
1507  */
1508 void
1509 xcb_render_linefix_next (xcb_render_linefix_iterator_t *i);
1510 
1511 /**
1512  * Return the iterator pointing to the last element
1513  * @param i An xcb_render_linefix_iterator_t
1514  * @return  The iterator pointing to the last element
1515  *
1516  * Set the current element in the iterator to the last element.
1517  * The member rem is set to 0. The member data points to the
1518  * last element.
1519  */
1520 xcb_generic_iterator_t
1521 xcb_render_linefix_end (xcb_render_linefix_iterator_t i);
1522 
1523 /**
1524  * Get the next element of the iterator
1525  * @param i Pointer to a xcb_render_triangle_iterator_t
1526  *
1527  * Get the next element in the iterator. The member rem is
1528  * decreased by one. The member data points to the next
1529  * element. The member index is increased by sizeof(xcb_render_triangle_t)
1530  */
1531 void
1532 xcb_render_triangle_next (xcb_render_triangle_iterator_t *i);
1533 
1534 /**
1535  * Return the iterator pointing to the last element
1536  * @param i An xcb_render_triangle_iterator_t
1537  * @return  The iterator pointing to the last element
1538  *
1539  * Set the current element in the iterator to the last element.
1540  * The member rem is set to 0. The member data points to the
1541  * last element.
1542  */
1543 xcb_generic_iterator_t
1544 xcb_render_triangle_end (xcb_render_triangle_iterator_t i);
1545 
1546 /**
1547  * Get the next element of the iterator
1548  * @param i Pointer to a xcb_render_trapezoid_iterator_t
1549  *
1550  * Get the next element in the iterator. The member rem is
1551  * decreased by one. The member data points to the next
1552  * element. The member index is increased by sizeof(xcb_render_trapezoid_t)
1553  */
1554 void
1555 xcb_render_trapezoid_next (xcb_render_trapezoid_iterator_t *i);
1556 
1557 /**
1558  * Return the iterator pointing to the last element
1559  * @param i An xcb_render_trapezoid_iterator_t
1560  * @return  The iterator pointing to the last element
1561  *
1562  * Set the current element in the iterator to the last element.
1563  * The member rem is set to 0. The member data points to the
1564  * last element.
1565  */
1566 xcb_generic_iterator_t
1567 xcb_render_trapezoid_end (xcb_render_trapezoid_iterator_t i);
1568 
1569 /**
1570  * Get the next element of the iterator
1571  * @param i Pointer to a xcb_render_glyphinfo_iterator_t
1572  *
1573  * Get the next element in the iterator. The member rem is
1574  * decreased by one. The member data points to the next
1575  * element. The member index is increased by sizeof(xcb_render_glyphinfo_t)
1576  */
1577 void
1578 xcb_render_glyphinfo_next (xcb_render_glyphinfo_iterator_t *i);
1579 
1580 /**
1581  * Return the iterator pointing to the last element
1582  * @param i An xcb_render_glyphinfo_iterator_t
1583  * @return  The iterator pointing to the last element
1584  *
1585  * Set the current element in the iterator to the last element.
1586  * The member rem is set to 0. The member data points to the
1587  * last element.
1588  */
1589 xcb_generic_iterator_t
1590 xcb_render_glyphinfo_end (xcb_render_glyphinfo_iterator_t i);
1591 
1592 /**
1593  *
1594  * @param c The connection
1595  * @return A cookie
1596  *
1597  * Delivers a request to the X server.
1598  *
1599  */
1600 xcb_render_query_version_cookie_t
1601 xcb_render_query_version (xcb_connection_t *c,
1602                           uint32_t          client_major_version,
1603                           uint32_t          client_minor_version);
1604 
1605 /**
1606  *
1607  * @param c The connection
1608  * @return A cookie
1609  *
1610  * Delivers a request to the X server.
1611  *
1612  * This form can be used only if the request will cause
1613  * a reply to be generated. Any returned error will be
1614  * placed in the event queue.
1615  */
1616 xcb_render_query_version_cookie_t
1617 xcb_render_query_version_unchecked (xcb_connection_t *c,
1618                                     uint32_t          client_major_version,
1619                                     uint32_t          client_minor_version);
1620 
1621 /**
1622  * Return the reply
1623  * @param c      The connection
1624  * @param cookie The cookie
1625  * @param e      The xcb_generic_error_t supplied
1626  *
1627  * Returns the reply of the request asked by
1628  *
1629  * The parameter @p e supplied to this function must be NULL if
1630  * xcb_render_query_version_unchecked(). is used.
1631  * Otherwise, it stores the error if any.
1632  *
1633  * The returned value must be freed by the caller using free().
1634  */
1635 xcb_render_query_version_reply_t *
1636 xcb_render_query_version_reply (xcb_connection_t                   *c,
1637                                 xcb_render_query_version_cookie_t   cookie  /**< */,
1638                                 xcb_generic_error_t               **e);
1639 
1640 int
1641 xcb_render_query_pict_formats_sizeof (const void  *_buffer);
1642 
1643 /**
1644  *
1645  * @param c The connection
1646  * @return A cookie
1647  *
1648  * Delivers a request to the X server.
1649  *
1650  */
1651 xcb_render_query_pict_formats_cookie_t
1652 xcb_render_query_pict_formats (xcb_connection_t *c);
1653 
1654 /**
1655  *
1656  * @param c The connection
1657  * @return A cookie
1658  *
1659  * Delivers a request to the X server.
1660  *
1661  * This form can be used only if the request will cause
1662  * a reply to be generated. Any returned error will be
1663  * placed in the event queue.
1664  */
1665 xcb_render_query_pict_formats_cookie_t
1666 xcb_render_query_pict_formats_unchecked (xcb_connection_t *c);
1667 
1668 xcb_render_pictforminfo_t *
1669 xcb_render_query_pict_formats_formats (const xcb_render_query_pict_formats_reply_t *R);
1670 
1671 int
1672 xcb_render_query_pict_formats_formats_length (const xcb_render_query_pict_formats_reply_t *R);
1673 
1674 xcb_render_pictforminfo_iterator_t
1675 xcb_render_query_pict_formats_formats_iterator (const xcb_render_query_pict_formats_reply_t *R);
1676 
1677 int
1678 xcb_render_query_pict_formats_screens_length (const xcb_render_query_pict_formats_reply_t *R);
1679 
1680 xcb_render_pictscreen_iterator_t
1681 xcb_render_query_pict_formats_screens_iterator (const xcb_render_query_pict_formats_reply_t *R);
1682 
1683 uint32_t *
1684 xcb_render_query_pict_formats_subpixels (const xcb_render_query_pict_formats_reply_t *R);
1685 
1686 int
1687 xcb_render_query_pict_formats_subpixels_length (const xcb_render_query_pict_formats_reply_t *R);
1688 
1689 xcb_generic_iterator_t
1690 xcb_render_query_pict_formats_subpixels_end (const xcb_render_query_pict_formats_reply_t *R);
1691 
1692 /**
1693  * Return the reply
1694  * @param c      The connection
1695  * @param cookie The cookie
1696  * @param e      The xcb_generic_error_t supplied
1697  *
1698  * Returns the reply of the request asked by
1699  *
1700  * The parameter @p e supplied to this function must be NULL if
1701  * xcb_render_query_pict_formats_unchecked(). is used.
1702  * Otherwise, it stores the error if any.
1703  *
1704  * The returned value must be freed by the caller using free().
1705  */
1706 xcb_render_query_pict_formats_reply_t *
1707 xcb_render_query_pict_formats_reply (xcb_connection_t                        *c,
1708                                      xcb_render_query_pict_formats_cookie_t   cookie  /**< */,
1709                                      xcb_generic_error_t                    **e);
1710 
1711 int
1712 xcb_render_query_pict_index_values_sizeof (const void  *_buffer);
1713 
1714 /**
1715  *
1716  * @param c The connection
1717  * @return A cookie
1718  *
1719  * Delivers a request to the X server.
1720  *
1721  */
1722 xcb_render_query_pict_index_values_cookie_t
1723 xcb_render_query_pict_index_values (xcb_connection_t        *c,
1724                                     xcb_render_pictformat_t  format);
1725 
1726 /**
1727  *
1728  * @param c The connection
1729  * @return A cookie
1730  *
1731  * Delivers a request to the X server.
1732  *
1733  * This form can be used only if the request will cause
1734  * a reply to be generated. Any returned error will be
1735  * placed in the event queue.
1736  */
1737 xcb_render_query_pict_index_values_cookie_t
1738 xcb_render_query_pict_index_values_unchecked (xcb_connection_t        *c,
1739                                               xcb_render_pictformat_t  format);
1740 
1741 xcb_render_indexvalue_t *
1742 xcb_render_query_pict_index_values_values (const xcb_render_query_pict_index_values_reply_t *R);
1743 
1744 int
1745 xcb_render_query_pict_index_values_values_length (const xcb_render_query_pict_index_values_reply_t *R);
1746 
1747 xcb_render_indexvalue_iterator_t
1748 xcb_render_query_pict_index_values_values_iterator (const xcb_render_query_pict_index_values_reply_t *R);
1749 
1750 /**
1751  * Return the reply
1752  * @param c      The connection
1753  * @param cookie The cookie
1754  * @param e      The xcb_generic_error_t supplied
1755  *
1756  * Returns the reply of the request asked by
1757  *
1758  * The parameter @p e supplied to this function must be NULL if
1759  * xcb_render_query_pict_index_values_unchecked(). is used.
1760  * Otherwise, it stores the error if any.
1761  *
1762  * The returned value must be freed by the caller using free().
1763  */
1764 xcb_render_query_pict_index_values_reply_t *
1765 xcb_render_query_pict_index_values_reply (xcb_connection_t                             *c,
1766                                           xcb_render_query_pict_index_values_cookie_t   cookie  /**< */,
1767                                           xcb_generic_error_t                         **e);
1768 
1769 int
1770 xcb_render_create_picture_value_list_serialize (void                                         **_buffer,
1771                                                 uint32_t                                       value_mask,
1772                                                 const xcb_render_create_picture_value_list_t  *_aux);
1773 
1774 int
1775 xcb_render_create_picture_value_list_unpack (const void                              *_buffer,
1776                                              uint32_t                                 value_mask,
1777                                              xcb_render_create_picture_value_list_t  *_aux);
1778 
1779 int
1780 xcb_render_create_picture_value_list_sizeof (const void  *_buffer,
1781                                              uint32_t     value_mask);
1782 
1783 int
1784 xcb_render_create_picture_sizeof (const void  *_buffer);
1785 
1786 /**
1787  *
1788  * @param c The connection
1789  * @return A cookie
1790  *
1791  * Delivers a request to the X server.
1792  *
1793  * This form can be used only if the request will not cause
1794  * a reply to be generated. Any returned error will be
1795  * saved for handling by xcb_request_check().
1796  */
1797 xcb_void_cookie_t
1798 xcb_render_create_picture_checked (xcb_connection_t        *c,
1799                                    xcb_render_picture_t     pid,
1800                                    xcb_drawable_t           drawable,
1801                                    xcb_render_pictformat_t  format,
1802                                    uint32_t                 value_mask,
1803                                    const void              *value_list);
1804 
1805 /**
1806  *
1807  * @param c The connection
1808  * @return A cookie
1809  *
1810  * Delivers a request to the X server.
1811  *
1812  */
1813 xcb_void_cookie_t
1814 xcb_render_create_picture (xcb_connection_t        *c,
1815                            xcb_render_picture_t     pid,
1816                            xcb_drawable_t           drawable,
1817                            xcb_render_pictformat_t  format,
1818                            uint32_t                 value_mask,
1819                            const void              *value_list);
1820 
1821 /**
1822  *
1823  * @param c The connection
1824  * @return A cookie
1825  *
1826  * Delivers a request to the X server.
1827  *
1828  * This form can be used only if the request will not cause
1829  * a reply to be generated. Any returned error will be
1830  * saved for handling by xcb_request_check().
1831  */
1832 xcb_void_cookie_t
1833 xcb_render_create_picture_aux_checked (xcb_connection_t                             *c,
1834                                        xcb_render_picture_t                          pid,
1835                                        xcb_drawable_t                                drawable,
1836                                        xcb_render_pictformat_t                       format,
1837                                        uint32_t                                      value_mask,
1838                                        const xcb_render_create_picture_value_list_t *value_list);
1839 
1840 /**
1841  *
1842  * @param c The connection
1843  * @return A cookie
1844  *
1845  * Delivers a request to the X server.
1846  *
1847  */
1848 xcb_void_cookie_t
1849 xcb_render_create_picture_aux (xcb_connection_t                             *c,
1850                                xcb_render_picture_t                          pid,
1851                                xcb_drawable_t                                drawable,
1852                                xcb_render_pictformat_t                       format,
1853                                uint32_t                                      value_mask,
1854                                const xcb_render_create_picture_value_list_t *value_list);
1855 
1856 void *
1857 xcb_render_create_picture_value_list (const xcb_render_create_picture_request_t *R);
1858 
1859 int
1860 xcb_render_change_picture_value_list_serialize (void                                         **_buffer,
1861                                                 uint32_t                                       value_mask,
1862                                                 const xcb_render_change_picture_value_list_t  *_aux);
1863 
1864 int
1865 xcb_render_change_picture_value_list_unpack (const void                              *_buffer,
1866                                              uint32_t                                 value_mask,
1867                                              xcb_render_change_picture_value_list_t  *_aux);
1868 
1869 int
1870 xcb_render_change_picture_value_list_sizeof (const void  *_buffer,
1871                                              uint32_t     value_mask);
1872 
1873 int
1874 xcb_render_change_picture_sizeof (const void  *_buffer);
1875 
1876 /**
1877  *
1878  * @param c The connection
1879  * @return A cookie
1880  *
1881  * Delivers a request to the X server.
1882  *
1883  * This form can be used only if the request will not cause
1884  * a reply to be generated. Any returned error will be
1885  * saved for handling by xcb_request_check().
1886  */
1887 xcb_void_cookie_t
1888 xcb_render_change_picture_checked (xcb_connection_t     *c,
1889                                    xcb_render_picture_t  picture,
1890                                    uint32_t              value_mask,
1891                                    const void           *value_list);
1892 
1893 /**
1894  *
1895  * @param c The connection
1896  * @return A cookie
1897  *
1898  * Delivers a request to the X server.
1899  *
1900  */
1901 xcb_void_cookie_t
1902 xcb_render_change_picture (xcb_connection_t     *c,
1903                            xcb_render_picture_t  picture,
1904                            uint32_t              value_mask,
1905                            const void           *value_list);
1906 
1907 /**
1908  *
1909  * @param c The connection
1910  * @return A cookie
1911  *
1912  * Delivers a request to the X server.
1913  *
1914  * This form can be used only if the request will not cause
1915  * a reply to be generated. Any returned error will be
1916  * saved for handling by xcb_request_check().
1917  */
1918 xcb_void_cookie_t
1919 xcb_render_change_picture_aux_checked (xcb_connection_t                             *c,
1920                                        xcb_render_picture_t                          picture,
1921                                        uint32_t                                      value_mask,
1922                                        const xcb_render_change_picture_value_list_t *value_list);
1923 
1924 /**
1925  *
1926  * @param c The connection
1927  * @return A cookie
1928  *
1929  * Delivers a request to the X server.
1930  *
1931  */
1932 xcb_void_cookie_t
1933 xcb_render_change_picture_aux (xcb_connection_t                             *c,
1934                                xcb_render_picture_t                          picture,
1935                                uint32_t                                      value_mask,
1936                                const xcb_render_change_picture_value_list_t *value_list);
1937 
1938 void *
1939 xcb_render_change_picture_value_list (const xcb_render_change_picture_request_t *R);
1940 
1941 int
1942 xcb_render_set_picture_clip_rectangles_sizeof (const void  *_buffer,
1943                                                uint32_t     rectangles_len);
1944 
1945 /**
1946  *
1947  * @param c The connection
1948  * @return A cookie
1949  *
1950  * Delivers a request to the X server.
1951  *
1952  * This form can be used only if the request will not cause
1953  * a reply to be generated. Any returned error will be
1954  * saved for handling by xcb_request_check().
1955  */
1956 xcb_void_cookie_t
1957 xcb_render_set_picture_clip_rectangles_checked (xcb_connection_t      *c,
1958                                                 xcb_render_picture_t   picture,
1959                                                 int16_t                clip_x_origin,
1960                                                 int16_t                clip_y_origin,
1961                                                 uint32_t               rectangles_len,
1962                                                 const xcb_rectangle_t *rectangles);
1963 
1964 /**
1965  *
1966  * @param c The connection
1967  * @return A cookie
1968  *
1969  * Delivers a request to the X server.
1970  *
1971  */
1972 xcb_void_cookie_t
1973 xcb_render_set_picture_clip_rectangles (xcb_connection_t      *c,
1974                                         xcb_render_picture_t   picture,
1975                                         int16_t                clip_x_origin,
1976                                         int16_t                clip_y_origin,
1977                                         uint32_t               rectangles_len,
1978                                         const xcb_rectangle_t *rectangles);
1979 
1980 xcb_rectangle_t *
1981 xcb_render_set_picture_clip_rectangles_rectangles (const xcb_render_set_picture_clip_rectangles_request_t *R);
1982 
1983 int
1984 xcb_render_set_picture_clip_rectangles_rectangles_length (const xcb_render_set_picture_clip_rectangles_request_t *R);
1985 
1986 xcb_rectangle_iterator_t
1987 xcb_render_set_picture_clip_rectangles_rectangles_iterator (const xcb_render_set_picture_clip_rectangles_request_t *R);
1988 
1989 /**
1990  *
1991  * @param c The connection
1992  * @return A cookie
1993  *
1994  * Delivers a request to the X server.
1995  *
1996  * This form can be used only if the request will not cause
1997  * a reply to be generated. Any returned error will be
1998  * saved for handling by xcb_request_check().
1999  */
2000 xcb_void_cookie_t
2001 xcb_render_free_picture_checked (xcb_connection_t     *c,
2002                                  xcb_render_picture_t  picture);
2003 
2004 /**
2005  *
2006  * @param c The connection
2007  * @return A cookie
2008  *
2009  * Delivers a request to the X server.
2010  *
2011  */
2012 xcb_void_cookie_t
2013 xcb_render_free_picture (xcb_connection_t     *c,
2014                          xcb_render_picture_t  picture);
2015 
2016 /**
2017  *
2018  * @param c The connection
2019  * @return A cookie
2020  *
2021  * Delivers a request to the X server.
2022  *
2023  * This form can be used only if the request will not cause
2024  * a reply to be generated. Any returned error will be
2025  * saved for handling by xcb_request_check().
2026  */
2027 xcb_void_cookie_t
2028 xcb_render_composite_checked (xcb_connection_t     *c,
2029                               uint8_t               op,
2030                               xcb_render_picture_t  src,
2031                               xcb_render_picture_t  mask,
2032                               xcb_render_picture_t  dst,
2033                               int16_t               src_x,
2034                               int16_t               src_y,
2035                               int16_t               mask_x,
2036                               int16_t               mask_y,
2037                               int16_t               dst_x,
2038                               int16_t               dst_y,
2039                               uint16_t              width,
2040                               uint16_t              height);
2041 
2042 /**
2043  *
2044  * @param c The connection
2045  * @return A cookie
2046  *
2047  * Delivers a request to the X server.
2048  *
2049  */
2050 xcb_void_cookie_t
2051 xcb_render_composite (xcb_connection_t     *c,
2052                       uint8_t               op,
2053                       xcb_render_picture_t  src,
2054                       xcb_render_picture_t  mask,
2055                       xcb_render_picture_t  dst,
2056                       int16_t               src_x,
2057                       int16_t               src_y,
2058                       int16_t               mask_x,
2059                       int16_t               mask_y,
2060                       int16_t               dst_x,
2061                       int16_t               dst_y,
2062                       uint16_t              width,
2063                       uint16_t              height);
2064 
2065 int
2066 xcb_render_trapezoids_sizeof (const void  *_buffer,
2067                               uint32_t     traps_len);
2068 
2069 /**
2070  *
2071  * @param c The connection
2072  * @return A cookie
2073  *
2074  * Delivers a request to the X server.
2075  *
2076  * This form can be used only if the request will not cause
2077  * a reply to be generated. Any returned error will be
2078  * saved for handling by xcb_request_check().
2079  */
2080 xcb_void_cookie_t
2081 xcb_render_trapezoids_checked (xcb_connection_t             *c,
2082                                uint8_t                       op,
2083                                xcb_render_picture_t          src,
2084                                xcb_render_picture_t          dst,
2085                                xcb_render_pictformat_t       mask_format,
2086                                int16_t                       src_x,
2087                                int16_t                       src_y,
2088                                uint32_t                      traps_len,
2089                                const xcb_render_trapezoid_t *traps);
2090 
2091 /**
2092  *
2093  * @param c The connection
2094  * @return A cookie
2095  *
2096  * Delivers a request to the X server.
2097  *
2098  */
2099 xcb_void_cookie_t
2100 xcb_render_trapezoids (xcb_connection_t             *c,
2101                        uint8_t                       op,
2102                        xcb_render_picture_t          src,
2103                        xcb_render_picture_t          dst,
2104                        xcb_render_pictformat_t       mask_format,
2105                        int16_t                       src_x,
2106                        int16_t                       src_y,
2107                        uint32_t                      traps_len,
2108                        const xcb_render_trapezoid_t *traps);
2109 
2110 xcb_render_trapezoid_t *
2111 xcb_render_trapezoids_traps (const xcb_render_trapezoids_request_t *R);
2112 
2113 int
2114 xcb_render_trapezoids_traps_length (const xcb_render_trapezoids_request_t *R);
2115 
2116 xcb_render_trapezoid_iterator_t
2117 xcb_render_trapezoids_traps_iterator (const xcb_render_trapezoids_request_t *R);
2118 
2119 int
2120 xcb_render_triangles_sizeof (const void  *_buffer,
2121                              uint32_t     triangles_len);
2122 
2123 /**
2124  *
2125  * @param c The connection
2126  * @return A cookie
2127  *
2128  * Delivers a request to the X server.
2129  *
2130  * This form can be used only if the request will not cause
2131  * a reply to be generated. Any returned error will be
2132  * saved for handling by xcb_request_check().
2133  */
2134 xcb_void_cookie_t
2135 xcb_render_triangles_checked (xcb_connection_t            *c,
2136                               uint8_t                      op,
2137                               xcb_render_picture_t         src,
2138                               xcb_render_picture_t         dst,
2139                               xcb_render_pictformat_t      mask_format,
2140                               int16_t                      src_x,
2141                               int16_t                      src_y,
2142                               uint32_t                     triangles_len,
2143                               const xcb_render_triangle_t *triangles);
2144 
2145 /**
2146  *
2147  * @param c The connection
2148  * @return A cookie
2149  *
2150  * Delivers a request to the X server.
2151  *
2152  */
2153 xcb_void_cookie_t
2154 xcb_render_triangles (xcb_connection_t            *c,
2155                       uint8_t                      op,
2156                       xcb_render_picture_t         src,
2157                       xcb_render_picture_t         dst,
2158                       xcb_render_pictformat_t      mask_format,
2159                       int16_t                      src_x,
2160                       int16_t                      src_y,
2161                       uint32_t                     triangles_len,
2162                       const xcb_render_triangle_t *triangles);
2163 
2164 xcb_render_triangle_t *
2165 xcb_render_triangles_triangles (const xcb_render_triangles_request_t *R);
2166 
2167 int
2168 xcb_render_triangles_triangles_length (const xcb_render_triangles_request_t *R);
2169 
2170 xcb_render_triangle_iterator_t
2171 xcb_render_triangles_triangles_iterator (const xcb_render_triangles_request_t *R);
2172 
2173 int
2174 xcb_render_tri_strip_sizeof (const void  *_buffer,
2175                              uint32_t     points_len);
2176 
2177 /**
2178  *
2179  * @param c The connection
2180  * @return A cookie
2181  *
2182  * Delivers a request to the X server.
2183  *
2184  * This form can be used only if the request will not cause
2185  * a reply to be generated. Any returned error will be
2186  * saved for handling by xcb_request_check().
2187  */
2188 xcb_void_cookie_t
2189 xcb_render_tri_strip_checked (xcb_connection_t            *c,
2190                               uint8_t                      op,
2191                               xcb_render_picture_t         src,
2192                               xcb_render_picture_t         dst,
2193                               xcb_render_pictformat_t      mask_format,
2194                               int16_t                      src_x,
2195                               int16_t                      src_y,
2196                               uint32_t                     points_len,
2197                               const xcb_render_pointfix_t *points);
2198 
2199 /**
2200  *
2201  * @param c The connection
2202  * @return A cookie
2203  *
2204  * Delivers a request to the X server.
2205  *
2206  */
2207 xcb_void_cookie_t
2208 xcb_render_tri_strip (xcb_connection_t            *c,
2209                       uint8_t                      op,
2210                       xcb_render_picture_t         src,
2211                       xcb_render_picture_t         dst,
2212                       xcb_render_pictformat_t      mask_format,
2213                       int16_t                      src_x,
2214                       int16_t                      src_y,
2215                       uint32_t                     points_len,
2216                       const xcb_render_pointfix_t *points);
2217 
2218 xcb_render_pointfix_t *
2219 xcb_render_tri_strip_points (const xcb_render_tri_strip_request_t *R);
2220 
2221 int
2222 xcb_render_tri_strip_points_length (const xcb_render_tri_strip_request_t *R);
2223 
2224 xcb_render_pointfix_iterator_t
2225 xcb_render_tri_strip_points_iterator (const xcb_render_tri_strip_request_t *R);
2226 
2227 int
2228 xcb_render_tri_fan_sizeof (const void  *_buffer,
2229                            uint32_t     points_len);
2230 
2231 /**
2232  *
2233  * @param c The connection
2234  * @return A cookie
2235  *
2236  * Delivers a request to the X server.
2237  *
2238  * This form can be used only if the request will not cause
2239  * a reply to be generated. Any returned error will be
2240  * saved for handling by xcb_request_check().
2241  */
2242 xcb_void_cookie_t
2243 xcb_render_tri_fan_checked (xcb_connection_t            *c,
2244                             uint8_t                      op,
2245                             xcb_render_picture_t         src,
2246                             xcb_render_picture_t         dst,
2247                             xcb_render_pictformat_t      mask_format,
2248                             int16_t                      src_x,
2249                             int16_t                      src_y,
2250                             uint32_t                     points_len,
2251                             const xcb_render_pointfix_t *points);
2252 
2253 /**
2254  *
2255  * @param c The connection
2256  * @return A cookie
2257  *
2258  * Delivers a request to the X server.
2259  *
2260  */
2261 xcb_void_cookie_t
2262 xcb_render_tri_fan (xcb_connection_t            *c,
2263                     uint8_t                      op,
2264                     xcb_render_picture_t         src,
2265                     xcb_render_picture_t         dst,
2266                     xcb_render_pictformat_t      mask_format,
2267                     int16_t                      src_x,
2268                     int16_t                      src_y,
2269                     uint32_t                     points_len,
2270                     const xcb_render_pointfix_t *points);
2271 
2272 xcb_render_pointfix_t *
2273 xcb_render_tri_fan_points (const xcb_render_tri_fan_request_t *R);
2274 
2275 int
2276 xcb_render_tri_fan_points_length (const xcb_render_tri_fan_request_t *R);
2277 
2278 xcb_render_pointfix_iterator_t
2279 xcb_render_tri_fan_points_iterator (const xcb_render_tri_fan_request_t *R);
2280 
2281 /**
2282  *
2283  * @param c The connection
2284  * @return A cookie
2285  *
2286  * Delivers a request to the X server.
2287  *
2288  * This form can be used only if the request will not cause
2289  * a reply to be generated. Any returned error will be
2290  * saved for handling by xcb_request_check().
2291  */
2292 xcb_void_cookie_t
2293 xcb_render_create_glyph_set_checked (xcb_connection_t        *c,
2294                                      xcb_render_glyphset_t    gsid,
2295                                      xcb_render_pictformat_t  format);
2296 
2297 /**
2298  *
2299  * @param c The connection
2300  * @return A cookie
2301  *
2302  * Delivers a request to the X server.
2303  *
2304  */
2305 xcb_void_cookie_t
2306 xcb_render_create_glyph_set (xcb_connection_t        *c,
2307                              xcb_render_glyphset_t    gsid,
2308                              xcb_render_pictformat_t  format);
2309 
2310 /**
2311  *
2312  * @param c The connection
2313  * @return A cookie
2314  *
2315  * Delivers a request to the X server.
2316  *
2317  * This form can be used only if the request will not cause
2318  * a reply to be generated. Any returned error will be
2319  * saved for handling by xcb_request_check().
2320  */
2321 xcb_void_cookie_t
2322 xcb_render_reference_glyph_set_checked (xcb_connection_t      *c,
2323                                         xcb_render_glyphset_t  gsid,
2324                                         xcb_render_glyphset_t  existing);
2325 
2326 /**
2327  *
2328  * @param c The connection
2329  * @return A cookie
2330  *
2331  * Delivers a request to the X server.
2332  *
2333  */
2334 xcb_void_cookie_t
2335 xcb_render_reference_glyph_set (xcb_connection_t      *c,
2336                                 xcb_render_glyphset_t  gsid,
2337                                 xcb_render_glyphset_t  existing);
2338 
2339 /**
2340  *
2341  * @param c The connection
2342  * @return A cookie
2343  *
2344  * Delivers a request to the X server.
2345  *
2346  * This form can be used only if the request will not cause
2347  * a reply to be generated. Any returned error will be
2348  * saved for handling by xcb_request_check().
2349  */
2350 xcb_void_cookie_t
2351 xcb_render_free_glyph_set_checked (xcb_connection_t      *c,
2352                                    xcb_render_glyphset_t  glyphset);
2353 
2354 /**
2355  *
2356  * @param c The connection
2357  * @return A cookie
2358  *
2359  * Delivers a request to the X server.
2360  *
2361  */
2362 xcb_void_cookie_t
2363 xcb_render_free_glyph_set (xcb_connection_t      *c,
2364                            xcb_render_glyphset_t  glyphset);
2365 
2366 int
2367 xcb_render_add_glyphs_sizeof (const void  *_buffer,
2368                               uint32_t     data_len);
2369 
2370 /**
2371  *
2372  * @param c The connection
2373  * @return A cookie
2374  *
2375  * Delivers a request to the X server.
2376  *
2377  * This form can be used only if the request will not cause
2378  * a reply to be generated. Any returned error will be
2379  * saved for handling by xcb_request_check().
2380  */
2381 xcb_void_cookie_t
2382 xcb_render_add_glyphs_checked (xcb_connection_t             *c,
2383                                xcb_render_glyphset_t         glyphset,
2384                                uint32_t                      glyphs_len,
2385                                const uint32_t               *glyphids,
2386                                const xcb_render_glyphinfo_t *glyphs,
2387                                uint32_t                      data_len,
2388                                const uint8_t                *data);
2389 
2390 /**
2391  *
2392  * @param c The connection
2393  * @return A cookie
2394  *
2395  * Delivers a request to the X server.
2396  *
2397  */
2398 xcb_void_cookie_t
2399 xcb_render_add_glyphs (xcb_connection_t             *c,
2400                        xcb_render_glyphset_t         glyphset,
2401                        uint32_t                      glyphs_len,
2402                        const uint32_t               *glyphids,
2403                        const xcb_render_glyphinfo_t *glyphs,
2404                        uint32_t                      data_len,
2405                        const uint8_t                *data);
2406 
2407 uint32_t *
2408 xcb_render_add_glyphs_glyphids (const xcb_render_add_glyphs_request_t *R);
2409 
2410 int
2411 xcb_render_add_glyphs_glyphids_length (const xcb_render_add_glyphs_request_t *R);
2412 
2413 xcb_generic_iterator_t
2414 xcb_render_add_glyphs_glyphids_end (const xcb_render_add_glyphs_request_t *R);
2415 
2416 xcb_render_glyphinfo_t *
2417 xcb_render_add_glyphs_glyphs (const xcb_render_add_glyphs_request_t *R);
2418 
2419 int
2420 xcb_render_add_glyphs_glyphs_length (const xcb_render_add_glyphs_request_t *R);
2421 
2422 xcb_render_glyphinfo_iterator_t
2423 xcb_render_add_glyphs_glyphs_iterator (const xcb_render_add_glyphs_request_t *R);
2424 
2425 uint8_t *
2426 xcb_render_add_glyphs_data (const xcb_render_add_glyphs_request_t *R);
2427 
2428 int
2429 xcb_render_add_glyphs_data_length (const xcb_render_add_glyphs_request_t *R);
2430 
2431 xcb_generic_iterator_t
2432 xcb_render_add_glyphs_data_end (const xcb_render_add_glyphs_request_t *R);
2433 
2434 int
2435 xcb_render_free_glyphs_sizeof (const void  *_buffer,
2436                                uint32_t     glyphs_len);
2437 
2438 /**
2439  *
2440  * @param c The connection
2441  * @return A cookie
2442  *
2443  * Delivers a request to the X server.
2444  *
2445  * This form can be used only if the request will not cause
2446  * a reply to be generated. Any returned error will be
2447  * saved for handling by xcb_request_check().
2448  */
2449 xcb_void_cookie_t
2450 xcb_render_free_glyphs_checked (xcb_connection_t         *c,
2451                                 xcb_render_glyphset_t     glyphset,
2452                                 uint32_t                  glyphs_len,
2453                                 const xcb_render_glyph_t *glyphs);
2454 
2455 /**
2456  *
2457  * @param c The connection
2458  * @return A cookie
2459  *
2460  * Delivers a request to the X server.
2461  *
2462  */
2463 xcb_void_cookie_t
2464 xcb_render_free_glyphs (xcb_connection_t         *c,
2465                         xcb_render_glyphset_t     glyphset,
2466                         uint32_t                  glyphs_len,
2467                         const xcb_render_glyph_t *glyphs);
2468 
2469 xcb_render_glyph_t *
2470 xcb_render_free_glyphs_glyphs (const xcb_render_free_glyphs_request_t *R);
2471 
2472 int
2473 xcb_render_free_glyphs_glyphs_length (const xcb_render_free_glyphs_request_t *R);
2474 
2475 xcb_generic_iterator_t
2476 xcb_render_free_glyphs_glyphs_end (const xcb_render_free_glyphs_request_t *R);
2477 
2478 int
2479 xcb_render_composite_glyphs_8_sizeof (const void  *_buffer,
2480                                       uint32_t     glyphcmds_len);
2481 
2482 /**
2483  *
2484  * @param c The connection
2485  * @return A cookie
2486  *
2487  * Delivers a request to the X server.
2488  *
2489  * This form can be used only if the request will not cause
2490  * a reply to be generated. Any returned error will be
2491  * saved for handling by xcb_request_check().
2492  */
2493 xcb_void_cookie_t
2494 xcb_render_composite_glyphs_8_checked (xcb_connection_t        *c,
2495                                        uint8_t                  op,
2496                                        xcb_render_picture_t     src,
2497                                        xcb_render_picture_t     dst,
2498                                        xcb_render_pictformat_t  mask_format,
2499                                        xcb_render_glyphset_t    glyphset,
2500                                        int16_t                  src_x,
2501                                        int16_t                  src_y,
2502                                        uint32_t                 glyphcmds_len,
2503                                        const uint8_t           *glyphcmds);
2504 
2505 /**
2506  *
2507  * @param c The connection
2508  * @return A cookie
2509  *
2510  * Delivers a request to the X server.
2511  *
2512  */
2513 xcb_void_cookie_t
2514 xcb_render_composite_glyphs_8 (xcb_connection_t        *c,
2515                                uint8_t                  op,
2516                                xcb_render_picture_t     src,
2517                                xcb_render_picture_t     dst,
2518                                xcb_render_pictformat_t  mask_format,
2519                                xcb_render_glyphset_t    glyphset,
2520                                int16_t                  src_x,
2521                                int16_t                  src_y,
2522                                uint32_t                 glyphcmds_len,
2523                                const uint8_t           *glyphcmds);
2524 
2525 uint8_t *
2526 xcb_render_composite_glyphs_8_glyphcmds (const xcb_render_composite_glyphs_8_request_t *R);
2527 
2528 int
2529 xcb_render_composite_glyphs_8_glyphcmds_length (const xcb_render_composite_glyphs_8_request_t *R);
2530 
2531 xcb_generic_iterator_t
2532 xcb_render_composite_glyphs_8_glyphcmds_end (const xcb_render_composite_glyphs_8_request_t *R);
2533 
2534 int
2535 xcb_render_composite_glyphs_16_sizeof (const void  *_buffer,
2536                                        uint32_t     glyphcmds_len);
2537 
2538 /**
2539  *
2540  * @param c The connection
2541  * @return A cookie
2542  *
2543  * Delivers a request to the X server.
2544  *
2545  * This form can be used only if the request will not cause
2546  * a reply to be generated. Any returned error will be
2547  * saved for handling by xcb_request_check().
2548  */
2549 xcb_void_cookie_t
2550 xcb_render_composite_glyphs_16_checked (xcb_connection_t        *c,
2551                                         uint8_t                  op,
2552                                         xcb_render_picture_t     src,
2553                                         xcb_render_picture_t     dst,
2554                                         xcb_render_pictformat_t  mask_format,
2555                                         xcb_render_glyphset_t    glyphset,
2556                                         int16_t                  src_x,
2557                                         int16_t                  src_y,
2558                                         uint32_t                 glyphcmds_len,
2559                                         const uint8_t           *glyphcmds);
2560 
2561 /**
2562  *
2563  * @param c The connection
2564  * @return A cookie
2565  *
2566  * Delivers a request to the X server.
2567  *
2568  */
2569 xcb_void_cookie_t
2570 xcb_render_composite_glyphs_16 (xcb_connection_t        *c,
2571                                 uint8_t                  op,
2572                                 xcb_render_picture_t     src,
2573                                 xcb_render_picture_t     dst,
2574                                 xcb_render_pictformat_t  mask_format,
2575                                 xcb_render_glyphset_t    glyphset,
2576                                 int16_t                  src_x,
2577                                 int16_t                  src_y,
2578                                 uint32_t                 glyphcmds_len,
2579                                 const uint8_t           *glyphcmds);
2580 
2581 uint8_t *
2582 xcb_render_composite_glyphs_16_glyphcmds (const xcb_render_composite_glyphs_16_request_t *R);
2583 
2584 int
2585 xcb_render_composite_glyphs_16_glyphcmds_length (const xcb_render_composite_glyphs_16_request_t *R);
2586 
2587 xcb_generic_iterator_t
2588 xcb_render_composite_glyphs_16_glyphcmds_end (const xcb_render_composite_glyphs_16_request_t *R);
2589 
2590 int
2591 xcb_render_composite_glyphs_32_sizeof (const void  *_buffer,
2592                                        uint32_t     glyphcmds_len);
2593 
2594 /**
2595  *
2596  * @param c The connection
2597  * @return A cookie
2598  *
2599  * Delivers a request to the X server.
2600  *
2601  * This form can be used only if the request will not cause
2602  * a reply to be generated. Any returned error will be
2603  * saved for handling by xcb_request_check().
2604  */
2605 xcb_void_cookie_t
2606 xcb_render_composite_glyphs_32_checked (xcb_connection_t        *c,
2607                                         uint8_t                  op,
2608                                         xcb_render_picture_t     src,
2609                                         xcb_render_picture_t     dst,
2610                                         xcb_render_pictformat_t  mask_format,
2611                                         xcb_render_glyphset_t    glyphset,
2612                                         int16_t                  src_x,
2613                                         int16_t                  src_y,
2614                                         uint32_t                 glyphcmds_len,
2615                                         const uint8_t           *glyphcmds);
2616 
2617 /**
2618  *
2619  * @param c The connection
2620  * @return A cookie
2621  *
2622  * Delivers a request to the X server.
2623  *
2624  */
2625 xcb_void_cookie_t
2626 xcb_render_composite_glyphs_32 (xcb_connection_t        *c,
2627                                 uint8_t                  op,
2628                                 xcb_render_picture_t     src,
2629                                 xcb_render_picture_t     dst,
2630                                 xcb_render_pictformat_t  mask_format,
2631                                 xcb_render_glyphset_t    glyphset,
2632                                 int16_t                  src_x,
2633                                 int16_t                  src_y,
2634                                 uint32_t                 glyphcmds_len,
2635                                 const uint8_t           *glyphcmds);
2636 
2637 uint8_t *
2638 xcb_render_composite_glyphs_32_glyphcmds (const xcb_render_composite_glyphs_32_request_t *R);
2639 
2640 int
2641 xcb_render_composite_glyphs_32_glyphcmds_length (const xcb_render_composite_glyphs_32_request_t *R);
2642 
2643 xcb_generic_iterator_t
2644 xcb_render_composite_glyphs_32_glyphcmds_end (const xcb_render_composite_glyphs_32_request_t *R);
2645 
2646 int
2647 xcb_render_fill_rectangles_sizeof (const void  *_buffer,
2648                                    uint32_t     rects_len);
2649 
2650 /**
2651  *
2652  * @param c The connection
2653  * @return A cookie
2654  *
2655  * Delivers a request to the X server.
2656  *
2657  * This form can be used only if the request will not cause
2658  * a reply to be generated. Any returned error will be
2659  * saved for handling by xcb_request_check().
2660  */
2661 xcb_void_cookie_t
2662 xcb_render_fill_rectangles_checked (xcb_connection_t      *c,
2663                                     uint8_t                op,
2664                                     xcb_render_picture_t   dst,
2665                                     xcb_render_color_t     color,
2666                                     uint32_t               rects_len,
2667                                     const xcb_rectangle_t *rects);
2668 
2669 /**
2670  *
2671  * @param c The connection
2672  * @return A cookie
2673  *
2674  * Delivers a request to the X server.
2675  *
2676  */
2677 xcb_void_cookie_t
2678 xcb_render_fill_rectangles (xcb_connection_t      *c,
2679                             uint8_t                op,
2680                             xcb_render_picture_t   dst,
2681                             xcb_render_color_t     color,
2682                             uint32_t               rects_len,
2683                             const xcb_rectangle_t *rects);
2684 
2685 xcb_rectangle_t *
2686 xcb_render_fill_rectangles_rects (const xcb_render_fill_rectangles_request_t *R);
2687 
2688 int
2689 xcb_render_fill_rectangles_rects_length (const xcb_render_fill_rectangles_request_t *R);
2690 
2691 xcb_rectangle_iterator_t
2692 xcb_render_fill_rectangles_rects_iterator (const xcb_render_fill_rectangles_request_t *R);
2693 
2694 /**
2695  *
2696  * @param c The connection
2697  * @return A cookie
2698  *
2699  * Delivers a request to the X server.
2700  *
2701  * This form can be used only if the request will not cause
2702  * a reply to be generated. Any returned error will be
2703  * saved for handling by xcb_request_check().
2704  */
2705 xcb_void_cookie_t
2706 xcb_render_create_cursor_checked (xcb_connection_t     *c,
2707                                   xcb_cursor_t          cid,
2708                                   xcb_render_picture_t  source,
2709                                   uint16_t              x,
2710                                   uint16_t              y);
2711 
2712 /**
2713  *
2714  * @param c The connection
2715  * @return A cookie
2716  *
2717  * Delivers a request to the X server.
2718  *
2719  */
2720 xcb_void_cookie_t
2721 xcb_render_create_cursor (xcb_connection_t     *c,
2722                           xcb_cursor_t          cid,
2723                           xcb_render_picture_t  source,
2724                           uint16_t              x,
2725                           uint16_t              y);
2726 
2727 /**
2728  * Get the next element of the iterator
2729  * @param i Pointer to a xcb_render_transform_iterator_t
2730  *
2731  * Get the next element in the iterator. The member rem is
2732  * decreased by one. The member data points to the next
2733  * element. The member index is increased by sizeof(xcb_render_transform_t)
2734  */
2735 void
2736 xcb_render_transform_next (xcb_render_transform_iterator_t *i);
2737 
2738 /**
2739  * Return the iterator pointing to the last element
2740  * @param i An xcb_render_transform_iterator_t
2741  * @return  The iterator pointing to the last element
2742  *
2743  * Set the current element in the iterator to the last element.
2744  * The member rem is set to 0. The member data points to the
2745  * last element.
2746  */
2747 xcb_generic_iterator_t
2748 xcb_render_transform_end (xcb_render_transform_iterator_t i);
2749 
2750 /**
2751  *
2752  * @param c The connection
2753  * @return A cookie
2754  *
2755  * Delivers a request to the X server.
2756  *
2757  * This form can be used only if the request will not cause
2758  * a reply to be generated. Any returned error will be
2759  * saved for handling by xcb_request_check().
2760  */
2761 xcb_void_cookie_t
2762 xcb_render_set_picture_transform_checked (xcb_connection_t       *c,
2763                                           xcb_render_picture_t    picture,
2764                                           xcb_render_transform_t  transform);
2765 
2766 /**
2767  *
2768  * @param c The connection
2769  * @return A cookie
2770  *
2771  * Delivers a request to the X server.
2772  *
2773  */
2774 xcb_void_cookie_t
2775 xcb_render_set_picture_transform (xcb_connection_t       *c,
2776                                   xcb_render_picture_t    picture,
2777                                   xcb_render_transform_t  transform);
2778 
2779 int
2780 xcb_render_query_filters_sizeof (const void  *_buffer);
2781 
2782 /**
2783  *
2784  * @param c The connection
2785  * @return A cookie
2786  *
2787  * Delivers a request to the X server.
2788  *
2789  */
2790 xcb_render_query_filters_cookie_t
2791 xcb_render_query_filters (xcb_connection_t *c,
2792                           xcb_drawable_t    drawable);
2793 
2794 /**
2795  *
2796  * @param c The connection
2797  * @return A cookie
2798  *
2799  * Delivers a request to the X server.
2800  *
2801  * This form can be used only if the request will cause
2802  * a reply to be generated. Any returned error will be
2803  * placed in the event queue.
2804  */
2805 xcb_render_query_filters_cookie_t
2806 xcb_render_query_filters_unchecked (xcb_connection_t *c,
2807                                     xcb_drawable_t    drawable);
2808 
2809 uint16_t *
2810 xcb_render_query_filters_aliases (const xcb_render_query_filters_reply_t *R);
2811 
2812 int
2813 xcb_render_query_filters_aliases_length (const xcb_render_query_filters_reply_t *R);
2814 
2815 xcb_generic_iterator_t
2816 xcb_render_query_filters_aliases_end (const xcb_render_query_filters_reply_t *R);
2817 
2818 int
2819 xcb_render_query_filters_filters_length (const xcb_render_query_filters_reply_t *R);
2820 
2821 xcb_str_iterator_t
2822 xcb_render_query_filters_filters_iterator (const xcb_render_query_filters_reply_t *R);
2823 
2824 /**
2825  * Return the reply
2826  * @param c      The connection
2827  * @param cookie The cookie
2828  * @param e      The xcb_generic_error_t supplied
2829  *
2830  * Returns the reply of the request asked by
2831  *
2832  * The parameter @p e supplied to this function must be NULL if
2833  * xcb_render_query_filters_unchecked(). is used.
2834  * Otherwise, it stores the error if any.
2835  *
2836  * The returned value must be freed by the caller using free().
2837  */
2838 xcb_render_query_filters_reply_t *
2839 xcb_render_query_filters_reply (xcb_connection_t                   *c,
2840                                 xcb_render_query_filters_cookie_t   cookie  /**< */,
2841                                 xcb_generic_error_t               **e);
2842 
2843 int
2844 xcb_render_set_picture_filter_sizeof (const void  *_buffer,
2845                                       uint32_t     values_len);
2846 
2847 /**
2848  *
2849  * @param c The connection
2850  * @return A cookie
2851  *
2852  * Delivers a request to the X server.
2853  *
2854  * This form can be used only if the request will not cause
2855  * a reply to be generated. Any returned error will be
2856  * saved for handling by xcb_request_check().
2857  */
2858 xcb_void_cookie_t
2859 xcb_render_set_picture_filter_checked (xcb_connection_t         *c,
2860                                        xcb_render_picture_t      picture,
2861                                        uint16_t                  filter_len,
2862                                        const char               *filter,
2863                                        uint32_t                  values_len,
2864                                        const xcb_render_fixed_t *values);
2865 
2866 /**
2867  *
2868  * @param c The connection
2869  * @return A cookie
2870  *
2871  * Delivers a request to the X server.
2872  *
2873  */
2874 xcb_void_cookie_t
2875 xcb_render_set_picture_filter (xcb_connection_t         *c,
2876                                xcb_render_picture_t      picture,
2877                                uint16_t                  filter_len,
2878                                const char               *filter,
2879                                uint32_t                  values_len,
2880                                const xcb_render_fixed_t *values);
2881 
2882 char *
2883 xcb_render_set_picture_filter_filter (const xcb_render_set_picture_filter_request_t *R);
2884 
2885 int
2886 xcb_render_set_picture_filter_filter_length (const xcb_render_set_picture_filter_request_t *R);
2887 
2888 xcb_generic_iterator_t
2889 xcb_render_set_picture_filter_filter_end (const xcb_render_set_picture_filter_request_t *R);
2890 
2891 xcb_render_fixed_t *
2892 xcb_render_set_picture_filter_values (const xcb_render_set_picture_filter_request_t *R);
2893 
2894 int
2895 xcb_render_set_picture_filter_values_length (const xcb_render_set_picture_filter_request_t *R);
2896 
2897 xcb_generic_iterator_t
2898 xcb_render_set_picture_filter_values_end (const xcb_render_set_picture_filter_request_t *R);
2899 
2900 /**
2901  * Get the next element of the iterator
2902  * @param i Pointer to a xcb_render_animcursorelt_iterator_t
2903  *
2904  * Get the next element in the iterator. The member rem is
2905  * decreased by one. The member data points to the next
2906  * element. The member index is increased by sizeof(xcb_render_animcursorelt_t)
2907  */
2908 void
2909 xcb_render_animcursorelt_next (xcb_render_animcursorelt_iterator_t *i);
2910 
2911 /**
2912  * Return the iterator pointing to the last element
2913  * @param i An xcb_render_animcursorelt_iterator_t
2914  * @return  The iterator pointing to the last element
2915  *
2916  * Set the current element in the iterator to the last element.
2917  * The member rem is set to 0. The member data points to the
2918  * last element.
2919  */
2920 xcb_generic_iterator_t
2921 xcb_render_animcursorelt_end (xcb_render_animcursorelt_iterator_t i);
2922 
2923 int
2924 xcb_render_create_anim_cursor_sizeof (const void  *_buffer,
2925                                       uint32_t     cursors_len);
2926 
2927 /**
2928  *
2929  * @param c The connection
2930  * @return A cookie
2931  *
2932  * Delivers a request to the X server.
2933  *
2934  * This form can be used only if the request will not cause
2935  * a reply to be generated. Any returned error will be
2936  * saved for handling by xcb_request_check().
2937  */
2938 xcb_void_cookie_t
2939 xcb_render_create_anim_cursor_checked (xcb_connection_t                 *c,
2940                                        xcb_cursor_t                      cid,
2941                                        uint32_t                          cursors_len,
2942                                        const xcb_render_animcursorelt_t *cursors);
2943 
2944 /**
2945  *
2946  * @param c The connection
2947  * @return A cookie
2948  *
2949  * Delivers a request to the X server.
2950  *
2951  */
2952 xcb_void_cookie_t
2953 xcb_render_create_anim_cursor (xcb_connection_t                 *c,
2954                                xcb_cursor_t                      cid,
2955                                uint32_t                          cursors_len,
2956                                const xcb_render_animcursorelt_t *cursors);
2957 
2958 xcb_render_animcursorelt_t *
2959 xcb_render_create_anim_cursor_cursors (const xcb_render_create_anim_cursor_request_t *R);
2960 
2961 int
2962 xcb_render_create_anim_cursor_cursors_length (const xcb_render_create_anim_cursor_request_t *R);
2963 
2964 xcb_render_animcursorelt_iterator_t
2965 xcb_render_create_anim_cursor_cursors_iterator (const xcb_render_create_anim_cursor_request_t *R);
2966 
2967 /**
2968  * Get the next element of the iterator
2969  * @param i Pointer to a xcb_render_spanfix_iterator_t
2970  *
2971  * Get the next element in the iterator. The member rem is
2972  * decreased by one. The member data points to the next
2973  * element. The member index is increased by sizeof(xcb_render_spanfix_t)
2974  */
2975 void
2976 xcb_render_spanfix_next (xcb_render_spanfix_iterator_t *i);
2977 
2978 /**
2979  * Return the iterator pointing to the last element
2980  * @param i An xcb_render_spanfix_iterator_t
2981  * @return  The iterator pointing to the last element
2982  *
2983  * Set the current element in the iterator to the last element.
2984  * The member rem is set to 0. The member data points to the
2985  * last element.
2986  */
2987 xcb_generic_iterator_t
2988 xcb_render_spanfix_end (xcb_render_spanfix_iterator_t i);
2989 
2990 /**
2991  * Get the next element of the iterator
2992  * @param i Pointer to a xcb_render_trap_iterator_t
2993  *
2994  * Get the next element in the iterator. The member rem is
2995  * decreased by one. The member data points to the next
2996  * element. The member index is increased by sizeof(xcb_render_trap_t)
2997  */
2998 void
2999 xcb_render_trap_next (xcb_render_trap_iterator_t *i);
3000 
3001 /**
3002  * Return the iterator pointing to the last element
3003  * @param i An xcb_render_trap_iterator_t
3004  * @return  The iterator pointing to the last element
3005  *
3006  * Set the current element in the iterator to the last element.
3007  * The member rem is set to 0. The member data points to the
3008  * last element.
3009  */
3010 xcb_generic_iterator_t
3011 xcb_render_trap_end (xcb_render_trap_iterator_t i);
3012 
3013 int
3014 xcb_render_add_traps_sizeof (const void  *_buffer,
3015                              uint32_t     traps_len);
3016 
3017 /**
3018  *
3019  * @param c The connection
3020  * @return A cookie
3021  *
3022  * Delivers a request to the X server.
3023  *
3024  * This form can be used only if the request will not cause
3025  * a reply to be generated. Any returned error will be
3026  * saved for handling by xcb_request_check().
3027  */
3028 xcb_void_cookie_t
3029 xcb_render_add_traps_checked (xcb_connection_t        *c,
3030                               xcb_render_picture_t     picture,
3031                               int16_t                  x_off,
3032                               int16_t                  y_off,
3033                               uint32_t                 traps_len,
3034                               const xcb_render_trap_t *traps);
3035 
3036 /**
3037  *
3038  * @param c The connection
3039  * @return A cookie
3040  *
3041  * Delivers a request to the X server.
3042  *
3043  */
3044 xcb_void_cookie_t
3045 xcb_render_add_traps (xcb_connection_t        *c,
3046                       xcb_render_picture_t     picture,
3047                       int16_t                  x_off,
3048                       int16_t                  y_off,
3049                       uint32_t                 traps_len,
3050                       const xcb_render_trap_t *traps);
3051 
3052 xcb_render_trap_t *
3053 xcb_render_add_traps_traps (const xcb_render_add_traps_request_t *R);
3054 
3055 int
3056 xcb_render_add_traps_traps_length (const xcb_render_add_traps_request_t *R);
3057 
3058 xcb_render_trap_iterator_t
3059 xcb_render_add_traps_traps_iterator (const xcb_render_add_traps_request_t *R);
3060 
3061 /**
3062  *
3063  * @param c The connection
3064  * @return A cookie
3065  *
3066  * Delivers a request to the X server.
3067  *
3068  * This form can be used only if the request will not cause
3069  * a reply to be generated. Any returned error will be
3070  * saved for handling by xcb_request_check().
3071  */
3072 xcb_void_cookie_t
3073 xcb_render_create_solid_fill_checked (xcb_connection_t     *c,
3074                                       xcb_render_picture_t  picture,
3075                                       xcb_render_color_t    color);
3076 
3077 /**
3078  *
3079  * @param c The connection
3080  * @return A cookie
3081  *
3082  * Delivers a request to the X server.
3083  *
3084  */
3085 xcb_void_cookie_t
3086 xcb_render_create_solid_fill (xcb_connection_t     *c,
3087                               xcb_render_picture_t  picture,
3088                               xcb_render_color_t    color);
3089 
3090 int
3091 xcb_render_create_linear_gradient_sizeof (const void  *_buffer);
3092 
3093 /**
3094  *
3095  * @param c The connection
3096  * @return A cookie
3097  *
3098  * Delivers a request to the X server.
3099  *
3100  * This form can be used only if the request will not cause
3101  * a reply to be generated. Any returned error will be
3102  * saved for handling by xcb_request_check().
3103  */
3104 xcb_void_cookie_t
3105 xcb_render_create_linear_gradient_checked (xcb_connection_t         *c,
3106                                            xcb_render_picture_t      picture,
3107                                            xcb_render_pointfix_t     p1,
3108                                            xcb_render_pointfix_t     p2,
3109                                            uint32_t                  num_stops,
3110                                            const xcb_render_fixed_t *stops,
3111                                            const xcb_render_color_t *colors);
3112 
3113 /**
3114  *
3115  * @param c The connection
3116  * @return A cookie
3117  *
3118  * Delivers a request to the X server.
3119  *
3120  */
3121 xcb_void_cookie_t
3122 xcb_render_create_linear_gradient (xcb_connection_t         *c,
3123                                    xcb_render_picture_t      picture,
3124                                    xcb_render_pointfix_t     p1,
3125                                    xcb_render_pointfix_t     p2,
3126                                    uint32_t                  num_stops,
3127                                    const xcb_render_fixed_t *stops,
3128                                    const xcb_render_color_t *colors);
3129 
3130 xcb_render_fixed_t *
3131 xcb_render_create_linear_gradient_stops (const xcb_render_create_linear_gradient_request_t *R);
3132 
3133 int
3134 xcb_render_create_linear_gradient_stops_length (const xcb_render_create_linear_gradient_request_t *R);
3135 
3136 xcb_generic_iterator_t
3137 xcb_render_create_linear_gradient_stops_end (const xcb_render_create_linear_gradient_request_t *R);
3138 
3139 xcb_render_color_t *
3140 xcb_render_create_linear_gradient_colors (const xcb_render_create_linear_gradient_request_t *R);
3141 
3142 int
3143 xcb_render_create_linear_gradient_colors_length (const xcb_render_create_linear_gradient_request_t *R);
3144 
3145 xcb_render_color_iterator_t
3146 xcb_render_create_linear_gradient_colors_iterator (const xcb_render_create_linear_gradient_request_t *R);
3147 
3148 int
3149 xcb_render_create_radial_gradient_sizeof (const void  *_buffer);
3150 
3151 /**
3152  *
3153  * @param c The connection
3154  * @return A cookie
3155  *
3156  * Delivers a request to the X server.
3157  *
3158  * This form can be used only if the request will not cause
3159  * a reply to be generated. Any returned error will be
3160  * saved for handling by xcb_request_check().
3161  */
3162 xcb_void_cookie_t
3163 xcb_render_create_radial_gradient_checked (xcb_connection_t         *c,
3164                                            xcb_render_picture_t      picture,
3165                                            xcb_render_pointfix_t     inner,
3166                                            xcb_render_pointfix_t     outer,
3167                                            xcb_render_fixed_t        inner_radius,
3168                                            xcb_render_fixed_t        outer_radius,
3169                                            uint32_t                  num_stops,
3170                                            const xcb_render_fixed_t *stops,
3171                                            const xcb_render_color_t *colors);
3172 
3173 /**
3174  *
3175  * @param c The connection
3176  * @return A cookie
3177  *
3178  * Delivers a request to the X server.
3179  *
3180  */
3181 xcb_void_cookie_t
3182 xcb_render_create_radial_gradient (xcb_connection_t         *c,
3183                                    xcb_render_picture_t      picture,
3184                                    xcb_render_pointfix_t     inner,
3185                                    xcb_render_pointfix_t     outer,
3186                                    xcb_render_fixed_t        inner_radius,
3187                                    xcb_render_fixed_t        outer_radius,
3188                                    uint32_t                  num_stops,
3189                                    const xcb_render_fixed_t *stops,
3190                                    const xcb_render_color_t *colors);
3191 
3192 xcb_render_fixed_t *
3193 xcb_render_create_radial_gradient_stops (const xcb_render_create_radial_gradient_request_t *R);
3194 
3195 int
3196 xcb_render_create_radial_gradient_stops_length (const xcb_render_create_radial_gradient_request_t *R);
3197 
3198 xcb_generic_iterator_t
3199 xcb_render_create_radial_gradient_stops_end (const xcb_render_create_radial_gradient_request_t *R);
3200 
3201 xcb_render_color_t *
3202 xcb_render_create_radial_gradient_colors (const xcb_render_create_radial_gradient_request_t *R);
3203 
3204 int
3205 xcb_render_create_radial_gradient_colors_length (const xcb_render_create_radial_gradient_request_t *R);
3206 
3207 xcb_render_color_iterator_t
3208 xcb_render_create_radial_gradient_colors_iterator (const xcb_render_create_radial_gradient_request_t *R);
3209 
3210 int
3211 xcb_render_create_conical_gradient_sizeof (const void  *_buffer);
3212 
3213 /**
3214  *
3215  * @param c The connection
3216  * @return A cookie
3217  *
3218  * Delivers a request to the X server.
3219  *
3220  * This form can be used only if the request will not cause
3221  * a reply to be generated. Any returned error will be
3222  * saved for handling by xcb_request_check().
3223  */
3224 xcb_void_cookie_t
3225 xcb_render_create_conical_gradient_checked (xcb_connection_t         *c,
3226                                             xcb_render_picture_t      picture,
3227                                             xcb_render_pointfix_t     center,
3228                                             xcb_render_fixed_t        angle,
3229                                             uint32_t                  num_stops,
3230                                             const xcb_render_fixed_t *stops,
3231                                             const xcb_render_color_t *colors);
3232 
3233 /**
3234  *
3235  * @param c The connection
3236  * @return A cookie
3237  *
3238  * Delivers a request to the X server.
3239  *
3240  */
3241 xcb_void_cookie_t
3242 xcb_render_create_conical_gradient (xcb_connection_t         *c,
3243                                     xcb_render_picture_t      picture,
3244                                     xcb_render_pointfix_t     center,
3245                                     xcb_render_fixed_t        angle,
3246                                     uint32_t                  num_stops,
3247                                     const xcb_render_fixed_t *stops,
3248                                     const xcb_render_color_t *colors);
3249 
3250 xcb_render_fixed_t *
3251 xcb_render_create_conical_gradient_stops (const xcb_render_create_conical_gradient_request_t *R);
3252 
3253 int
3254 xcb_render_create_conical_gradient_stops_length (const xcb_render_create_conical_gradient_request_t *R);
3255 
3256 xcb_generic_iterator_t
3257 xcb_render_create_conical_gradient_stops_end (const xcb_render_create_conical_gradient_request_t *R);
3258 
3259 xcb_render_color_t *
3260 xcb_render_create_conical_gradient_colors (const xcb_render_create_conical_gradient_request_t *R);
3261 
3262 int
3263 xcb_render_create_conical_gradient_colors_length (const xcb_render_create_conical_gradient_request_t *R);
3264 
3265 xcb_render_color_iterator_t
3266 xcb_render_create_conical_gradient_colors_iterator (const xcb_render_create_conical_gradient_request_t *R);
3267 
3268 
3269 #ifdef __cplusplus
3270 }
3271 #endif
3272 
3273 #endif
3274 
3275 /**
3276  * @}
3277  */
3278