1/*
2 * This file generated automatically from xfixes.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_XFixes_API XCB XFixes API
8 * @brief XFixes XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __XFIXES_H
13#define __XFIXES_H
14
15#include "xcb.h"
16#include "xproto.h"
17#include "render.h"
18#include "shape.h"
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24#define XCB_XFIXES_MAJOR_VERSION 5
25#define XCB_XFIXES_MINOR_VERSION 0
26
27extern xcb_extension_t xcb_xfixes_id;
28
29/**
30 * @brief xcb_xfixes_query_version_cookie_t
31 **/
32typedef struct xcb_xfixes_query_version_cookie_t {
33 unsigned int sequence;
34} xcb_xfixes_query_version_cookie_t;
35
36/** Opcode for xcb_xfixes_query_version. */
37#define XCB_XFIXES_QUERY_VERSION 0
38
39/**
40 * @brief xcb_xfixes_query_version_request_t
41 **/
42typedef struct xcb_xfixes_query_version_request_t {
43 uint8_t major_opcode;
44 uint8_t minor_opcode;
45 uint16_t length;
46 uint32_t client_major_version;
47 uint32_t client_minor_version;
48} xcb_xfixes_query_version_request_t;
49
50/**
51 * @brief xcb_xfixes_query_version_reply_t
52 **/
53typedef struct xcb_xfixes_query_version_reply_t {
54 uint8_t response_type;
55 uint8_t pad0;
56 uint16_t sequence;
57 uint32_t length;
58 uint32_t major_version;
59 uint32_t minor_version;
60 uint8_t pad1[16];
61} xcb_xfixes_query_version_reply_t;
62
63typedef enum xcb_xfixes_save_set_mode_t {
64 XCB_XFIXES_SAVE_SET_MODE_INSERT = 0,
65 XCB_XFIXES_SAVE_SET_MODE_DELETE = 1
66} xcb_xfixes_save_set_mode_t;
67
68typedef enum xcb_xfixes_save_set_target_t {
69 XCB_XFIXES_SAVE_SET_TARGET_NEAREST = 0,
70 XCB_XFIXES_SAVE_SET_TARGET_ROOT = 1
71} xcb_xfixes_save_set_target_t;
72
73typedef enum xcb_xfixes_save_set_mapping_t {
74 XCB_XFIXES_SAVE_SET_MAPPING_MAP = 0,
75 XCB_XFIXES_SAVE_SET_MAPPING_UNMAP = 1
76} xcb_xfixes_save_set_mapping_t;
77
78/** Opcode for xcb_xfixes_change_save_set. */
79#define XCB_XFIXES_CHANGE_SAVE_SET 1
80
81/**
82 * @brief xcb_xfixes_change_save_set_request_t
83 **/
84typedef struct xcb_xfixes_change_save_set_request_t {
85 uint8_t major_opcode;
86 uint8_t minor_opcode;
87 uint16_t length;
88 uint8_t mode;
89 uint8_t target;
90 uint8_t map;
91 uint8_t pad0;
92 xcb_window_t window;
93} xcb_xfixes_change_save_set_request_t;
94
95typedef enum xcb_xfixes_selection_event_t {
96 XCB_XFIXES_SELECTION_EVENT_SET_SELECTION_OWNER = 0,
97 XCB_XFIXES_SELECTION_EVENT_SELECTION_WINDOW_DESTROY = 1,
98 XCB_XFIXES_SELECTION_EVENT_SELECTION_CLIENT_CLOSE = 2
99} xcb_xfixes_selection_event_t;
100
101typedef enum xcb_xfixes_selection_event_mask_t {
102 XCB_XFIXES_SELECTION_EVENT_MASK_SET_SELECTION_OWNER = 1,
103 XCB_XFIXES_SELECTION_EVENT_MASK_SELECTION_WINDOW_DESTROY = 2,
104 XCB_XFIXES_SELECTION_EVENT_MASK_SELECTION_CLIENT_CLOSE = 4
105} xcb_xfixes_selection_event_mask_t;
106
107/** Opcode for xcb_xfixes_selection_notify. */
108#define XCB_XFIXES_SELECTION_NOTIFY 0
109
110/**
111 * @brief xcb_xfixes_selection_notify_event_t
112 **/
113typedef struct xcb_xfixes_selection_notify_event_t {
114 uint8_t response_type;
115 uint8_t subtype;
116 uint16_t sequence;
117 xcb_window_t window;
118 xcb_window_t owner;
119 xcb_atom_t selection;
120 xcb_timestamp_t timestamp;
121 xcb_timestamp_t selection_timestamp;
122 uint8_t pad0[8];
123} xcb_xfixes_selection_notify_event_t;
124
125/** Opcode for xcb_xfixes_select_selection_input. */
126#define XCB_XFIXES_SELECT_SELECTION_INPUT 2
127
128/**
129 * @brief xcb_xfixes_select_selection_input_request_t
130 **/
131typedef struct xcb_xfixes_select_selection_input_request_t {
132 uint8_t major_opcode;
133 uint8_t minor_opcode;
134 uint16_t length;
135 xcb_window_t window;
136 xcb_atom_t selection;
137 uint32_t event_mask;
138} xcb_xfixes_select_selection_input_request_t;
139
140typedef enum xcb_xfixes_cursor_notify_t {
141 XCB_XFIXES_CURSOR_NOTIFY_DISPLAY_CURSOR = 0
142} xcb_xfixes_cursor_notify_t;
143
144typedef enum xcb_xfixes_cursor_notify_mask_t {
145 XCB_XFIXES_CURSOR_NOTIFY_MASK_DISPLAY_CURSOR = 1
146} xcb_xfixes_cursor_notify_mask_t;
147
148/** Opcode for xcb_xfixes_cursor_notify. */
149#define XCB_XFIXES_CURSOR_NOTIFY 1
150
151/**
152 * @brief xcb_xfixes_cursor_notify_event_t
153 **/
154typedef struct xcb_xfixes_cursor_notify_event_t {
155 uint8_t response_type;
156 uint8_t subtype;
157 uint16_t sequence;
158 xcb_window_t window;
159 uint32_t cursor_serial;
160 xcb_timestamp_t timestamp;
161 xcb_atom_t name;
162 uint8_t pad0[12];
163} xcb_xfixes_cursor_notify_event_t;
164
165/** Opcode for xcb_xfixes_select_cursor_input. */
166#define XCB_XFIXES_SELECT_CURSOR_INPUT 3
167
168/**
169 * @brief xcb_xfixes_select_cursor_input_request_t
170 **/
171typedef struct xcb_xfixes_select_cursor_input_request_t {
172 uint8_t major_opcode;
173 uint8_t minor_opcode;
174 uint16_t length;
175 xcb_window_t window;
176 uint32_t event_mask;
177} xcb_xfixes_select_cursor_input_request_t;
178
179/**
180 * @brief xcb_xfixes_get_cursor_image_cookie_t
181 **/
182typedef struct xcb_xfixes_get_cursor_image_cookie_t {
183 unsigned int sequence;
184} xcb_xfixes_get_cursor_image_cookie_t;
185
186/** Opcode for xcb_xfixes_get_cursor_image. */
187#define XCB_XFIXES_GET_CURSOR_IMAGE 4
188
189/**
190 * @brief xcb_xfixes_get_cursor_image_request_t
191 **/
192typedef struct xcb_xfixes_get_cursor_image_request_t {
193 uint8_t major_opcode;
194 uint8_t minor_opcode;
195 uint16_t length;
196} xcb_xfixes_get_cursor_image_request_t;
197
198/**
199 * @brief xcb_xfixes_get_cursor_image_reply_t
200 **/
201typedef struct xcb_xfixes_get_cursor_image_reply_t {
202 uint8_t response_type;
203 uint8_t pad0;
204 uint16_t sequence;
205 uint32_t length;
206 int16_t x;
207 int16_t y;
208 uint16_t width;
209 uint16_t height;
210 uint16_t xhot;
211 uint16_t yhot;
212 uint32_t cursor_serial;
213 uint8_t pad1[8];
214} xcb_xfixes_get_cursor_image_reply_t;
215
216typedef uint32_t xcb_xfixes_region_t;
217
218/**
219 * @brief xcb_xfixes_region_iterator_t
220 **/
221typedef struct xcb_xfixes_region_iterator_t {
222 xcb_xfixes_region_t *data;
223 int rem;
224 int index;
225} xcb_xfixes_region_iterator_t;
226
227/** Opcode for xcb_xfixes_bad_region. */
228#define XCB_XFIXES_BAD_REGION 0
229
230/**
231 * @brief xcb_xfixes_bad_region_error_t
232 **/
233typedef struct xcb_xfixes_bad_region_error_t {
234 uint8_t response_type;
235 uint8_t error_code;
236 uint16_t sequence;
237} xcb_xfixes_bad_region_error_t;
238
239typedef enum xcb_xfixes_region_enum_t {
240 XCB_XFIXES_REGION_NONE = 0
241} xcb_xfixes_region_enum_t;
242
243/** Opcode for xcb_xfixes_create_region. */
244#define XCB_XFIXES_CREATE_REGION 5
245
246/**
247 * @brief xcb_xfixes_create_region_request_t
248 **/
249typedef struct xcb_xfixes_create_region_request_t {
250 uint8_t major_opcode;
251 uint8_t minor_opcode;
252 uint16_t length;
253 xcb_xfixes_region_t region;
254} xcb_xfixes_create_region_request_t;
255
256/** Opcode for xcb_xfixes_create_region_from_bitmap. */
257#define XCB_XFIXES_CREATE_REGION_FROM_BITMAP 6
258
259/**
260 * @brief xcb_xfixes_create_region_from_bitmap_request_t
261 **/
262typedef struct xcb_xfixes_create_region_from_bitmap_request_t {
263 uint8_t major_opcode;
264 uint8_t minor_opcode;
265 uint16_t length;
266 xcb_xfixes_region_t region;
267 xcb_pixmap_t bitmap;
268} xcb_xfixes_create_region_from_bitmap_request_t;
269
270/** Opcode for xcb_xfixes_create_region_from_window. */
271#define XCB_XFIXES_CREATE_REGION_FROM_WINDOW 7
272
273/**
274 * @brief xcb_xfixes_create_region_from_window_request_t
275 **/
276typedef struct xcb_xfixes_create_region_from_window_request_t {
277 uint8_t major_opcode;
278 uint8_t minor_opcode;
279 uint16_t length;
280 xcb_xfixes_region_t region;
281 xcb_window_t window;
282 xcb_shape_kind_t kind;
283 uint8_t pad0[3];
284} xcb_xfixes_create_region_from_window_request_t;
285
286/** Opcode for xcb_xfixes_create_region_from_gc. */
287#define XCB_XFIXES_CREATE_REGION_FROM_GC 8
288
289/**
290 * @brief xcb_xfixes_create_region_from_gc_request_t
291 **/
292typedef struct xcb_xfixes_create_region_from_gc_request_t {
293 uint8_t major_opcode;
294 uint8_t minor_opcode;
295 uint16_t length;
296 xcb_xfixes_region_t region;
297 xcb_gcontext_t gc;
298} xcb_xfixes_create_region_from_gc_request_t;
299
300/** Opcode for xcb_xfixes_create_region_from_picture. */
301#define XCB_XFIXES_CREATE_REGION_FROM_PICTURE 9
302
303/**
304 * @brief xcb_xfixes_create_region_from_picture_request_t
305 **/
306typedef struct xcb_xfixes_create_region_from_picture_request_t {
307 uint8_t major_opcode;
308 uint8_t minor_opcode;
309 uint16_t length;
310 xcb_xfixes_region_t region;
311 xcb_render_picture_t picture;
312} xcb_xfixes_create_region_from_picture_request_t;
313
314/** Opcode for xcb_xfixes_destroy_region. */
315#define XCB_XFIXES_DESTROY_REGION 10
316
317/**
318 * @brief xcb_xfixes_destroy_region_request_t
319 **/
320typedef struct xcb_xfixes_destroy_region_request_t {
321 uint8_t major_opcode;
322 uint8_t minor_opcode;
323 uint16_t length;
324 xcb_xfixes_region_t region;
325} xcb_xfixes_destroy_region_request_t;
326
327/** Opcode for xcb_xfixes_set_region. */
328#define XCB_XFIXES_SET_REGION 11
329
330/**
331 * @brief xcb_xfixes_set_region_request_t
332 **/
333typedef struct xcb_xfixes_set_region_request_t {
334 uint8_t major_opcode;
335 uint8_t minor_opcode;
336 uint16_t length;
337 xcb_xfixes_region_t region;
338} xcb_xfixes_set_region_request_t;
339
340/** Opcode for xcb_xfixes_copy_region. */
341#define XCB_XFIXES_COPY_REGION 12
342
343/**
344 * @brief xcb_xfixes_copy_region_request_t
345 **/
346typedef struct xcb_xfixes_copy_region_request_t {
347 uint8_t major_opcode;
348 uint8_t minor_opcode;
349 uint16_t length;
350 xcb_xfixes_region_t source;
351 xcb_xfixes_region_t destination;
352} xcb_xfixes_copy_region_request_t;
353
354/** Opcode for xcb_xfixes_union_region. */
355#define XCB_XFIXES_UNION_REGION 13
356
357/**
358 * @brief xcb_xfixes_union_region_request_t
359 **/
360typedef struct xcb_xfixes_union_region_request_t {
361 uint8_t major_opcode;
362 uint8_t minor_opcode;
363 uint16_t length;
364 xcb_xfixes_region_t source1;
365 xcb_xfixes_region_t source2;
366 xcb_xfixes_region_t destination;
367} xcb_xfixes_union_region_request_t;
368
369/** Opcode for xcb_xfixes_intersect_region. */
370#define XCB_XFIXES_INTERSECT_REGION 14
371
372/**
373 * @brief xcb_xfixes_intersect_region_request_t
374 **/
375typedef struct xcb_xfixes_intersect_region_request_t {
376 uint8_t major_opcode;
377 uint8_t minor_opcode;
378 uint16_t length;
379 xcb_xfixes_region_t source1;
380 xcb_xfixes_region_t source2;
381 xcb_xfixes_region_t destination;
382} xcb_xfixes_intersect_region_request_t;
383
384/** Opcode for xcb_xfixes_subtract_region. */
385#define XCB_XFIXES_SUBTRACT_REGION 15
386
387/**
388 * @brief xcb_xfixes_subtract_region_request_t
389 **/
390typedef struct xcb_xfixes_subtract_region_request_t {
391 uint8_t major_opcode;
392 uint8_t minor_opcode;
393 uint16_t length;
394 xcb_xfixes_region_t source1;
395 xcb_xfixes_region_t source2;
396 xcb_xfixes_region_t destination;
397} xcb_xfixes_subtract_region_request_t;
398
399/** Opcode for xcb_xfixes_invert_region. */
400#define XCB_XFIXES_INVERT_REGION 16
401
402/**
403 * @brief xcb_xfixes_invert_region_request_t
404 **/
405typedef struct xcb_xfixes_invert_region_request_t {
406 uint8_t major_opcode;
407 uint8_t minor_opcode;
408 uint16_t length;
409 xcb_xfixes_region_t source;
410 xcb_rectangle_t bounds;
411 xcb_xfixes_region_t destination;
412} xcb_xfixes_invert_region_request_t;
413
414/** Opcode for xcb_xfixes_translate_region. */
415#define XCB_XFIXES_TRANSLATE_REGION 17
416
417/**
418 * @brief xcb_xfixes_translate_region_request_t
419 **/
420typedef struct xcb_xfixes_translate_region_request_t {
421 uint8_t major_opcode;
422 uint8_t minor_opcode;
423 uint16_t length;
424 xcb_xfixes_region_t region;
425 int16_t dx;
426 int16_t dy;
427} xcb_xfixes_translate_region_request_t;
428
429/** Opcode for xcb_xfixes_region_extents. */
430#define XCB_XFIXES_REGION_EXTENTS 18
431
432/**
433 * @brief xcb_xfixes_region_extents_request_t
434 **/
435typedef struct xcb_xfixes_region_extents_request_t {
436 uint8_t major_opcode;
437 uint8_t minor_opcode;
438 uint16_t length;
439 xcb_xfixes_region_t source;
440 xcb_xfixes_region_t destination;
441} xcb_xfixes_region_extents_request_t;
442
443/**
444 * @brief xcb_xfixes_fetch_region_cookie_t
445 **/
446typedef struct xcb_xfixes_fetch_region_cookie_t {
447 unsigned int sequence;
448} xcb_xfixes_fetch_region_cookie_t;
449
450/** Opcode for xcb_xfixes_fetch_region. */
451#define XCB_XFIXES_FETCH_REGION 19
452
453/**
454 * @brief xcb_xfixes_fetch_region_request_t
455 **/
456typedef struct xcb_xfixes_fetch_region_request_t {
457 uint8_t major_opcode;
458 uint8_t minor_opcode;
459 uint16_t length;
460 xcb_xfixes_region_t region;
461} xcb_xfixes_fetch_region_request_t;
462
463/**
464 * @brief xcb_xfixes_fetch_region_reply_t
465 **/
466typedef struct xcb_xfixes_fetch_region_reply_t {
467 uint8_t response_type;
468 uint8_t pad0;
469 uint16_t sequence;
470 uint32_t length;
471 xcb_rectangle_t extents;
472 uint8_t pad1[16];
473} xcb_xfixes_fetch_region_reply_t;
474
475/** Opcode for xcb_xfixes_set_gc_clip_region. */
476#define XCB_XFIXES_SET_GC_CLIP_REGION 20
477
478/**
479 * @brief xcb_xfixes_set_gc_clip_region_request_t
480 **/
481typedef struct xcb_xfixes_set_gc_clip_region_request_t {
482 uint8_t major_opcode;
483 uint8_t minor_opcode;
484 uint16_t length;
485 xcb_gcontext_t gc;
486 xcb_xfixes_region_t region;
487 int16_t x_origin;
488 int16_t y_origin;
489} xcb_xfixes_set_gc_clip_region_request_t;
490
491/** Opcode for xcb_xfixes_set_window_shape_region. */
492#define XCB_XFIXES_SET_WINDOW_SHAPE_REGION 21
493
494/**
495 * @brief xcb_xfixes_set_window_shape_region_request_t
496 **/
497typedef struct xcb_xfixes_set_window_shape_region_request_t {
498 uint8_t major_opcode;
499 uint8_t minor_opcode;
500 uint16_t length;
501 xcb_window_t dest;
502 xcb_shape_kind_t dest_kind;
503 uint8_t pad0[3];
504 int16_t x_offset;
505 int16_t y_offset;
506 xcb_xfixes_region_t region;
507} xcb_xfixes_set_window_shape_region_request_t;
508
509/** Opcode for xcb_xfixes_set_picture_clip_region. */
510#define XCB_XFIXES_SET_PICTURE_CLIP_REGION 22
511
512/**
513 * @brief xcb_xfixes_set_picture_clip_region_request_t
514 **/
515typedef struct xcb_xfixes_set_picture_clip_region_request_t {
516 uint8_t major_opcode;
517 uint8_t minor_opcode;
518 uint16_t length;
519 xcb_render_picture_t picture;
520 xcb_xfixes_region_t region;
521 int16_t x_origin;
522 int16_t y_origin;
523} xcb_xfixes_set_picture_clip_region_request_t;
524
525/** Opcode for xcb_xfixes_set_cursor_name. */
526#define XCB_XFIXES_SET_CURSOR_NAME 23
527
528/**
529 * @brief xcb_xfixes_set_cursor_name_request_t
530 **/
531typedef struct xcb_xfixes_set_cursor_name_request_t {
532 uint8_t major_opcode;
533 uint8_t minor_opcode;
534 uint16_t length;
535 xcb_cursor_t cursor;
536 uint16_t nbytes;
537 uint8_t pad0[2];
538} xcb_xfixes_set_cursor_name_request_t;
539
540/**
541 * @brief xcb_xfixes_get_cursor_name_cookie_t
542 **/
543typedef struct xcb_xfixes_get_cursor_name_cookie_t {
544 unsigned int sequence;
545} xcb_xfixes_get_cursor_name_cookie_t;
546
547/** Opcode for xcb_xfixes_get_cursor_name. */
548#define XCB_XFIXES_GET_CURSOR_NAME 24
549
550/**
551 * @brief xcb_xfixes_get_cursor_name_request_t
552 **/
553typedef struct xcb_xfixes_get_cursor_name_request_t {
554 uint8_t major_opcode;
555 uint8_t minor_opcode;
556 uint16_t length;
557 xcb_cursor_t cursor;
558} xcb_xfixes_get_cursor_name_request_t;
559
560/**
561 * @brief xcb_xfixes_get_cursor_name_reply_t
562 **/
563typedef struct xcb_xfixes_get_cursor_name_reply_t {
564 uint8_t response_type;
565 uint8_t pad0;
566 uint16_t sequence;
567 uint32_t length;
568 xcb_atom_t atom;
569 uint16_t nbytes;
570 uint8_t pad1[18];
571} xcb_xfixes_get_cursor_name_reply_t;
572
573/**
574 * @brief xcb_xfixes_get_cursor_image_and_name_cookie_t
575 **/
576typedef struct xcb_xfixes_get_cursor_image_and_name_cookie_t {
577 unsigned int sequence;
578} xcb_xfixes_get_cursor_image_and_name_cookie_t;
579
580/** Opcode for xcb_xfixes_get_cursor_image_and_name. */
581#define XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME 25
582
583/**
584 * @brief xcb_xfixes_get_cursor_image_and_name_request_t
585 **/
586typedef struct xcb_xfixes_get_cursor_image_and_name_request_t {
587 uint8_t major_opcode;
588 uint8_t minor_opcode;
589 uint16_t length;
590} xcb_xfixes_get_cursor_image_and_name_request_t;
591
592/**
593 * @brief xcb_xfixes_get_cursor_image_and_name_reply_t
594 **/
595typedef struct xcb_xfixes_get_cursor_image_and_name_reply_t {
596 uint8_t response_type;
597 uint8_t pad0;
598 uint16_t sequence;
599 uint32_t length;
600 int16_t x;
601 int16_t y;
602 uint16_t width;
603 uint16_t height;
604 uint16_t xhot;
605 uint16_t yhot;
606 uint32_t cursor_serial;
607 xcb_atom_t cursor_atom;
608 uint16_t nbytes;
609 uint8_t pad1[2];
610} xcb_xfixes_get_cursor_image_and_name_reply_t;
611
612/** Opcode for xcb_xfixes_change_cursor. */
613#define XCB_XFIXES_CHANGE_CURSOR 26
614
615/**
616 * @brief xcb_xfixes_change_cursor_request_t
617 **/
618typedef struct xcb_xfixes_change_cursor_request_t {
619 uint8_t major_opcode;
620 uint8_t minor_opcode;
621 uint16_t length;
622 xcb_cursor_t source;
623 xcb_cursor_t destination;
624} xcb_xfixes_change_cursor_request_t;
625
626/** Opcode for xcb_xfixes_change_cursor_by_name. */
627#define XCB_XFIXES_CHANGE_CURSOR_BY_NAME 27
628
629/**
630 * @brief xcb_xfixes_change_cursor_by_name_request_t
631 **/
632typedef struct xcb_xfixes_change_cursor_by_name_request_t {
633 uint8_t major_opcode;
634 uint8_t minor_opcode;
635 uint16_t length;
636 xcb_cursor_t src;
637 uint16_t nbytes;
638 uint8_t pad0[2];
639} xcb_xfixes_change_cursor_by_name_request_t;
640
641/** Opcode for xcb_xfixes_expand_region. */
642#define XCB_XFIXES_EXPAND_REGION 28
643
644/**
645 * @brief xcb_xfixes_expand_region_request_t
646 **/
647typedef struct xcb_xfixes_expand_region_request_t {
648 uint8_t major_opcode;
649 uint8_t minor_opcode;
650 uint16_t length;
651 xcb_xfixes_region_t source;
652 xcb_xfixes_region_t destination;
653 uint16_t left;
654 uint16_t right;
655 uint16_t top;
656 uint16_t bottom;
657} xcb_xfixes_expand_region_request_t;
658
659/** Opcode for xcb_xfixes_hide_cursor. */
660#define XCB_XFIXES_HIDE_CURSOR 29
661
662/**
663 * @brief xcb_xfixes_hide_cursor_request_t
664 **/
665typedef struct xcb_xfixes_hide_cursor_request_t {
666 uint8_t major_opcode;
667 uint8_t minor_opcode;
668 uint16_t length;
669 xcb_window_t window;
670} xcb_xfixes_hide_cursor_request_t;
671
672/** Opcode for xcb_xfixes_show_cursor. */
673#define XCB_XFIXES_SHOW_CURSOR 30
674
675/**
676 * @brief xcb_xfixes_show_cursor_request_t
677 **/
678typedef struct xcb_xfixes_show_cursor_request_t {
679 uint8_t major_opcode;
680 uint8_t minor_opcode;
681 uint16_t length;
682 xcb_window_t window;
683} xcb_xfixes_show_cursor_request_t;
684
685typedef uint32_t xcb_xfixes_barrier_t;
686
687/**
688 * @brief xcb_xfixes_barrier_iterator_t
689 **/
690typedef struct xcb_xfixes_barrier_iterator_t {
691 xcb_xfixes_barrier_t *data;
692 int rem;
693 int index;
694} xcb_xfixes_barrier_iterator_t;
695
696typedef enum xcb_xfixes_barrier_directions_t {
697 XCB_XFIXES_BARRIER_DIRECTIONS_POSITIVE_X = 1,
698 XCB_XFIXES_BARRIER_DIRECTIONS_POSITIVE_Y = 2,
699 XCB_XFIXES_BARRIER_DIRECTIONS_NEGATIVE_X = 4,
700 XCB_XFIXES_BARRIER_DIRECTIONS_NEGATIVE_Y = 8
701} xcb_xfixes_barrier_directions_t;
702
703/** Opcode for xcb_xfixes_create_pointer_barrier. */
704#define XCB_XFIXES_CREATE_POINTER_BARRIER 31
705
706/**
707 * @brief xcb_xfixes_create_pointer_barrier_request_t
708 **/
709typedef struct xcb_xfixes_create_pointer_barrier_request_t {
710 uint8_t major_opcode;
711 uint8_t minor_opcode;
712 uint16_t length;
713 xcb_xfixes_barrier_t barrier;
714 xcb_window_t window;
715 uint16_t x1;
716 uint16_t y1;
717 uint16_t x2;
718 uint16_t y2;
719 uint32_t directions;
720 uint8_t pad0[2];
721 uint16_t num_devices;
722} xcb_xfixes_create_pointer_barrier_request_t;
723
724/** Opcode for xcb_xfixes_delete_pointer_barrier. */
725#define XCB_XFIXES_DELETE_POINTER_BARRIER 32
726
727/**
728 * @brief xcb_xfixes_delete_pointer_barrier_request_t
729 **/
730typedef struct xcb_xfixes_delete_pointer_barrier_request_t {
731 uint8_t major_opcode;
732 uint8_t minor_opcode;
733 uint16_t length;
734 xcb_xfixes_barrier_t barrier;
735} xcb_xfixes_delete_pointer_barrier_request_t;
736
737/**
738 *
739 * @param c The connection
740 * @return A cookie
741 *
742 * Delivers a request to the X server.
743 *
744 */
745xcb_xfixes_query_version_cookie_t
746xcb_xfixes_query_version (xcb_connection_t *c,
747 uint32_t client_major_version,
748 uint32_t client_minor_version);
749
750/**
751 *
752 * @param c The connection
753 * @return A cookie
754 *
755 * Delivers a request to the X server.
756 *
757 * This form can be used only if the request will cause
758 * a reply to be generated. Any returned error will be
759 * placed in the event queue.
760 */
761xcb_xfixes_query_version_cookie_t
762xcb_xfixes_query_version_unchecked (xcb_connection_t *c,
763 uint32_t client_major_version,
764 uint32_t client_minor_version);
765
766/**
767 * Return the reply
768 * @param c The connection
769 * @param cookie The cookie
770 * @param e The xcb_generic_error_t supplied
771 *
772 * Returns the reply of the request asked by
773 *
774 * The parameter @p e supplied to this function must be NULL if
775 * xcb_xfixes_query_version_unchecked(). is used.
776 * Otherwise, it stores the error if any.
777 *
778 * The returned value must be freed by the caller using free().
779 */
780xcb_xfixes_query_version_reply_t *
781xcb_xfixes_query_version_reply (xcb_connection_t *c,
782 xcb_xfixes_query_version_cookie_t cookie /**< */,
783 xcb_generic_error_t **e);
784
785/**
786 *
787 * @param c The connection
788 * @return A cookie
789 *
790 * Delivers a request to the X server.
791 *
792 * This form can be used only if the request will not cause
793 * a reply to be generated. Any returned error will be
794 * saved for handling by xcb_request_check().
795 */
796xcb_void_cookie_t
797xcb_xfixes_change_save_set_checked (xcb_connection_t *c,
798 uint8_t mode,
799 uint8_t target,
800 uint8_t map,
801 xcb_window_t window);
802
803/**
804 *
805 * @param c The connection
806 * @return A cookie
807 *
808 * Delivers a request to the X server.
809 *
810 */
811xcb_void_cookie_t
812xcb_xfixes_change_save_set (xcb_connection_t *c,
813 uint8_t mode,
814 uint8_t target,
815 uint8_t map,
816 xcb_window_t window);
817
818/**
819 *
820 * @param c The connection
821 * @return A cookie
822 *
823 * Delivers a request to the X server.
824 *
825 * This form can be used only if the request will not cause
826 * a reply to be generated. Any returned error will be
827 * saved for handling by xcb_request_check().
828 */
829xcb_void_cookie_t
830xcb_xfixes_select_selection_input_checked (xcb_connection_t *c,
831 xcb_window_t window,
832 xcb_atom_t selection,
833 uint32_t event_mask);
834
835/**
836 *
837 * @param c The connection
838 * @return A cookie
839 *
840 * Delivers a request to the X server.
841 *
842 */
843xcb_void_cookie_t
844xcb_xfixes_select_selection_input (xcb_connection_t *c,
845 xcb_window_t window,
846 xcb_atom_t selection,
847 uint32_t event_mask);
848
849/**
850 *
851 * @param c The connection
852 * @return A cookie
853 *
854 * Delivers a request to the X server.
855 *
856 * This form can be used only if the request will not cause
857 * a reply to be generated. Any returned error will be
858 * saved for handling by xcb_request_check().
859 */
860xcb_void_cookie_t
861xcb_xfixes_select_cursor_input_checked (xcb_connection_t *c,
862 xcb_window_t window,
863 uint32_t event_mask);
864
865/**
866 *
867 * @param c The connection
868 * @return A cookie
869 *
870 * Delivers a request to the X server.
871 *
872 */
873xcb_void_cookie_t
874xcb_xfixes_select_cursor_input (xcb_connection_t *c,
875 xcb_window_t window,
876 uint32_t event_mask);
877
878int
879xcb_xfixes_get_cursor_image_sizeof (const void *_buffer);
880
881/**
882 *
883 * @param c The connection
884 * @return A cookie
885 *
886 * Delivers a request to the X server.
887 *
888 */
889xcb_xfixes_get_cursor_image_cookie_t
890xcb_xfixes_get_cursor_image (xcb_connection_t *c);
891
892/**
893 *
894 * @param c The connection
895 * @return A cookie
896 *
897 * Delivers a request to the X server.
898 *
899 * This form can be used only if the request will cause
900 * a reply to be generated. Any returned error will be
901 * placed in the event queue.
902 */
903xcb_xfixes_get_cursor_image_cookie_t
904xcb_xfixes_get_cursor_image_unchecked (xcb_connection_t *c);
905
906uint32_t *
907xcb_xfixes_get_cursor_image_cursor_image (const xcb_xfixes_get_cursor_image_reply_t *R);
908
909int
910xcb_xfixes_get_cursor_image_cursor_image_length (const xcb_xfixes_get_cursor_image_reply_t *R);
911
912xcb_generic_iterator_t
913xcb_xfixes_get_cursor_image_cursor_image_end (const xcb_xfixes_get_cursor_image_reply_t *R);
914
915/**
916 * Return the reply
917 * @param c The connection
918 * @param cookie The cookie
919 * @param e The xcb_generic_error_t supplied
920 *
921 * Returns the reply of the request asked by
922 *
923 * The parameter @p e supplied to this function must be NULL if
924 * xcb_xfixes_get_cursor_image_unchecked(). is used.
925 * Otherwise, it stores the error if any.
926 *
927 * The returned value must be freed by the caller using free().
928 */
929xcb_xfixes_get_cursor_image_reply_t *
930xcb_xfixes_get_cursor_image_reply (xcb_connection_t *c,
931 xcb_xfixes_get_cursor_image_cookie_t cookie /**< */,
932 xcb_generic_error_t **e);
933
934/**
935 * Get the next element of the iterator
936 * @param i Pointer to a xcb_xfixes_region_iterator_t
937 *
938 * Get the next element in the iterator. The member rem is
939 * decreased by one. The member data points to the next
940 * element. The member index is increased by sizeof(xcb_xfixes_region_t)
941 */
942void
943xcb_xfixes_region_next (xcb_xfixes_region_iterator_t *i);
944
945/**
946 * Return the iterator pointing to the last element
947 * @param i An xcb_xfixes_region_iterator_t
948 * @return The iterator pointing to the last element
949 *
950 * Set the current element in the iterator to the last element.
951 * The member rem is set to 0. The member data points to the
952 * last element.
953 */
954xcb_generic_iterator_t
955xcb_xfixes_region_end (xcb_xfixes_region_iterator_t i);
956
957int
958xcb_xfixes_create_region_sizeof (const void *_buffer,
959 uint32_t rectangles_len);
960
961/**
962 *
963 * @param c The connection
964 * @return A cookie
965 *
966 * Delivers a request to the X server.
967 *
968 * This form can be used only if the request will not cause
969 * a reply to be generated. Any returned error will be
970 * saved for handling by xcb_request_check().
971 */
972xcb_void_cookie_t
973xcb_xfixes_create_region_checked (xcb_connection_t *c,
974 xcb_xfixes_region_t region,
975 uint32_t rectangles_len,
976 const xcb_rectangle_t *rectangles);
977
978/**
979 *
980 * @param c The connection
981 * @return A cookie
982 *
983 * Delivers a request to the X server.
984 *
985 */
986xcb_void_cookie_t
987xcb_xfixes_create_region (xcb_connection_t *c,
988 xcb_xfixes_region_t region,
989 uint32_t rectangles_len,
990 const xcb_rectangle_t *rectangles);
991
992xcb_rectangle_t *
993xcb_xfixes_create_region_rectangles (const xcb_xfixes_create_region_request_t *R);
994
995int
996xcb_xfixes_create_region_rectangles_length (const xcb_xfixes_create_region_request_t *R);
997
998xcb_rectangle_iterator_t
999xcb_xfixes_create_region_rectangles_iterator (const xcb_xfixes_create_region_request_t *R);
1000
1001/**
1002 *
1003 * @param c The connection
1004 * @return A cookie
1005 *
1006 * Delivers a request to the X server.
1007 *
1008 * This form can be used only if the request will not cause
1009 * a reply to be generated. Any returned error will be
1010 * saved for handling by xcb_request_check().
1011 */
1012xcb_void_cookie_t
1013xcb_xfixes_create_region_from_bitmap_checked (xcb_connection_t *c,
1014 xcb_xfixes_region_t region,
1015 xcb_pixmap_t bitmap);
1016
1017/**
1018 *
1019 * @param c The connection
1020 * @return A cookie
1021 *
1022 * Delivers a request to the X server.
1023 *
1024 */
1025xcb_void_cookie_t
1026xcb_xfixes_create_region_from_bitmap (xcb_connection_t *c,
1027 xcb_xfixes_region_t region,
1028 xcb_pixmap_t bitmap);
1029
1030/**
1031 *
1032 * @param c The connection
1033 * @return A cookie
1034 *
1035 * Delivers a request to the X server.
1036 *
1037 * This form can be used only if the request will not cause
1038 * a reply to be generated. Any returned error will be
1039 * saved for handling by xcb_request_check().
1040 */
1041xcb_void_cookie_t
1042xcb_xfixes_create_region_from_window_checked (xcb_connection_t *c,
1043 xcb_xfixes_region_t region,
1044 xcb_window_t window,
1045 xcb_shape_kind_t kind);
1046
1047/**
1048 *
1049 * @param c The connection
1050 * @return A cookie
1051 *
1052 * Delivers a request to the X server.
1053 *
1054 */
1055xcb_void_cookie_t
1056xcb_xfixes_create_region_from_window (xcb_connection_t *c,
1057 xcb_xfixes_region_t region,
1058 xcb_window_t window,
1059 xcb_shape_kind_t kind);
1060
1061/**
1062 *
1063 * @param c The connection
1064 * @return A cookie
1065 *
1066 * Delivers a request to the X server.
1067 *
1068 * This form can be used only if the request will not cause
1069 * a reply to be generated. Any returned error will be
1070 * saved for handling by xcb_request_check().
1071 */
1072xcb_void_cookie_t
1073xcb_xfixes_create_region_from_gc_checked (xcb_connection_t *c,
1074 xcb_xfixes_region_t region,
1075 xcb_gcontext_t gc);
1076
1077/**
1078 *
1079 * @param c The connection
1080 * @return A cookie
1081 *
1082 * Delivers a request to the X server.
1083 *
1084 */
1085xcb_void_cookie_t
1086xcb_xfixes_create_region_from_gc (xcb_connection_t *c,
1087 xcb_xfixes_region_t region,
1088 xcb_gcontext_t gc);
1089
1090/**
1091 *
1092 * @param c The connection
1093 * @return A cookie
1094 *
1095 * Delivers a request to the X server.
1096 *
1097 * This form can be used only if the request will not cause
1098 * a reply to be generated. Any returned error will be
1099 * saved for handling by xcb_request_check().
1100 */
1101xcb_void_cookie_t
1102xcb_xfixes_create_region_from_picture_checked (xcb_connection_t *c,
1103 xcb_xfixes_region_t region,
1104 xcb_render_picture_t picture);
1105
1106/**
1107 *
1108 * @param c The connection
1109 * @return A cookie
1110 *
1111 * Delivers a request to the X server.
1112 *
1113 */
1114xcb_void_cookie_t
1115xcb_xfixes_create_region_from_picture (xcb_connection_t *c,
1116 xcb_xfixes_region_t region,
1117 xcb_render_picture_t picture);
1118
1119/**
1120 *
1121 * @param c The connection
1122 * @return A cookie
1123 *
1124 * Delivers a request to the X server.
1125 *
1126 * This form can be used only if the request will not cause
1127 * a reply to be generated. Any returned error will be
1128 * saved for handling by xcb_request_check().
1129 */
1130xcb_void_cookie_t
1131xcb_xfixes_destroy_region_checked (xcb_connection_t *c,
1132 xcb_xfixes_region_t region);
1133
1134/**
1135 *
1136 * @param c The connection
1137 * @return A cookie
1138 *
1139 * Delivers a request to the X server.
1140 *
1141 */
1142xcb_void_cookie_t
1143xcb_xfixes_destroy_region (xcb_connection_t *c,
1144 xcb_xfixes_region_t region);
1145
1146int
1147xcb_xfixes_set_region_sizeof (const void *_buffer,
1148 uint32_t rectangles_len);
1149
1150/**
1151 *
1152 * @param c The connection
1153 * @return A cookie
1154 *
1155 * Delivers a request to the X server.
1156 *
1157 * This form can be used only if the request will not cause
1158 * a reply to be generated. Any returned error will be
1159 * saved for handling by xcb_request_check().
1160 */
1161xcb_void_cookie_t
1162xcb_xfixes_set_region_checked (xcb_connection_t *c,
1163 xcb_xfixes_region_t region,
1164 uint32_t rectangles_len,
1165 const xcb_rectangle_t *rectangles);
1166
1167/**
1168 *
1169 * @param c The connection
1170 * @return A cookie
1171 *
1172 * Delivers a request to the X server.
1173 *
1174 */
1175xcb_void_cookie_t
1176xcb_xfixes_set_region (xcb_connection_t *c,
1177 xcb_xfixes_region_t region,
1178 uint32_t rectangles_len,
1179 const xcb_rectangle_t *rectangles);
1180
1181xcb_rectangle_t *
1182xcb_xfixes_set_region_rectangles (const xcb_xfixes_set_region_request_t *R);
1183
1184int
1185xcb_xfixes_set_region_rectangles_length (const xcb_xfixes_set_region_request_t *R);
1186
1187xcb_rectangle_iterator_t
1188xcb_xfixes_set_region_rectangles_iterator (const xcb_xfixes_set_region_request_t *R);
1189
1190/**
1191 *
1192 * @param c The connection
1193 * @return A cookie
1194 *
1195 * Delivers a request to the X server.
1196 *
1197 * This form can be used only if the request will not cause
1198 * a reply to be generated. Any returned error will be
1199 * saved for handling by xcb_request_check().
1200 */
1201xcb_void_cookie_t
1202xcb_xfixes_copy_region_checked (xcb_connection_t *c,
1203 xcb_xfixes_region_t source,
1204 xcb_xfixes_region_t destination);
1205
1206/**
1207 *
1208 * @param c The connection
1209 * @return A cookie
1210 *
1211 * Delivers a request to the X server.
1212 *
1213 */
1214xcb_void_cookie_t
1215xcb_xfixes_copy_region (xcb_connection_t *c,
1216 xcb_xfixes_region_t source,
1217 xcb_xfixes_region_t destination);
1218
1219/**
1220 *
1221 * @param c The connection
1222 * @return A cookie
1223 *
1224 * Delivers a request to the X server.
1225 *
1226 * This form can be used only if the request will not cause
1227 * a reply to be generated. Any returned error will be
1228 * saved for handling by xcb_request_check().
1229 */
1230xcb_void_cookie_t
1231xcb_xfixes_union_region_checked (xcb_connection_t *c,
1232 xcb_xfixes_region_t source1,
1233 xcb_xfixes_region_t source2,
1234 xcb_xfixes_region_t destination);
1235
1236/**
1237 *
1238 * @param c The connection
1239 * @return A cookie
1240 *
1241 * Delivers a request to the X server.
1242 *
1243 */
1244xcb_void_cookie_t
1245xcb_xfixes_union_region (xcb_connection_t *c,
1246 xcb_xfixes_region_t source1,
1247 xcb_xfixes_region_t source2,
1248 xcb_xfixes_region_t destination);
1249
1250/**
1251 *
1252 * @param c The connection
1253 * @return A cookie
1254 *
1255 * Delivers a request to the X server.
1256 *
1257 * This form can be used only if the request will not cause
1258 * a reply to be generated. Any returned error will be
1259 * saved for handling by xcb_request_check().
1260 */
1261xcb_void_cookie_t
1262xcb_xfixes_intersect_region_checked (xcb_connection_t *c,
1263 xcb_xfixes_region_t source1,
1264 xcb_xfixes_region_t source2,
1265 xcb_xfixes_region_t destination);
1266
1267/**
1268 *
1269 * @param c The connection
1270 * @return A cookie
1271 *
1272 * Delivers a request to the X server.
1273 *
1274 */
1275xcb_void_cookie_t
1276xcb_xfixes_intersect_region (xcb_connection_t *c,
1277 xcb_xfixes_region_t source1,
1278 xcb_xfixes_region_t source2,
1279 xcb_xfixes_region_t destination);
1280
1281/**
1282 *
1283 * @param c The connection
1284 * @return A cookie
1285 *
1286 * Delivers a request to the X server.
1287 *
1288 * This form can be used only if the request will not cause
1289 * a reply to be generated. Any returned error will be
1290 * saved for handling by xcb_request_check().
1291 */
1292xcb_void_cookie_t
1293xcb_xfixes_subtract_region_checked (xcb_connection_t *c,
1294 xcb_xfixes_region_t source1,
1295 xcb_xfixes_region_t source2,
1296 xcb_xfixes_region_t destination);
1297
1298/**
1299 *
1300 * @param c The connection
1301 * @return A cookie
1302 *
1303 * Delivers a request to the X server.
1304 *
1305 */
1306xcb_void_cookie_t
1307xcb_xfixes_subtract_region (xcb_connection_t *c,
1308 xcb_xfixes_region_t source1,
1309 xcb_xfixes_region_t source2,
1310 xcb_xfixes_region_t destination);
1311
1312/**
1313 *
1314 * @param c The connection
1315 * @return A cookie
1316 *
1317 * Delivers a request to the X server.
1318 *
1319 * This form can be used only if the request will not cause
1320 * a reply to be generated. Any returned error will be
1321 * saved for handling by xcb_request_check().
1322 */
1323xcb_void_cookie_t
1324xcb_xfixes_invert_region_checked (xcb_connection_t *c,
1325 xcb_xfixes_region_t source,
1326 xcb_rectangle_t bounds,
1327 xcb_xfixes_region_t destination);
1328
1329/**
1330 *
1331 * @param c The connection
1332 * @return A cookie
1333 *
1334 * Delivers a request to the X server.
1335 *
1336 */
1337xcb_void_cookie_t
1338xcb_xfixes_invert_region (xcb_connection_t *c,
1339 xcb_xfixes_region_t source,
1340 xcb_rectangle_t bounds,
1341 xcb_xfixes_region_t destination);
1342
1343/**
1344 *
1345 * @param c The connection
1346 * @return A cookie
1347 *
1348 * Delivers a request to the X server.
1349 *
1350 * This form can be used only if the request will not cause
1351 * a reply to be generated. Any returned error will be
1352 * saved for handling by xcb_request_check().
1353 */
1354xcb_void_cookie_t
1355xcb_xfixes_translate_region_checked (xcb_connection_t *c,
1356 xcb_xfixes_region_t region,
1357 int16_t dx,
1358 int16_t dy);
1359
1360/**
1361 *
1362 * @param c The connection
1363 * @return A cookie
1364 *
1365 * Delivers a request to the X server.
1366 *
1367 */
1368xcb_void_cookie_t
1369xcb_xfixes_translate_region (xcb_connection_t *c,
1370 xcb_xfixes_region_t region,
1371 int16_t dx,
1372 int16_t dy);
1373
1374/**
1375 *
1376 * @param c The connection
1377 * @return A cookie
1378 *
1379 * Delivers a request to the X server.
1380 *
1381 * This form can be used only if the request will not cause
1382 * a reply to be generated. Any returned error will be
1383 * saved for handling by xcb_request_check().
1384 */
1385xcb_void_cookie_t
1386xcb_xfixes_region_extents_checked (xcb_connection_t *c,
1387 xcb_xfixes_region_t source,
1388 xcb_xfixes_region_t destination);
1389
1390/**
1391 *
1392 * @param c The connection
1393 * @return A cookie
1394 *
1395 * Delivers a request to the X server.
1396 *
1397 */
1398xcb_void_cookie_t
1399xcb_xfixes_region_extents (xcb_connection_t *c,
1400 xcb_xfixes_region_t source,
1401 xcb_xfixes_region_t destination);
1402
1403int
1404xcb_xfixes_fetch_region_sizeof (const void *_buffer);
1405
1406/**
1407 *
1408 * @param c The connection
1409 * @return A cookie
1410 *
1411 * Delivers a request to the X server.
1412 *
1413 */
1414xcb_xfixes_fetch_region_cookie_t
1415xcb_xfixes_fetch_region (xcb_connection_t *c,
1416 xcb_xfixes_region_t region);
1417
1418/**
1419 *
1420 * @param c The connection
1421 * @return A cookie
1422 *
1423 * Delivers a request to the X server.
1424 *
1425 * This form can be used only if the request will cause
1426 * a reply to be generated. Any returned error will be
1427 * placed in the event queue.
1428 */
1429xcb_xfixes_fetch_region_cookie_t
1430xcb_xfixes_fetch_region_unchecked (xcb_connection_t *c,
1431 xcb_xfixes_region_t region);
1432
1433xcb_rectangle_t *
1434xcb_xfixes_fetch_region_rectangles (const xcb_xfixes_fetch_region_reply_t *R);
1435
1436int
1437xcb_xfixes_fetch_region_rectangles_length (const xcb_xfixes_fetch_region_reply_t *R);
1438
1439xcb_rectangle_iterator_t
1440xcb_xfixes_fetch_region_rectangles_iterator (const xcb_xfixes_fetch_region_reply_t *R);
1441
1442/**
1443 * Return the reply
1444 * @param c The connection
1445 * @param cookie The cookie
1446 * @param e The xcb_generic_error_t supplied
1447 *
1448 * Returns the reply of the request asked by
1449 *
1450 * The parameter @p e supplied to this function must be NULL if
1451 * xcb_xfixes_fetch_region_unchecked(). is used.
1452 * Otherwise, it stores the error if any.
1453 *
1454 * The returned value must be freed by the caller using free().
1455 */
1456xcb_xfixes_fetch_region_reply_t *
1457xcb_xfixes_fetch_region_reply (xcb_connection_t *c,
1458 xcb_xfixes_fetch_region_cookie_t cookie /**< */,
1459 xcb_generic_error_t **e);
1460
1461/**
1462 *
1463 * @param c The connection
1464 * @return A cookie
1465 *
1466 * Delivers a request to the X server.
1467 *
1468 * This form can be used only if the request will not cause
1469 * a reply to be generated. Any returned error will be
1470 * saved for handling by xcb_request_check().
1471 */
1472xcb_void_cookie_t
1473xcb_xfixes_set_gc_clip_region_checked (xcb_connection_t *c,
1474 xcb_gcontext_t gc,
1475 xcb_xfixes_region_t region,
1476 int16_t x_origin,
1477 int16_t y_origin);
1478
1479/**
1480 *
1481 * @param c The connection
1482 * @return A cookie
1483 *
1484 * Delivers a request to the X server.
1485 *
1486 */
1487xcb_void_cookie_t
1488xcb_xfixes_set_gc_clip_region (xcb_connection_t *c,
1489 xcb_gcontext_t gc,
1490 xcb_xfixes_region_t region,
1491 int16_t x_origin,
1492 int16_t y_origin);
1493
1494/**
1495 *
1496 * @param c The connection
1497 * @return A cookie
1498 *
1499 * Delivers a request to the X server.
1500 *
1501 * This form can be used only if the request will not cause
1502 * a reply to be generated. Any returned error will be
1503 * saved for handling by xcb_request_check().
1504 */
1505xcb_void_cookie_t
1506xcb_xfixes_set_window_shape_region_checked (xcb_connection_t *c,
1507 xcb_window_t dest,
1508 xcb_shape_kind_t dest_kind,
1509 int16_t x_offset,
1510 int16_t y_offset,
1511 xcb_xfixes_region_t region);
1512
1513/**
1514 *
1515 * @param c The connection
1516 * @return A cookie
1517 *
1518 * Delivers a request to the X server.
1519 *
1520 */
1521xcb_void_cookie_t
1522xcb_xfixes_set_window_shape_region (xcb_connection_t *c,
1523 xcb_window_t dest,
1524 xcb_shape_kind_t dest_kind,
1525 int16_t x_offset,
1526 int16_t y_offset,
1527 xcb_xfixes_region_t region);
1528
1529/**
1530 *
1531 * @param c The connection
1532 * @return A cookie
1533 *
1534 * Delivers a request to the X server.
1535 *
1536 * This form can be used only if the request will not cause
1537 * a reply to be generated. Any returned error will be
1538 * saved for handling by xcb_request_check().
1539 */
1540xcb_void_cookie_t
1541xcb_xfixes_set_picture_clip_region_checked (xcb_connection_t *c,
1542 xcb_render_picture_t picture,
1543 xcb_xfixes_region_t region,
1544 int16_t x_origin,
1545 int16_t y_origin);
1546
1547/**
1548 *
1549 * @param c The connection
1550 * @return A cookie
1551 *
1552 * Delivers a request to the X server.
1553 *
1554 */
1555xcb_void_cookie_t
1556xcb_xfixes_set_picture_clip_region (xcb_connection_t *c,
1557 xcb_render_picture_t picture,
1558 xcb_xfixes_region_t region,
1559 int16_t x_origin,
1560 int16_t y_origin);
1561
1562int
1563xcb_xfixes_set_cursor_name_sizeof (const void *_buffer);
1564
1565/**
1566 *
1567 * @param c The connection
1568 * @return A cookie
1569 *
1570 * Delivers a request to the X server.
1571 *
1572 * This form can be used only if the request will not cause
1573 * a reply to be generated. Any returned error will be
1574 * saved for handling by xcb_request_check().
1575 */
1576xcb_void_cookie_t
1577xcb_xfixes_set_cursor_name_checked (xcb_connection_t *c,
1578 xcb_cursor_t cursor,
1579 uint16_t nbytes,
1580 const char *name);
1581
1582/**
1583 *
1584 * @param c The connection
1585 * @return A cookie
1586 *
1587 * Delivers a request to the X server.
1588 *
1589 */
1590xcb_void_cookie_t
1591xcb_xfixes_set_cursor_name (xcb_connection_t *c,
1592 xcb_cursor_t cursor,
1593 uint16_t nbytes,
1594 const char *name);
1595
1596char *
1597xcb_xfixes_set_cursor_name_name (const xcb_xfixes_set_cursor_name_request_t *R);
1598
1599int
1600xcb_xfixes_set_cursor_name_name_length (const xcb_xfixes_set_cursor_name_request_t *R);
1601
1602xcb_generic_iterator_t
1603xcb_xfixes_set_cursor_name_name_end (const xcb_xfixes_set_cursor_name_request_t *R);
1604
1605int
1606xcb_xfixes_get_cursor_name_sizeof (const void *_buffer);
1607
1608/**
1609 *
1610 * @param c The connection
1611 * @return A cookie
1612 *
1613 * Delivers a request to the X server.
1614 *
1615 */
1616xcb_xfixes_get_cursor_name_cookie_t
1617xcb_xfixes_get_cursor_name (xcb_connection_t *c,
1618 xcb_cursor_t cursor);
1619
1620/**
1621 *
1622 * @param c The connection
1623 * @return A cookie
1624 *
1625 * Delivers a request to the X server.
1626 *
1627 * This form can be used only if the request will cause
1628 * a reply to be generated. Any returned error will be
1629 * placed in the event queue.
1630 */
1631xcb_xfixes_get_cursor_name_cookie_t
1632xcb_xfixes_get_cursor_name_unchecked (xcb_connection_t *c,
1633 xcb_cursor_t cursor);
1634
1635char *
1636xcb_xfixes_get_cursor_name_name (const xcb_xfixes_get_cursor_name_reply_t *R);
1637
1638int
1639xcb_xfixes_get_cursor_name_name_length (const xcb_xfixes_get_cursor_name_reply_t *R);
1640
1641xcb_generic_iterator_t
1642xcb_xfixes_get_cursor_name_name_end (const xcb_xfixes_get_cursor_name_reply_t *R);
1643
1644/**
1645 * Return the reply
1646 * @param c The connection
1647 * @param cookie The cookie
1648 * @param e The xcb_generic_error_t supplied
1649 *
1650 * Returns the reply of the request asked by
1651 *
1652 * The parameter @p e supplied to this function must be NULL if
1653 * xcb_xfixes_get_cursor_name_unchecked(). is used.
1654 * Otherwise, it stores the error if any.
1655 *
1656 * The returned value must be freed by the caller using free().
1657 */
1658xcb_xfixes_get_cursor_name_reply_t *
1659xcb_xfixes_get_cursor_name_reply (xcb_connection_t *c,
1660 xcb_xfixes_get_cursor_name_cookie_t cookie /**< */,
1661 xcb_generic_error_t **e);
1662
1663int
1664xcb_xfixes_get_cursor_image_and_name_sizeof (const void *_buffer);
1665
1666/**
1667 *
1668 * @param c The connection
1669 * @return A cookie
1670 *
1671 * Delivers a request to the X server.
1672 *
1673 */
1674xcb_xfixes_get_cursor_image_and_name_cookie_t
1675xcb_xfixes_get_cursor_image_and_name (xcb_connection_t *c);
1676
1677/**
1678 *
1679 * @param c The connection
1680 * @return A cookie
1681 *
1682 * Delivers a request to the X server.
1683 *
1684 * This form can be used only if the request will cause
1685 * a reply to be generated. Any returned error will be
1686 * placed in the event queue.
1687 */
1688xcb_xfixes_get_cursor_image_and_name_cookie_t
1689xcb_xfixes_get_cursor_image_and_name_unchecked (xcb_connection_t *c);
1690
1691uint32_t *
1692xcb_xfixes_get_cursor_image_and_name_cursor_image (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1693
1694int
1695xcb_xfixes_get_cursor_image_and_name_cursor_image_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1696
1697xcb_generic_iterator_t
1698xcb_xfixes_get_cursor_image_and_name_cursor_image_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1699
1700char *
1701xcb_xfixes_get_cursor_image_and_name_name (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1702
1703int
1704xcb_xfixes_get_cursor_image_and_name_name_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1705
1706xcb_generic_iterator_t
1707xcb_xfixes_get_cursor_image_and_name_name_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1708
1709/**
1710 * Return the reply
1711 * @param c The connection
1712 * @param cookie The cookie
1713 * @param e The xcb_generic_error_t supplied
1714 *
1715 * Returns the reply of the request asked by
1716 *
1717 * The parameter @p e supplied to this function must be NULL if
1718 * xcb_xfixes_get_cursor_image_and_name_unchecked(). is used.
1719 * Otherwise, it stores the error if any.
1720 *
1721 * The returned value must be freed by the caller using free().
1722 */
1723xcb_xfixes_get_cursor_image_and_name_reply_t *
1724xcb_xfixes_get_cursor_image_and_name_reply (xcb_connection_t *c,
1725 xcb_xfixes_get_cursor_image_and_name_cookie_t cookie /**< */,
1726 xcb_generic_error_t **e);
1727
1728/**
1729 *
1730 * @param c The connection
1731 * @return A cookie
1732 *
1733 * Delivers a request to the X server.
1734 *
1735 * This form can be used only if the request will not cause
1736 * a reply to be generated. Any returned error will be
1737 * saved for handling by xcb_request_check().
1738 */
1739xcb_void_cookie_t
1740xcb_xfixes_change_cursor_checked (xcb_connection_t *c,
1741 xcb_cursor_t source,
1742 xcb_cursor_t destination);
1743
1744/**
1745 *
1746 * @param c The connection
1747 * @return A cookie
1748 *
1749 * Delivers a request to the X server.
1750 *
1751 */
1752xcb_void_cookie_t
1753xcb_xfixes_change_cursor (xcb_connection_t *c,
1754 xcb_cursor_t source,
1755 xcb_cursor_t destination);
1756
1757int
1758xcb_xfixes_change_cursor_by_name_sizeof (const void *_buffer);
1759
1760/**
1761 *
1762 * @param c The connection
1763 * @return A cookie
1764 *
1765 * Delivers a request to the X server.
1766 *
1767 * This form can be used only if the request will not cause
1768 * a reply to be generated. Any returned error will be
1769 * saved for handling by xcb_request_check().
1770 */
1771xcb_void_cookie_t
1772xcb_xfixes_change_cursor_by_name_checked (xcb_connection_t *c,
1773 xcb_cursor_t src,
1774 uint16_t nbytes,
1775 const char *name);
1776
1777/**
1778 *
1779 * @param c The connection
1780 * @return A cookie
1781 *
1782 * Delivers a request to the X server.
1783 *
1784 */
1785xcb_void_cookie_t
1786xcb_xfixes_change_cursor_by_name (xcb_connection_t *c,
1787 xcb_cursor_t src,
1788 uint16_t nbytes,
1789 const char *name);
1790
1791char *
1792xcb_xfixes_change_cursor_by_name_name (const xcb_xfixes_change_cursor_by_name_request_t *R);
1793
1794int
1795xcb_xfixes_change_cursor_by_name_name_length (const xcb_xfixes_change_cursor_by_name_request_t *R);
1796
1797xcb_generic_iterator_t
1798xcb_xfixes_change_cursor_by_name_name_end (const xcb_xfixes_change_cursor_by_name_request_t *R);
1799
1800/**
1801 *
1802 * @param c The connection
1803 * @return A cookie
1804 *
1805 * Delivers a request to the X server.
1806 *
1807 * This form can be used only if the request will not cause
1808 * a reply to be generated. Any returned error will be
1809 * saved for handling by xcb_request_check().
1810 */
1811xcb_void_cookie_t
1812xcb_xfixes_expand_region_checked (xcb_connection_t *c,
1813 xcb_xfixes_region_t source,
1814 xcb_xfixes_region_t destination,
1815 uint16_t left,
1816 uint16_t right,
1817 uint16_t top,
1818 uint16_t bottom);
1819
1820/**
1821 *
1822 * @param c The connection
1823 * @return A cookie
1824 *
1825 * Delivers a request to the X server.
1826 *
1827 */
1828xcb_void_cookie_t
1829xcb_xfixes_expand_region (xcb_connection_t *c,
1830 xcb_xfixes_region_t source,
1831 xcb_xfixes_region_t destination,
1832 uint16_t left,
1833 uint16_t right,
1834 uint16_t top,
1835 uint16_t bottom);
1836
1837/**
1838 *
1839 * @param c The connection
1840 * @return A cookie
1841 *
1842 * Delivers a request to the X server.
1843 *
1844 * This form can be used only if the request will not cause
1845 * a reply to be generated. Any returned error will be
1846 * saved for handling by xcb_request_check().
1847 */
1848xcb_void_cookie_t
1849xcb_xfixes_hide_cursor_checked (xcb_connection_t *c,
1850 xcb_window_t window);
1851
1852/**
1853 *
1854 * @param c The connection
1855 * @return A cookie
1856 *
1857 * Delivers a request to the X server.
1858 *
1859 */
1860xcb_void_cookie_t
1861xcb_xfixes_hide_cursor (xcb_connection_t *c,
1862 xcb_window_t window);
1863
1864/**
1865 *
1866 * @param c The connection
1867 * @return A cookie
1868 *
1869 * Delivers a request to the X server.
1870 *
1871 * This form can be used only if the request will not cause
1872 * a reply to be generated. Any returned error will be
1873 * saved for handling by xcb_request_check().
1874 */
1875xcb_void_cookie_t
1876xcb_xfixes_show_cursor_checked (xcb_connection_t *c,
1877 xcb_window_t window);
1878
1879/**
1880 *
1881 * @param c The connection
1882 * @return A cookie
1883 *
1884 * Delivers a request to the X server.
1885 *
1886 */
1887xcb_void_cookie_t
1888xcb_xfixes_show_cursor (xcb_connection_t *c,
1889 xcb_window_t window);
1890
1891/**
1892 * Get the next element of the iterator
1893 * @param i Pointer to a xcb_xfixes_barrier_iterator_t
1894 *
1895 * Get the next element in the iterator. The member rem is
1896 * decreased by one. The member data points to the next
1897 * element. The member index is increased by sizeof(xcb_xfixes_barrier_t)
1898 */
1899void
1900xcb_xfixes_barrier_next (xcb_xfixes_barrier_iterator_t *i);
1901
1902/**
1903 * Return the iterator pointing to the last element
1904 * @param i An xcb_xfixes_barrier_iterator_t
1905 * @return The iterator pointing to the last element
1906 *
1907 * Set the current element in the iterator to the last element.
1908 * The member rem is set to 0. The member data points to the
1909 * last element.
1910 */
1911xcb_generic_iterator_t
1912xcb_xfixes_barrier_end (xcb_xfixes_barrier_iterator_t i);
1913
1914int
1915xcb_xfixes_create_pointer_barrier_sizeof (const void *_buffer);
1916
1917/**
1918 *
1919 * @param c The connection
1920 * @return A cookie
1921 *
1922 * Delivers a request to the X server.
1923 *
1924 * This form can be used only if the request will not cause
1925 * a reply to be generated. Any returned error will be
1926 * saved for handling by xcb_request_check().
1927 */
1928xcb_void_cookie_t
1929xcb_xfixes_create_pointer_barrier_checked (xcb_connection_t *c,
1930 xcb_xfixes_barrier_t barrier,
1931 xcb_window_t window,
1932 uint16_t x1,
1933 uint16_t y1,
1934 uint16_t x2,
1935 uint16_t y2,
1936 uint32_t directions,
1937 uint16_t num_devices,
1938 const uint16_t *devices);
1939
1940/**
1941 *
1942 * @param c The connection
1943 * @return A cookie
1944 *
1945 * Delivers a request to the X server.
1946 *
1947 */
1948xcb_void_cookie_t
1949xcb_xfixes_create_pointer_barrier (xcb_connection_t *c,
1950 xcb_xfixes_barrier_t barrier,
1951 xcb_window_t window,
1952 uint16_t x1,
1953 uint16_t y1,
1954 uint16_t x2,
1955 uint16_t y2,
1956 uint32_t directions,
1957 uint16_t num_devices,
1958 const uint16_t *devices);
1959
1960uint16_t *
1961xcb_xfixes_create_pointer_barrier_devices (const xcb_xfixes_create_pointer_barrier_request_t *R);
1962
1963int
1964xcb_xfixes_create_pointer_barrier_devices_length (const xcb_xfixes_create_pointer_barrier_request_t *R);
1965
1966xcb_generic_iterator_t
1967xcb_xfixes_create_pointer_barrier_devices_end (const xcb_xfixes_create_pointer_barrier_request_t *R);
1968
1969/**
1970 *
1971 * @param c The connection
1972 * @return A cookie
1973 *
1974 * Delivers a request to the X server.
1975 *
1976 * This form can be used only if the request will not cause
1977 * a reply to be generated. Any returned error will be
1978 * saved for handling by xcb_request_check().
1979 */
1980xcb_void_cookie_t
1981xcb_xfixes_delete_pointer_barrier_checked (xcb_connection_t *c,
1982 xcb_xfixes_barrier_t barrier);
1983
1984/**
1985 *
1986 * @param c The connection
1987 * @return A cookie
1988 *
1989 * Delivers a request to the X server.
1990 *
1991 */
1992xcb_void_cookie_t
1993xcb_xfixes_delete_pointer_barrier (xcb_connection_t *c,
1994 xcb_xfixes_barrier_t barrier);
1995
1996
1997#ifdef __cplusplus
1998}
1999#endif
2000
2001#endif
2002
2003/**
2004 * @}
2005 */
2006