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