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