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 6
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 uint32_t bad_value;
238 uint16_t minor_opcode;
239 uint8_t major_opcode;
240} xcb_xfixes_bad_region_error_t;
241
242typedef enum xcb_xfixes_region_enum_t {
243 XCB_XFIXES_REGION_NONE = 0
244} xcb_xfixes_region_enum_t;
245
246/** Opcode for xcb_xfixes_create_region. */
247#define XCB_XFIXES_CREATE_REGION 5
248
249/**
250 * @brief xcb_xfixes_create_region_request_t
251 **/
252typedef struct xcb_xfixes_create_region_request_t {
253 uint8_t major_opcode;
254 uint8_t minor_opcode;
255 uint16_t length;
256 xcb_xfixes_region_t region;
257} xcb_xfixes_create_region_request_t;
258
259/** Opcode for xcb_xfixes_create_region_from_bitmap. */
260#define XCB_XFIXES_CREATE_REGION_FROM_BITMAP 6
261
262/**
263 * @brief xcb_xfixes_create_region_from_bitmap_request_t
264 **/
265typedef struct xcb_xfixes_create_region_from_bitmap_request_t {
266 uint8_t major_opcode;
267 uint8_t minor_opcode;
268 uint16_t length;
269 xcb_xfixes_region_t region;
270 xcb_pixmap_t bitmap;
271} xcb_xfixes_create_region_from_bitmap_request_t;
272
273/** Opcode for xcb_xfixes_create_region_from_window. */
274#define XCB_XFIXES_CREATE_REGION_FROM_WINDOW 7
275
276/**
277 * @brief xcb_xfixes_create_region_from_window_request_t
278 **/
279typedef struct xcb_xfixes_create_region_from_window_request_t {
280 uint8_t major_opcode;
281 uint8_t minor_opcode;
282 uint16_t length;
283 xcb_xfixes_region_t region;
284 xcb_window_t window;
285 xcb_shape_kind_t kind;
286 uint8_t pad0[3];
287} xcb_xfixes_create_region_from_window_request_t;
288
289/** Opcode for xcb_xfixes_create_region_from_gc. */
290#define XCB_XFIXES_CREATE_REGION_FROM_GC 8
291
292/**
293 * @brief xcb_xfixes_create_region_from_gc_request_t
294 **/
295typedef struct xcb_xfixes_create_region_from_gc_request_t {
296 uint8_t major_opcode;
297 uint8_t minor_opcode;
298 uint16_t length;
299 xcb_xfixes_region_t region;
300 xcb_gcontext_t gc;
301} xcb_xfixes_create_region_from_gc_request_t;
302
303/** Opcode for xcb_xfixes_create_region_from_picture. */
304#define XCB_XFIXES_CREATE_REGION_FROM_PICTURE 9
305
306/**
307 * @brief xcb_xfixes_create_region_from_picture_request_t
308 **/
309typedef struct xcb_xfixes_create_region_from_picture_request_t {
310 uint8_t major_opcode;
311 uint8_t minor_opcode;
312 uint16_t length;
313 xcb_xfixes_region_t region;
314 xcb_render_picture_t picture;
315} xcb_xfixes_create_region_from_picture_request_t;
316
317/** Opcode for xcb_xfixes_destroy_region. */
318#define XCB_XFIXES_DESTROY_REGION 10
319
320/**
321 * @brief xcb_xfixes_destroy_region_request_t
322 **/
323typedef struct xcb_xfixes_destroy_region_request_t {
324 uint8_t major_opcode;
325 uint8_t minor_opcode;
326 uint16_t length;
327 xcb_xfixes_region_t region;
328} xcb_xfixes_destroy_region_request_t;
329
330/** Opcode for xcb_xfixes_set_region. */
331#define XCB_XFIXES_SET_REGION 11
332
333/**
334 * @brief xcb_xfixes_set_region_request_t
335 **/
336typedef struct xcb_xfixes_set_region_request_t {
337 uint8_t major_opcode;
338 uint8_t minor_opcode;
339 uint16_t length;
340 xcb_xfixes_region_t region;
341} xcb_xfixes_set_region_request_t;
342
343/** Opcode for xcb_xfixes_copy_region. */
344#define XCB_XFIXES_COPY_REGION 12
345
346/**
347 * @brief xcb_xfixes_copy_region_request_t
348 **/
349typedef struct xcb_xfixes_copy_region_request_t {
350 uint8_t major_opcode;
351 uint8_t minor_opcode;
352 uint16_t length;
353 xcb_xfixes_region_t source;
354 xcb_xfixes_region_t destination;
355} xcb_xfixes_copy_region_request_t;
356
357/** Opcode for xcb_xfixes_union_region. */
358#define XCB_XFIXES_UNION_REGION 13
359
360/**
361 * @brief xcb_xfixes_union_region_request_t
362 **/
363typedef struct xcb_xfixes_union_region_request_t {
364 uint8_t major_opcode;
365 uint8_t minor_opcode;
366 uint16_t length;
367 xcb_xfixes_region_t source1;
368 xcb_xfixes_region_t source2;
369 xcb_xfixes_region_t destination;
370} xcb_xfixes_union_region_request_t;
371
372/** Opcode for xcb_xfixes_intersect_region. */
373#define XCB_XFIXES_INTERSECT_REGION 14
374
375/**
376 * @brief xcb_xfixes_intersect_region_request_t
377 **/
378typedef struct xcb_xfixes_intersect_region_request_t {
379 uint8_t major_opcode;
380 uint8_t minor_opcode;
381 uint16_t length;
382 xcb_xfixes_region_t source1;
383 xcb_xfixes_region_t source2;
384 xcb_xfixes_region_t destination;
385} xcb_xfixes_intersect_region_request_t;
386
387/** Opcode for xcb_xfixes_subtract_region. */
388#define XCB_XFIXES_SUBTRACT_REGION 15
389
390/**
391 * @brief xcb_xfixes_subtract_region_request_t
392 **/
393typedef struct xcb_xfixes_subtract_region_request_t {
394 uint8_t major_opcode;
395 uint8_t minor_opcode;
396 uint16_t length;
397 xcb_xfixes_region_t source1;
398 xcb_xfixes_region_t source2;
399 xcb_xfixes_region_t destination;
400} xcb_xfixes_subtract_region_request_t;
401
402/** Opcode for xcb_xfixes_invert_region. */
403#define XCB_XFIXES_INVERT_REGION 16
404
405/**
406 * @brief xcb_xfixes_invert_region_request_t
407 **/
408typedef struct xcb_xfixes_invert_region_request_t {
409 uint8_t major_opcode;
410 uint8_t minor_opcode;
411 uint16_t length;
412 xcb_xfixes_region_t source;
413 xcb_rectangle_t bounds;
414 xcb_xfixes_region_t destination;
415} xcb_xfixes_invert_region_request_t;
416
417/** Opcode for xcb_xfixes_translate_region. */
418#define XCB_XFIXES_TRANSLATE_REGION 17
419
420/**
421 * @brief xcb_xfixes_translate_region_request_t
422 **/
423typedef struct xcb_xfixes_translate_region_request_t {
424 uint8_t major_opcode;
425 uint8_t minor_opcode;
426 uint16_t length;
427 xcb_xfixes_region_t region;
428 int16_t dx;
429 int16_t dy;
430} xcb_xfixes_translate_region_request_t;
431
432/** Opcode for xcb_xfixes_region_extents. */
433#define XCB_XFIXES_REGION_EXTENTS 18
434
435/**
436 * @brief xcb_xfixes_region_extents_request_t
437 **/
438typedef struct xcb_xfixes_region_extents_request_t {
439 uint8_t major_opcode;
440 uint8_t minor_opcode;
441 uint16_t length;
442 xcb_xfixes_region_t source;
443 xcb_xfixes_region_t destination;
444} xcb_xfixes_region_extents_request_t;
445
446/**
447 * @brief xcb_xfixes_fetch_region_cookie_t
448 **/
449typedef struct xcb_xfixes_fetch_region_cookie_t {
450 unsigned int sequence;
451} xcb_xfixes_fetch_region_cookie_t;
452
453/** Opcode for xcb_xfixes_fetch_region. */
454#define XCB_XFIXES_FETCH_REGION 19
455
456/**
457 * @brief xcb_xfixes_fetch_region_request_t
458 **/
459typedef struct xcb_xfixes_fetch_region_request_t {
460 uint8_t major_opcode;
461 uint8_t minor_opcode;
462 uint16_t length;
463 xcb_xfixes_region_t region;
464} xcb_xfixes_fetch_region_request_t;
465
466/**
467 * @brief xcb_xfixes_fetch_region_reply_t
468 **/
469typedef struct xcb_xfixes_fetch_region_reply_t {
470 uint8_t response_type;
471 uint8_t pad0;
472 uint16_t sequence;
473 uint32_t length;
474 xcb_rectangle_t extents;
475 uint8_t pad1[16];
476} xcb_xfixes_fetch_region_reply_t;
477
478/** Opcode for xcb_xfixes_set_gc_clip_region. */
479#define XCB_XFIXES_SET_GC_CLIP_REGION 20
480
481/**
482 * @brief xcb_xfixes_set_gc_clip_region_request_t
483 **/
484typedef struct xcb_xfixes_set_gc_clip_region_request_t {
485 uint8_t major_opcode;
486 uint8_t minor_opcode;
487 uint16_t length;
488 xcb_gcontext_t gc;
489 xcb_xfixes_region_t region;
490 int16_t x_origin;
491 int16_t y_origin;
492} xcb_xfixes_set_gc_clip_region_request_t;
493
494/** Opcode for xcb_xfixes_set_window_shape_region. */
495#define XCB_XFIXES_SET_WINDOW_SHAPE_REGION 21
496
497/**
498 * @brief xcb_xfixes_set_window_shape_region_request_t
499 **/
500typedef struct xcb_xfixes_set_window_shape_region_request_t {
501 uint8_t major_opcode;
502 uint8_t minor_opcode;
503 uint16_t length;
504 xcb_window_t dest;
505 xcb_shape_kind_t dest_kind;
506 uint8_t pad0[3];
507 int16_t x_offset;
508 int16_t y_offset;
509 xcb_xfixes_region_t region;
510} xcb_xfixes_set_window_shape_region_request_t;
511
512/** Opcode for xcb_xfixes_set_picture_clip_region. */
513#define XCB_XFIXES_SET_PICTURE_CLIP_REGION 22
514
515/**
516 * @brief xcb_xfixes_set_picture_clip_region_request_t
517 **/
518typedef struct xcb_xfixes_set_picture_clip_region_request_t {
519 uint8_t major_opcode;
520 uint8_t minor_opcode;
521 uint16_t length;
522 xcb_render_picture_t picture;
523 xcb_xfixes_region_t region;
524 int16_t x_origin;
525 int16_t y_origin;
526} xcb_xfixes_set_picture_clip_region_request_t;
527
528/** Opcode for xcb_xfixes_set_cursor_name. */
529#define XCB_XFIXES_SET_CURSOR_NAME 23
530
531/**
532 * @brief xcb_xfixes_set_cursor_name_request_t
533 **/
534typedef struct xcb_xfixes_set_cursor_name_request_t {
535 uint8_t major_opcode;
536 uint8_t minor_opcode;
537 uint16_t length;
538 xcb_cursor_t cursor;
539 uint16_t nbytes;
540 uint8_t pad0[2];
541} xcb_xfixes_set_cursor_name_request_t;
542
543/**
544 * @brief xcb_xfixes_get_cursor_name_cookie_t
545 **/
546typedef struct xcb_xfixes_get_cursor_name_cookie_t {
547 unsigned int sequence;
548} xcb_xfixes_get_cursor_name_cookie_t;
549
550/** Opcode for xcb_xfixes_get_cursor_name. */
551#define XCB_XFIXES_GET_CURSOR_NAME 24
552
553/**
554 * @brief xcb_xfixes_get_cursor_name_request_t
555 **/
556typedef struct xcb_xfixes_get_cursor_name_request_t {
557 uint8_t major_opcode;
558 uint8_t minor_opcode;
559 uint16_t length;
560 xcb_cursor_t cursor;
561} xcb_xfixes_get_cursor_name_request_t;
562
563/**
564 * @brief xcb_xfixes_get_cursor_name_reply_t
565 **/
566typedef struct xcb_xfixes_get_cursor_name_reply_t {
567 uint8_t response_type;
568 uint8_t pad0;
569 uint16_t sequence;
570 uint32_t length;
571 xcb_atom_t atom;
572 uint16_t nbytes;
573 uint8_t pad1[18];
574} xcb_xfixes_get_cursor_name_reply_t;
575
576/**
577 * @brief xcb_xfixes_get_cursor_image_and_name_cookie_t
578 **/
579typedef struct xcb_xfixes_get_cursor_image_and_name_cookie_t {
580 unsigned int sequence;
581} xcb_xfixes_get_cursor_image_and_name_cookie_t;
582
583/** Opcode for xcb_xfixes_get_cursor_image_and_name. */
584#define XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME 25
585
586/**
587 * @brief xcb_xfixes_get_cursor_image_and_name_request_t
588 **/
589typedef struct xcb_xfixes_get_cursor_image_and_name_request_t {
590 uint8_t major_opcode;
591 uint8_t minor_opcode;
592 uint16_t length;
593} xcb_xfixes_get_cursor_image_and_name_request_t;
594
595/**
596 * @brief xcb_xfixes_get_cursor_image_and_name_reply_t
597 **/
598typedef struct xcb_xfixes_get_cursor_image_and_name_reply_t {
599 uint8_t response_type;
600 uint8_t pad0;
601 uint16_t sequence;
602 uint32_t length;
603 int16_t x;
604 int16_t y;
605 uint16_t width;
606 uint16_t height;
607 uint16_t xhot;
608 uint16_t yhot;
609 uint32_t cursor_serial;
610 xcb_atom_t cursor_atom;
611 uint16_t nbytes;
612 uint8_t pad1[2];
613} xcb_xfixes_get_cursor_image_and_name_reply_t;
614
615/** Opcode for xcb_xfixes_change_cursor. */
616#define XCB_XFIXES_CHANGE_CURSOR 26
617
618/**
619 * @brief xcb_xfixes_change_cursor_request_t
620 **/
621typedef struct xcb_xfixes_change_cursor_request_t {
622 uint8_t major_opcode;
623 uint8_t minor_opcode;
624 uint16_t length;
625 xcb_cursor_t source;
626 xcb_cursor_t destination;
627} xcb_xfixes_change_cursor_request_t;
628
629/** Opcode for xcb_xfixes_change_cursor_by_name. */
630#define XCB_XFIXES_CHANGE_CURSOR_BY_NAME 27
631
632/**
633 * @brief xcb_xfixes_change_cursor_by_name_request_t
634 **/
635typedef struct xcb_xfixes_change_cursor_by_name_request_t {
636 uint8_t major_opcode;
637 uint8_t minor_opcode;
638 uint16_t length;
639 xcb_cursor_t src;
640 uint16_t nbytes;
641 uint8_t pad0[2];
642} xcb_xfixes_change_cursor_by_name_request_t;
643
644/** Opcode for xcb_xfixes_expand_region. */
645#define XCB_XFIXES_EXPAND_REGION 28
646
647/**
648 * @brief xcb_xfixes_expand_region_request_t
649 **/
650typedef struct xcb_xfixes_expand_region_request_t {
651 uint8_t major_opcode;
652 uint8_t minor_opcode;
653 uint16_t length;
654 xcb_xfixes_region_t source;
655 xcb_xfixes_region_t destination;
656 uint16_t left;
657 uint16_t right;
658 uint16_t top;
659 uint16_t bottom;
660} xcb_xfixes_expand_region_request_t;
661
662/** Opcode for xcb_xfixes_hide_cursor. */
663#define XCB_XFIXES_HIDE_CURSOR 29
664
665/**
666 * @brief xcb_xfixes_hide_cursor_request_t
667 **/
668typedef struct xcb_xfixes_hide_cursor_request_t {
669 uint8_t major_opcode;
670 uint8_t minor_opcode;
671 uint16_t length;
672 xcb_window_t window;
673} xcb_xfixes_hide_cursor_request_t;
674
675/** Opcode for xcb_xfixes_show_cursor. */
676#define XCB_XFIXES_SHOW_CURSOR 30
677
678/**
679 * @brief xcb_xfixes_show_cursor_request_t
680 **/
681typedef struct xcb_xfixes_show_cursor_request_t {
682 uint8_t major_opcode;
683 uint8_t minor_opcode;
684 uint16_t length;
685 xcb_window_t window;
686} xcb_xfixes_show_cursor_request_t;
687
688typedef uint32_t xcb_xfixes_barrier_t;
689
690/**
691 * @brief xcb_xfixes_barrier_iterator_t
692 **/
693typedef struct xcb_xfixes_barrier_iterator_t {
694 xcb_xfixes_barrier_t *data;
695 int rem;
696 int index;
697} xcb_xfixes_barrier_iterator_t;
698
699typedef enum xcb_xfixes_barrier_directions_t {
700 XCB_XFIXES_BARRIER_DIRECTIONS_POSITIVE_X = 1,
701 XCB_XFIXES_BARRIER_DIRECTIONS_POSITIVE_Y = 2,
702 XCB_XFIXES_BARRIER_DIRECTIONS_NEGATIVE_X = 4,
703 XCB_XFIXES_BARRIER_DIRECTIONS_NEGATIVE_Y = 8
704} xcb_xfixes_barrier_directions_t;
705
706/** Opcode for xcb_xfixes_create_pointer_barrier. */
707#define XCB_XFIXES_CREATE_POINTER_BARRIER 31
708
709/**
710 * @brief xcb_xfixes_create_pointer_barrier_request_t
711 **/
712typedef struct xcb_xfixes_create_pointer_barrier_request_t {
713 uint8_t major_opcode;
714 uint8_t minor_opcode;
715 uint16_t length;
716 xcb_xfixes_barrier_t barrier;
717 xcb_window_t window;
718 uint16_t x1;
719 uint16_t y1;
720 uint16_t x2;
721 uint16_t y2;
722 uint32_t directions;
723 uint8_t pad0[2];
724 uint16_t num_devices;
725} xcb_xfixes_create_pointer_barrier_request_t;
726
727/** Opcode for xcb_xfixes_delete_pointer_barrier. */
728#define XCB_XFIXES_DELETE_POINTER_BARRIER 32
729
730/**
731 * @brief xcb_xfixes_delete_pointer_barrier_request_t
732 **/
733typedef struct xcb_xfixes_delete_pointer_barrier_request_t {
734 uint8_t major_opcode;
735 uint8_t minor_opcode;
736 uint16_t length;
737 xcb_xfixes_barrier_t barrier;
738} xcb_xfixes_delete_pointer_barrier_request_t;
739
740typedef enum xcb_xfixes_client_disconnect_flags_t {
741 XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_DEFAULT = 0,
742/**< The default behavior for regular clients: the X11 server won't terminate as long
743as such clients are still connected, and should this client disconnect, the
744server will continue running so long as other clients (that have not set
745XFixesClientDisconnectFlagTerminate) are connected. */
746
747 XCB_XFIXES_CLIENT_DISCONNECT_FLAGS_TERMINATE = 1
748/**< Indicates to the X11 server that it can ignore the client and terminate itself
749even though the client is still connected to the X11 server. */
750
751} xcb_xfixes_client_disconnect_flags_t;
752
753/** Opcode for xcb_xfixes_set_client_disconnect_mode. */
754#define XCB_XFIXES_SET_CLIENT_DISCONNECT_MODE 33
755
756/**
757 * @brief xcb_xfixes_set_client_disconnect_mode_request_t
758 **/
759typedef struct xcb_xfixes_set_client_disconnect_mode_request_t {
760 uint8_t major_opcode;
761 uint8_t minor_opcode;
762 uint16_t length;
763 uint32_t disconnect_mode;
764} xcb_xfixes_set_client_disconnect_mode_request_t;
765
766/**
767 * @brief xcb_xfixes_get_client_disconnect_mode_cookie_t
768 **/
769typedef struct xcb_xfixes_get_client_disconnect_mode_cookie_t {
770 unsigned int sequence;
771} xcb_xfixes_get_client_disconnect_mode_cookie_t;
772
773/** Opcode for xcb_xfixes_get_client_disconnect_mode. */
774#define XCB_XFIXES_GET_CLIENT_DISCONNECT_MODE 34
775
776/**
777 * @brief xcb_xfixes_get_client_disconnect_mode_request_t
778 **/
779typedef struct xcb_xfixes_get_client_disconnect_mode_request_t {
780 uint8_t major_opcode;
781 uint8_t minor_opcode;
782 uint16_t length;
783} xcb_xfixes_get_client_disconnect_mode_request_t;
784
785/**
786 * @brief xcb_xfixes_get_client_disconnect_mode_reply_t
787 **/
788typedef struct xcb_xfixes_get_client_disconnect_mode_reply_t {
789 uint8_t response_type;
790 uint8_t pad0;
791 uint16_t sequence;
792 uint32_t length;
793 uint32_t disconnect_mode;
794 uint8_t pad1[20];
795} xcb_xfixes_get_client_disconnect_mode_reply_t;
796
797/**
798 *
799 * @param c The connection
800 * @return A cookie
801 *
802 * Delivers a request to the X server.
803 *
804 */
805xcb_xfixes_query_version_cookie_t
806xcb_xfixes_query_version (xcb_connection_t *c,
807 uint32_t client_major_version,
808 uint32_t client_minor_version);
809
810/**
811 *
812 * @param c The connection
813 * @return A cookie
814 *
815 * Delivers a request to the X server.
816 *
817 * This form can be used only if the request will cause
818 * a reply to be generated. Any returned error will be
819 * placed in the event queue.
820 */
821xcb_xfixes_query_version_cookie_t
822xcb_xfixes_query_version_unchecked (xcb_connection_t *c,
823 uint32_t client_major_version,
824 uint32_t client_minor_version);
825
826/**
827 * Return the reply
828 * @param c The connection
829 * @param cookie The cookie
830 * @param e The xcb_generic_error_t supplied
831 *
832 * Returns the reply of the request asked by
833 *
834 * The parameter @p e supplied to this function must be NULL if
835 * xcb_xfixes_query_version_unchecked(). is used.
836 * Otherwise, it stores the error if any.
837 *
838 * The returned value must be freed by the caller using free().
839 */
840xcb_xfixes_query_version_reply_t *
841xcb_xfixes_query_version_reply (xcb_connection_t *c,
842 xcb_xfixes_query_version_cookie_t cookie /**< */,
843 xcb_generic_error_t **e);
844
845/**
846 *
847 * @param c The connection
848 * @return A cookie
849 *
850 * Delivers a request to the X server.
851 *
852 * This form can be used only if the request will not cause
853 * a reply to be generated. Any returned error will be
854 * saved for handling by xcb_request_check().
855 */
856xcb_void_cookie_t
857xcb_xfixes_change_save_set_checked (xcb_connection_t *c,
858 uint8_t mode,
859 uint8_t target,
860 uint8_t map,
861 xcb_window_t window);
862
863/**
864 *
865 * @param c The connection
866 * @return A cookie
867 *
868 * Delivers a request to the X server.
869 *
870 */
871xcb_void_cookie_t
872xcb_xfixes_change_save_set (xcb_connection_t *c,
873 uint8_t mode,
874 uint8_t target,
875 uint8_t map,
876 xcb_window_t window);
877
878/**
879 *
880 * @param c The connection
881 * @return A cookie
882 *
883 * Delivers a request to the X server.
884 *
885 * This form can be used only if the request will not cause
886 * a reply to be generated. Any returned error will be
887 * saved for handling by xcb_request_check().
888 */
889xcb_void_cookie_t
890xcb_xfixes_select_selection_input_checked (xcb_connection_t *c,
891 xcb_window_t window,
892 xcb_atom_t selection,
893 uint32_t event_mask);
894
895/**
896 *
897 * @param c The connection
898 * @return A cookie
899 *
900 * Delivers a request to the X server.
901 *
902 */
903xcb_void_cookie_t
904xcb_xfixes_select_selection_input (xcb_connection_t *c,
905 xcb_window_t window,
906 xcb_atom_t selection,
907 uint32_t event_mask);
908
909/**
910 *
911 * @param c The connection
912 * @return A cookie
913 *
914 * Delivers a request to the X server.
915 *
916 * This form can be used only if the request will not cause
917 * a reply to be generated. Any returned error will be
918 * saved for handling by xcb_request_check().
919 */
920xcb_void_cookie_t
921xcb_xfixes_select_cursor_input_checked (xcb_connection_t *c,
922 xcb_window_t window,
923 uint32_t event_mask);
924
925/**
926 *
927 * @param c The connection
928 * @return A cookie
929 *
930 * Delivers a request to the X server.
931 *
932 */
933xcb_void_cookie_t
934xcb_xfixes_select_cursor_input (xcb_connection_t *c,
935 xcb_window_t window,
936 uint32_t event_mask);
937
938int
939xcb_xfixes_get_cursor_image_sizeof (const void *_buffer);
940
941/**
942 *
943 * @param c The connection
944 * @return A cookie
945 *
946 * Delivers a request to the X server.
947 *
948 */
949xcb_xfixes_get_cursor_image_cookie_t
950xcb_xfixes_get_cursor_image (xcb_connection_t *c);
951
952/**
953 *
954 * @param c The connection
955 * @return A cookie
956 *
957 * Delivers a request to the X server.
958 *
959 * This form can be used only if the request will cause
960 * a reply to be generated. Any returned error will be
961 * placed in the event queue.
962 */
963xcb_xfixes_get_cursor_image_cookie_t
964xcb_xfixes_get_cursor_image_unchecked (xcb_connection_t *c);
965
966uint32_t *
967xcb_xfixes_get_cursor_image_cursor_image (const xcb_xfixes_get_cursor_image_reply_t *R);
968
969int
970xcb_xfixes_get_cursor_image_cursor_image_length (const xcb_xfixes_get_cursor_image_reply_t *R);
971
972xcb_generic_iterator_t
973xcb_xfixes_get_cursor_image_cursor_image_end (const xcb_xfixes_get_cursor_image_reply_t *R);
974
975/**
976 * Return the reply
977 * @param c The connection
978 * @param cookie The cookie
979 * @param e The xcb_generic_error_t supplied
980 *
981 * Returns the reply of the request asked by
982 *
983 * The parameter @p e supplied to this function must be NULL if
984 * xcb_xfixes_get_cursor_image_unchecked(). is used.
985 * Otherwise, it stores the error if any.
986 *
987 * The returned value must be freed by the caller using free().
988 */
989xcb_xfixes_get_cursor_image_reply_t *
990xcb_xfixes_get_cursor_image_reply (xcb_connection_t *c,
991 xcb_xfixes_get_cursor_image_cookie_t cookie /**< */,
992 xcb_generic_error_t **e);
993
994/**
995 * Get the next element of the iterator
996 * @param i Pointer to a xcb_xfixes_region_iterator_t
997 *
998 * Get the next element in the iterator. The member rem is
999 * decreased by one. The member data points to the next
1000 * element. The member index is increased by sizeof(xcb_xfixes_region_t)
1001 */
1002void
1003xcb_xfixes_region_next (xcb_xfixes_region_iterator_t *i);
1004
1005/**
1006 * Return the iterator pointing to the last element
1007 * @param i An xcb_xfixes_region_iterator_t
1008 * @return The iterator pointing to the last element
1009 *
1010 * Set the current element in the iterator to the last element.
1011 * The member rem is set to 0. The member data points to the
1012 * last element.
1013 */
1014xcb_generic_iterator_t
1015xcb_xfixes_region_end (xcb_xfixes_region_iterator_t i);
1016
1017int
1018xcb_xfixes_create_region_sizeof (const void *_buffer,
1019 uint32_t rectangles_len);
1020
1021/**
1022 *
1023 * @param c The connection
1024 * @return A cookie
1025 *
1026 * Delivers a request to the X server.
1027 *
1028 * This form can be used only if the request will not cause
1029 * a reply to be generated. Any returned error will be
1030 * saved for handling by xcb_request_check().
1031 */
1032xcb_void_cookie_t
1033xcb_xfixes_create_region_checked (xcb_connection_t *c,
1034 xcb_xfixes_region_t region,
1035 uint32_t rectangles_len,
1036 const xcb_rectangle_t *rectangles);
1037
1038/**
1039 *
1040 * @param c The connection
1041 * @return A cookie
1042 *
1043 * Delivers a request to the X server.
1044 *
1045 */
1046xcb_void_cookie_t
1047xcb_xfixes_create_region (xcb_connection_t *c,
1048 xcb_xfixes_region_t region,
1049 uint32_t rectangles_len,
1050 const xcb_rectangle_t *rectangles);
1051
1052xcb_rectangle_t *
1053xcb_xfixes_create_region_rectangles (const xcb_xfixes_create_region_request_t *R);
1054
1055int
1056xcb_xfixes_create_region_rectangles_length (const xcb_xfixes_create_region_request_t *R);
1057
1058xcb_rectangle_iterator_t
1059xcb_xfixes_create_region_rectangles_iterator (const xcb_xfixes_create_region_request_t *R);
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_bitmap_checked (xcb_connection_t *c,
1074 xcb_xfixes_region_t region,
1075 xcb_pixmap_t bitmap);
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_bitmap (xcb_connection_t *c,
1087 xcb_xfixes_region_t region,
1088 xcb_pixmap_t bitmap);
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_window_checked (xcb_connection_t *c,
1103 xcb_xfixes_region_t region,
1104 xcb_window_t window,
1105 xcb_shape_kind_t kind);
1106
1107/**
1108 *
1109 * @param c The connection
1110 * @return A cookie
1111 *
1112 * Delivers a request to the X server.
1113 *
1114 */
1115xcb_void_cookie_t
1116xcb_xfixes_create_region_from_window (xcb_connection_t *c,
1117 xcb_xfixes_region_t region,
1118 xcb_window_t window,
1119 xcb_shape_kind_t kind);
1120
1121/**
1122 *
1123 * @param c The connection
1124 * @return A cookie
1125 *
1126 * Delivers a request to the X server.
1127 *
1128 * This form can be used only if the request will not cause
1129 * a reply to be generated. Any returned error will be
1130 * saved for handling by xcb_request_check().
1131 */
1132xcb_void_cookie_t
1133xcb_xfixes_create_region_from_gc_checked (xcb_connection_t *c,
1134 xcb_xfixes_region_t region,
1135 xcb_gcontext_t gc);
1136
1137/**
1138 *
1139 * @param c The connection
1140 * @return A cookie
1141 *
1142 * Delivers a request to the X server.
1143 *
1144 */
1145xcb_void_cookie_t
1146xcb_xfixes_create_region_from_gc (xcb_connection_t *c,
1147 xcb_xfixes_region_t region,
1148 xcb_gcontext_t gc);
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_create_region_from_picture_checked (xcb_connection_t *c,
1163 xcb_xfixes_region_t region,
1164 xcb_render_picture_t picture);
1165
1166/**
1167 *
1168 * @param c The connection
1169 * @return A cookie
1170 *
1171 * Delivers a request to the X server.
1172 *
1173 */
1174xcb_void_cookie_t
1175xcb_xfixes_create_region_from_picture (xcb_connection_t *c,
1176 xcb_xfixes_region_t region,
1177 xcb_render_picture_t picture);
1178
1179/**
1180 *
1181 * @param c The connection
1182 * @return A cookie
1183 *
1184 * Delivers a request to the X server.
1185 *
1186 * This form can be used only if the request will not cause
1187 * a reply to be generated. Any returned error will be
1188 * saved for handling by xcb_request_check().
1189 */
1190xcb_void_cookie_t
1191xcb_xfixes_destroy_region_checked (xcb_connection_t *c,
1192 xcb_xfixes_region_t region);
1193
1194/**
1195 *
1196 * @param c The connection
1197 * @return A cookie
1198 *
1199 * Delivers a request to the X server.
1200 *
1201 */
1202xcb_void_cookie_t
1203xcb_xfixes_destroy_region (xcb_connection_t *c,
1204 xcb_xfixes_region_t region);
1205
1206int
1207xcb_xfixes_set_region_sizeof (const void *_buffer,
1208 uint32_t rectangles_len);
1209
1210/**
1211 *
1212 * @param c The connection
1213 * @return A cookie
1214 *
1215 * Delivers a request to the X server.
1216 *
1217 * This form can be used only if the request will not cause
1218 * a reply to be generated. Any returned error will be
1219 * saved for handling by xcb_request_check().
1220 */
1221xcb_void_cookie_t
1222xcb_xfixes_set_region_checked (xcb_connection_t *c,
1223 xcb_xfixes_region_t region,
1224 uint32_t rectangles_len,
1225 const xcb_rectangle_t *rectangles);
1226
1227/**
1228 *
1229 * @param c The connection
1230 * @return A cookie
1231 *
1232 * Delivers a request to the X server.
1233 *
1234 */
1235xcb_void_cookie_t
1236xcb_xfixes_set_region (xcb_connection_t *c,
1237 xcb_xfixes_region_t region,
1238 uint32_t rectangles_len,
1239 const xcb_rectangle_t *rectangles);
1240
1241xcb_rectangle_t *
1242xcb_xfixes_set_region_rectangles (const xcb_xfixes_set_region_request_t *R);
1243
1244int
1245xcb_xfixes_set_region_rectangles_length (const xcb_xfixes_set_region_request_t *R);
1246
1247xcb_rectangle_iterator_t
1248xcb_xfixes_set_region_rectangles_iterator (const xcb_xfixes_set_region_request_t *R);
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_copy_region_checked (xcb_connection_t *c,
1263 xcb_xfixes_region_t source,
1264 xcb_xfixes_region_t destination);
1265
1266/**
1267 *
1268 * @param c The connection
1269 * @return A cookie
1270 *
1271 * Delivers a request to the X server.
1272 *
1273 */
1274xcb_void_cookie_t
1275xcb_xfixes_copy_region (xcb_connection_t *c,
1276 xcb_xfixes_region_t source,
1277 xcb_xfixes_region_t destination);
1278
1279/**
1280 *
1281 * @param c The connection
1282 * @return A cookie
1283 *
1284 * Delivers a request to the X server.
1285 *
1286 * This form can be used only if the request will not cause
1287 * a reply to be generated. Any returned error will be
1288 * saved for handling by xcb_request_check().
1289 */
1290xcb_void_cookie_t
1291xcb_xfixes_union_region_checked (xcb_connection_t *c,
1292 xcb_xfixes_region_t source1,
1293 xcb_xfixes_region_t source2,
1294 xcb_xfixes_region_t destination);
1295
1296/**
1297 *
1298 * @param c The connection
1299 * @return A cookie
1300 *
1301 * Delivers a request to the X server.
1302 *
1303 */
1304xcb_void_cookie_t
1305xcb_xfixes_union_region (xcb_connection_t *c,
1306 xcb_xfixes_region_t source1,
1307 xcb_xfixes_region_t source2,
1308 xcb_xfixes_region_t destination);
1309
1310/**
1311 *
1312 * @param c The connection
1313 * @return A cookie
1314 *
1315 * Delivers a request to the X server.
1316 *
1317 * This form can be used only if the request will not cause
1318 * a reply to be generated. Any returned error will be
1319 * saved for handling by xcb_request_check().
1320 */
1321xcb_void_cookie_t
1322xcb_xfixes_intersect_region_checked (xcb_connection_t *c,
1323 xcb_xfixes_region_t source1,
1324 xcb_xfixes_region_t source2,
1325 xcb_xfixes_region_t destination);
1326
1327/**
1328 *
1329 * @param c The connection
1330 * @return A cookie
1331 *
1332 * Delivers a request to the X server.
1333 *
1334 */
1335xcb_void_cookie_t
1336xcb_xfixes_intersect_region (xcb_connection_t *c,
1337 xcb_xfixes_region_t source1,
1338 xcb_xfixes_region_t source2,
1339 xcb_xfixes_region_t destination);
1340
1341/**
1342 *
1343 * @param c The connection
1344 * @return A cookie
1345 *
1346 * Delivers a request to the X server.
1347 *
1348 * This form can be used only if the request will not cause
1349 * a reply to be generated. Any returned error will be
1350 * saved for handling by xcb_request_check().
1351 */
1352xcb_void_cookie_t
1353xcb_xfixes_subtract_region_checked (xcb_connection_t *c,
1354 xcb_xfixes_region_t source1,
1355 xcb_xfixes_region_t source2,
1356 xcb_xfixes_region_t destination);
1357
1358/**
1359 *
1360 * @param c The connection
1361 * @return A cookie
1362 *
1363 * Delivers a request to the X server.
1364 *
1365 */
1366xcb_void_cookie_t
1367xcb_xfixes_subtract_region (xcb_connection_t *c,
1368 xcb_xfixes_region_t source1,
1369 xcb_xfixes_region_t source2,
1370 xcb_xfixes_region_t destination);
1371
1372/**
1373 *
1374 * @param c The connection
1375 * @return A cookie
1376 *
1377 * Delivers a request to the X server.
1378 *
1379 * This form can be used only if the request will not cause
1380 * a reply to be generated. Any returned error will be
1381 * saved for handling by xcb_request_check().
1382 */
1383xcb_void_cookie_t
1384xcb_xfixes_invert_region_checked (xcb_connection_t *c,
1385 xcb_xfixes_region_t source,
1386 xcb_rectangle_t bounds,
1387 xcb_xfixes_region_t destination);
1388
1389/**
1390 *
1391 * @param c The connection
1392 * @return A cookie
1393 *
1394 * Delivers a request to the X server.
1395 *
1396 */
1397xcb_void_cookie_t
1398xcb_xfixes_invert_region (xcb_connection_t *c,
1399 xcb_xfixes_region_t source,
1400 xcb_rectangle_t bounds,
1401 xcb_xfixes_region_t destination);
1402
1403/**
1404 *
1405 * @param c The connection
1406 * @return A cookie
1407 *
1408 * Delivers a request to the X server.
1409 *
1410 * This form can be used only if the request will not cause
1411 * a reply to be generated. Any returned error will be
1412 * saved for handling by xcb_request_check().
1413 */
1414xcb_void_cookie_t
1415xcb_xfixes_translate_region_checked (xcb_connection_t *c,
1416 xcb_xfixes_region_t region,
1417 int16_t dx,
1418 int16_t dy);
1419
1420/**
1421 *
1422 * @param c The connection
1423 * @return A cookie
1424 *
1425 * Delivers a request to the X server.
1426 *
1427 */
1428xcb_void_cookie_t
1429xcb_xfixes_translate_region (xcb_connection_t *c,
1430 xcb_xfixes_region_t region,
1431 int16_t dx,
1432 int16_t dy);
1433
1434/**
1435 *
1436 * @param c The connection
1437 * @return A cookie
1438 *
1439 * Delivers a request to the X server.
1440 *
1441 * This form can be used only if the request will not cause
1442 * a reply to be generated. Any returned error will be
1443 * saved for handling by xcb_request_check().
1444 */
1445xcb_void_cookie_t
1446xcb_xfixes_region_extents_checked (xcb_connection_t *c,
1447 xcb_xfixes_region_t source,
1448 xcb_xfixes_region_t destination);
1449
1450/**
1451 *
1452 * @param c The connection
1453 * @return A cookie
1454 *
1455 * Delivers a request to the X server.
1456 *
1457 */
1458xcb_void_cookie_t
1459xcb_xfixes_region_extents (xcb_connection_t *c,
1460 xcb_xfixes_region_t source,
1461 xcb_xfixes_region_t destination);
1462
1463int
1464xcb_xfixes_fetch_region_sizeof (const void *_buffer);
1465
1466/**
1467 *
1468 * @param c The connection
1469 * @return A cookie
1470 *
1471 * Delivers a request to the X server.
1472 *
1473 */
1474xcb_xfixes_fetch_region_cookie_t
1475xcb_xfixes_fetch_region (xcb_connection_t *c,
1476 xcb_xfixes_region_t region);
1477
1478/**
1479 *
1480 * @param c The connection
1481 * @return A cookie
1482 *
1483 * Delivers a request to the X server.
1484 *
1485 * This form can be used only if the request will cause
1486 * a reply to be generated. Any returned error will be
1487 * placed in the event queue.
1488 */
1489xcb_xfixes_fetch_region_cookie_t
1490xcb_xfixes_fetch_region_unchecked (xcb_connection_t *c,
1491 xcb_xfixes_region_t region);
1492
1493xcb_rectangle_t *
1494xcb_xfixes_fetch_region_rectangles (const xcb_xfixes_fetch_region_reply_t *R);
1495
1496int
1497xcb_xfixes_fetch_region_rectangles_length (const xcb_xfixes_fetch_region_reply_t *R);
1498
1499xcb_rectangle_iterator_t
1500xcb_xfixes_fetch_region_rectangles_iterator (const xcb_xfixes_fetch_region_reply_t *R);
1501
1502/**
1503 * Return the reply
1504 * @param c The connection
1505 * @param cookie The cookie
1506 * @param e The xcb_generic_error_t supplied
1507 *
1508 * Returns the reply of the request asked by
1509 *
1510 * The parameter @p e supplied to this function must be NULL if
1511 * xcb_xfixes_fetch_region_unchecked(). is used.
1512 * Otherwise, it stores the error if any.
1513 *
1514 * The returned value must be freed by the caller using free().
1515 */
1516xcb_xfixes_fetch_region_reply_t *
1517xcb_xfixes_fetch_region_reply (xcb_connection_t *c,
1518 xcb_xfixes_fetch_region_cookie_t cookie /**< */,
1519 xcb_generic_error_t **e);
1520
1521/**
1522 *
1523 * @param c The connection
1524 * @return A cookie
1525 *
1526 * Delivers a request to the X server.
1527 *
1528 * This form can be used only if the request will not cause
1529 * a reply to be generated. Any returned error will be
1530 * saved for handling by xcb_request_check().
1531 */
1532xcb_void_cookie_t
1533xcb_xfixes_set_gc_clip_region_checked (xcb_connection_t *c,
1534 xcb_gcontext_t gc,
1535 xcb_xfixes_region_t region,
1536 int16_t x_origin,
1537 int16_t y_origin);
1538
1539/**
1540 *
1541 * @param c The connection
1542 * @return A cookie
1543 *
1544 * Delivers a request to the X server.
1545 *
1546 */
1547xcb_void_cookie_t
1548xcb_xfixes_set_gc_clip_region (xcb_connection_t *c,
1549 xcb_gcontext_t gc,
1550 xcb_xfixes_region_t region,
1551 int16_t x_origin,
1552 int16_t y_origin);
1553
1554/**
1555 *
1556 * @param c The connection
1557 * @return A cookie
1558 *
1559 * Delivers a request to the X server.
1560 *
1561 * This form can be used only if the request will not cause
1562 * a reply to be generated. Any returned error will be
1563 * saved for handling by xcb_request_check().
1564 */
1565xcb_void_cookie_t
1566xcb_xfixes_set_window_shape_region_checked (xcb_connection_t *c,
1567 xcb_window_t dest,
1568 xcb_shape_kind_t dest_kind,
1569 int16_t x_offset,
1570 int16_t y_offset,
1571 xcb_xfixes_region_t region);
1572
1573/**
1574 *
1575 * @param c The connection
1576 * @return A cookie
1577 *
1578 * Delivers a request to the X server.
1579 *
1580 */
1581xcb_void_cookie_t
1582xcb_xfixes_set_window_shape_region (xcb_connection_t *c,
1583 xcb_window_t dest,
1584 xcb_shape_kind_t dest_kind,
1585 int16_t x_offset,
1586 int16_t y_offset,
1587 xcb_xfixes_region_t region);
1588
1589/**
1590 *
1591 * @param c The connection
1592 * @return A cookie
1593 *
1594 * Delivers a request to the X server.
1595 *
1596 * This form can be used only if the request will not cause
1597 * a reply to be generated. Any returned error will be
1598 * saved for handling by xcb_request_check().
1599 */
1600xcb_void_cookie_t
1601xcb_xfixes_set_picture_clip_region_checked (xcb_connection_t *c,
1602 xcb_render_picture_t picture,
1603 xcb_xfixes_region_t region,
1604 int16_t x_origin,
1605 int16_t y_origin);
1606
1607/**
1608 *
1609 * @param c The connection
1610 * @return A cookie
1611 *
1612 * Delivers a request to the X server.
1613 *
1614 */
1615xcb_void_cookie_t
1616xcb_xfixes_set_picture_clip_region (xcb_connection_t *c,
1617 xcb_render_picture_t picture,
1618 xcb_xfixes_region_t region,
1619 int16_t x_origin,
1620 int16_t y_origin);
1621
1622int
1623xcb_xfixes_set_cursor_name_sizeof (const void *_buffer);
1624
1625/**
1626 *
1627 * @param c The connection
1628 * @return A cookie
1629 *
1630 * Delivers a request to the X server.
1631 *
1632 * This form can be used only if the request will not cause
1633 * a reply to be generated. Any returned error will be
1634 * saved for handling by xcb_request_check().
1635 */
1636xcb_void_cookie_t
1637xcb_xfixes_set_cursor_name_checked (xcb_connection_t *c,
1638 xcb_cursor_t cursor,
1639 uint16_t nbytes,
1640 const char *name);
1641
1642/**
1643 *
1644 * @param c The connection
1645 * @return A cookie
1646 *
1647 * Delivers a request to the X server.
1648 *
1649 */
1650xcb_void_cookie_t
1651xcb_xfixes_set_cursor_name (xcb_connection_t *c,
1652 xcb_cursor_t cursor,
1653 uint16_t nbytes,
1654 const char *name);
1655
1656char *
1657xcb_xfixes_set_cursor_name_name (const xcb_xfixes_set_cursor_name_request_t *R);
1658
1659int
1660xcb_xfixes_set_cursor_name_name_length (const xcb_xfixes_set_cursor_name_request_t *R);
1661
1662xcb_generic_iterator_t
1663xcb_xfixes_set_cursor_name_name_end (const xcb_xfixes_set_cursor_name_request_t *R);
1664
1665int
1666xcb_xfixes_get_cursor_name_sizeof (const void *_buffer);
1667
1668/**
1669 *
1670 * @param c The connection
1671 * @return A cookie
1672 *
1673 * Delivers a request to the X server.
1674 *
1675 */
1676xcb_xfixes_get_cursor_name_cookie_t
1677xcb_xfixes_get_cursor_name (xcb_connection_t *c,
1678 xcb_cursor_t cursor);
1679
1680/**
1681 *
1682 * @param c The connection
1683 * @return A cookie
1684 *
1685 * Delivers a request to the X server.
1686 *
1687 * This form can be used only if the request will cause
1688 * a reply to be generated. Any returned error will be
1689 * placed in the event queue.
1690 */
1691xcb_xfixes_get_cursor_name_cookie_t
1692xcb_xfixes_get_cursor_name_unchecked (xcb_connection_t *c,
1693 xcb_cursor_t cursor);
1694
1695char *
1696xcb_xfixes_get_cursor_name_name (const xcb_xfixes_get_cursor_name_reply_t *R);
1697
1698int
1699xcb_xfixes_get_cursor_name_name_length (const xcb_xfixes_get_cursor_name_reply_t *R);
1700
1701xcb_generic_iterator_t
1702xcb_xfixes_get_cursor_name_name_end (const xcb_xfixes_get_cursor_name_reply_t *R);
1703
1704/**
1705 * Return the reply
1706 * @param c The connection
1707 * @param cookie The cookie
1708 * @param e The xcb_generic_error_t supplied
1709 *
1710 * Returns the reply of the request asked by
1711 *
1712 * The parameter @p e supplied to this function must be NULL if
1713 * xcb_xfixes_get_cursor_name_unchecked(). is used.
1714 * Otherwise, it stores the error if any.
1715 *
1716 * The returned value must be freed by the caller using free().
1717 */
1718xcb_xfixes_get_cursor_name_reply_t *
1719xcb_xfixes_get_cursor_name_reply (xcb_connection_t *c,
1720 xcb_xfixes_get_cursor_name_cookie_t cookie /**< */,
1721 xcb_generic_error_t **e);
1722
1723int
1724xcb_xfixes_get_cursor_image_and_name_sizeof (const void *_buffer);
1725
1726/**
1727 *
1728 * @param c The connection
1729 * @return A cookie
1730 *
1731 * Delivers a request to the X server.
1732 *
1733 */
1734xcb_xfixes_get_cursor_image_and_name_cookie_t
1735xcb_xfixes_get_cursor_image_and_name (xcb_connection_t *c);
1736
1737/**
1738 *
1739 * @param c The connection
1740 * @return A cookie
1741 *
1742 * Delivers a request to the X server.
1743 *
1744 * This form can be used only if the request will cause
1745 * a reply to be generated. Any returned error will be
1746 * placed in the event queue.
1747 */
1748xcb_xfixes_get_cursor_image_and_name_cookie_t
1749xcb_xfixes_get_cursor_image_and_name_unchecked (xcb_connection_t *c);
1750
1751uint32_t *
1752xcb_xfixes_get_cursor_image_and_name_cursor_image (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1753
1754int
1755xcb_xfixes_get_cursor_image_and_name_cursor_image_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1756
1757xcb_generic_iterator_t
1758xcb_xfixes_get_cursor_image_and_name_cursor_image_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1759
1760char *
1761xcb_xfixes_get_cursor_image_and_name_name (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1762
1763int
1764xcb_xfixes_get_cursor_image_and_name_name_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1765
1766xcb_generic_iterator_t
1767xcb_xfixes_get_cursor_image_and_name_name_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R);
1768
1769/**
1770 * Return the reply
1771 * @param c The connection
1772 * @param cookie The cookie
1773 * @param e The xcb_generic_error_t supplied
1774 *
1775 * Returns the reply of the request asked by
1776 *
1777 * The parameter @p e supplied to this function must be NULL if
1778 * xcb_xfixes_get_cursor_image_and_name_unchecked(). is used.
1779 * Otherwise, it stores the error if any.
1780 *
1781 * The returned value must be freed by the caller using free().
1782 */
1783xcb_xfixes_get_cursor_image_and_name_reply_t *
1784xcb_xfixes_get_cursor_image_and_name_reply (xcb_connection_t *c,
1785 xcb_xfixes_get_cursor_image_and_name_cookie_t cookie /**< */,
1786 xcb_generic_error_t **e);
1787
1788/**
1789 *
1790 * @param c The connection
1791 * @return A cookie
1792 *
1793 * Delivers a request to the X server.
1794 *
1795 * This form can be used only if the request will not cause
1796 * a reply to be generated. Any returned error will be
1797 * saved for handling by xcb_request_check().
1798 */
1799xcb_void_cookie_t
1800xcb_xfixes_change_cursor_checked (xcb_connection_t *c,
1801 xcb_cursor_t source,
1802 xcb_cursor_t destination);
1803
1804/**
1805 *
1806 * @param c The connection
1807 * @return A cookie
1808 *
1809 * Delivers a request to the X server.
1810 *
1811 */
1812xcb_void_cookie_t
1813xcb_xfixes_change_cursor (xcb_connection_t *c,
1814 xcb_cursor_t source,
1815 xcb_cursor_t destination);
1816
1817int
1818xcb_xfixes_change_cursor_by_name_sizeof (const void *_buffer);
1819
1820/**
1821 *
1822 * @param c The connection
1823 * @return A cookie
1824 *
1825 * Delivers a request to the X server.
1826 *
1827 * This form can be used only if the request will not cause
1828 * a reply to be generated. Any returned error will be
1829 * saved for handling by xcb_request_check().
1830 */
1831xcb_void_cookie_t
1832xcb_xfixes_change_cursor_by_name_checked (xcb_connection_t *c,
1833 xcb_cursor_t src,
1834 uint16_t nbytes,
1835 const char *name);
1836
1837/**
1838 *
1839 * @param c The connection
1840 * @return A cookie
1841 *
1842 * Delivers a request to the X server.
1843 *
1844 */
1845xcb_void_cookie_t
1846xcb_xfixes_change_cursor_by_name (xcb_connection_t *c,
1847 xcb_cursor_t src,
1848 uint16_t nbytes,
1849 const char *name);
1850
1851char *
1852xcb_xfixes_change_cursor_by_name_name (const xcb_xfixes_change_cursor_by_name_request_t *R);
1853
1854int
1855xcb_xfixes_change_cursor_by_name_name_length (const xcb_xfixes_change_cursor_by_name_request_t *R);
1856
1857xcb_generic_iterator_t
1858xcb_xfixes_change_cursor_by_name_name_end (const xcb_xfixes_change_cursor_by_name_request_t *R);
1859
1860/**
1861 *
1862 * @param c The connection
1863 * @return A cookie
1864 *
1865 * Delivers a request to the X server.
1866 *
1867 * This form can be used only if the request will not cause
1868 * a reply to be generated. Any returned error will be
1869 * saved for handling by xcb_request_check().
1870 */
1871xcb_void_cookie_t
1872xcb_xfixes_expand_region_checked (xcb_connection_t *c,
1873 xcb_xfixes_region_t source,
1874 xcb_xfixes_region_t destination,
1875 uint16_t left,
1876 uint16_t right,
1877 uint16_t top,
1878 uint16_t bottom);
1879
1880/**
1881 *
1882 * @param c The connection
1883 * @return A cookie
1884 *
1885 * Delivers a request to the X server.
1886 *
1887 */
1888xcb_void_cookie_t
1889xcb_xfixes_expand_region (xcb_connection_t *c,
1890 xcb_xfixes_region_t source,
1891 xcb_xfixes_region_t destination,
1892 uint16_t left,
1893 uint16_t right,
1894 uint16_t top,
1895 uint16_t bottom);
1896
1897/**
1898 *
1899 * @param c The connection
1900 * @return A cookie
1901 *
1902 * Delivers a request to the X server.
1903 *
1904 * This form can be used only if the request will not cause
1905 * a reply to be generated. Any returned error will be
1906 * saved for handling by xcb_request_check().
1907 */
1908xcb_void_cookie_t
1909xcb_xfixes_hide_cursor_checked (xcb_connection_t *c,
1910 xcb_window_t window);
1911
1912/**
1913 *
1914 * @param c The connection
1915 * @return A cookie
1916 *
1917 * Delivers a request to the X server.
1918 *
1919 */
1920xcb_void_cookie_t
1921xcb_xfixes_hide_cursor (xcb_connection_t *c,
1922 xcb_window_t window);
1923
1924/**
1925 *
1926 * @param c The connection
1927 * @return A cookie
1928 *
1929 * Delivers a request to the X server.
1930 *
1931 * This form can be used only if the request will not cause
1932 * a reply to be generated. Any returned error will be
1933 * saved for handling by xcb_request_check().
1934 */
1935xcb_void_cookie_t
1936xcb_xfixes_show_cursor_checked (xcb_connection_t *c,
1937 xcb_window_t window);
1938
1939/**
1940 *
1941 * @param c The connection
1942 * @return A cookie
1943 *
1944 * Delivers a request to the X server.
1945 *
1946 */
1947xcb_void_cookie_t
1948xcb_xfixes_show_cursor (xcb_connection_t *c,
1949 xcb_window_t window);
1950
1951/**
1952 * Get the next element of the iterator
1953 * @param i Pointer to a xcb_xfixes_barrier_iterator_t
1954 *
1955 * Get the next element in the iterator. The member rem is
1956 * decreased by one. The member data points to the next
1957 * element. The member index is increased by sizeof(xcb_xfixes_barrier_t)
1958 */
1959void
1960xcb_xfixes_barrier_next (xcb_xfixes_barrier_iterator_t *i);
1961
1962/**
1963 * Return the iterator pointing to the last element
1964 * @param i An xcb_xfixes_barrier_iterator_t
1965 * @return The iterator pointing to the last element
1966 *
1967 * Set the current element in the iterator to the last element.
1968 * The member rem is set to 0. The member data points to the
1969 * last element.
1970 */
1971xcb_generic_iterator_t
1972xcb_xfixes_barrier_end (xcb_xfixes_barrier_iterator_t i);
1973
1974int
1975xcb_xfixes_create_pointer_barrier_sizeof (const void *_buffer);
1976
1977/**
1978 *
1979 * @param c The connection
1980 * @return A cookie
1981 *
1982 * Delivers a request to the X server.
1983 *
1984 * This form can be used only if the request will not cause
1985 * a reply to be generated. Any returned error will be
1986 * saved for handling by xcb_request_check().
1987 */
1988xcb_void_cookie_t
1989xcb_xfixes_create_pointer_barrier_checked (xcb_connection_t *c,
1990 xcb_xfixes_barrier_t barrier,
1991 xcb_window_t window,
1992 uint16_t x1,
1993 uint16_t y1,
1994 uint16_t x2,
1995 uint16_t y2,
1996 uint32_t directions,
1997 uint16_t num_devices,
1998 const uint16_t *devices);
1999
2000/**
2001 *
2002 * @param c The connection
2003 * @return A cookie
2004 *
2005 * Delivers a request to the X server.
2006 *
2007 */
2008xcb_void_cookie_t
2009xcb_xfixes_create_pointer_barrier (xcb_connection_t *c,
2010 xcb_xfixes_barrier_t barrier,
2011 xcb_window_t window,
2012 uint16_t x1,
2013 uint16_t y1,
2014 uint16_t x2,
2015 uint16_t y2,
2016 uint32_t directions,
2017 uint16_t num_devices,
2018 const uint16_t *devices);
2019
2020uint16_t *
2021xcb_xfixes_create_pointer_barrier_devices (const xcb_xfixes_create_pointer_barrier_request_t *R);
2022
2023int
2024xcb_xfixes_create_pointer_barrier_devices_length (const xcb_xfixes_create_pointer_barrier_request_t *R);
2025
2026xcb_generic_iterator_t
2027xcb_xfixes_create_pointer_barrier_devices_end (const xcb_xfixes_create_pointer_barrier_request_t *R);
2028
2029/**
2030 *
2031 * @param c The connection
2032 * @return A cookie
2033 *
2034 * Delivers a request to the X server.
2035 *
2036 * This form can be used only if the request will not cause
2037 * a reply to be generated. Any returned error will be
2038 * saved for handling by xcb_request_check().
2039 */
2040xcb_void_cookie_t
2041xcb_xfixes_delete_pointer_barrier_checked (xcb_connection_t *c,
2042 xcb_xfixes_barrier_t barrier);
2043
2044/**
2045 *
2046 * @param c The connection
2047 * @return A cookie
2048 *
2049 * Delivers a request to the X server.
2050 *
2051 */
2052xcb_void_cookie_t
2053xcb_xfixes_delete_pointer_barrier (xcb_connection_t *c,
2054 xcb_xfixes_barrier_t barrier);
2055
2056/**
2057 * @brief Sets the disconnect mode for the client.
2058 *
2059 * @param c The connection
2060 * @param disconnect_mode The new disconnect mode.
2061 * @return A cookie
2062 *
2063 * No description yet
2064 *
2065 * This form can be used only if the request will not cause
2066 * a reply to be generated. Any returned error will be
2067 * saved for handling by xcb_request_check().
2068 */
2069xcb_void_cookie_t
2070xcb_xfixes_set_client_disconnect_mode_checked (xcb_connection_t *c,
2071 uint32_t disconnect_mode);
2072
2073/**
2074 * @brief Sets the disconnect mode for the client.
2075 *
2076 * @param c The connection
2077 * @param disconnect_mode The new disconnect mode.
2078 * @return A cookie
2079 *
2080 * No description yet
2081 *
2082 */
2083xcb_void_cookie_t
2084xcb_xfixes_set_client_disconnect_mode (xcb_connection_t *c,
2085 uint32_t disconnect_mode);
2086
2087/**
2088 *
2089 * @param c The connection
2090 * @return A cookie
2091 *
2092 * Delivers a request to the X server.
2093 *
2094 */
2095xcb_xfixes_get_client_disconnect_mode_cookie_t
2096xcb_xfixes_get_client_disconnect_mode (xcb_connection_t *c);
2097
2098/**
2099 *
2100 * @param c The connection
2101 * @return A cookie
2102 *
2103 * Delivers a request to the X server.
2104 *
2105 * This form can be used only if the request will cause
2106 * a reply to be generated. Any returned error will be
2107 * placed in the event queue.
2108 */
2109xcb_xfixes_get_client_disconnect_mode_cookie_t
2110xcb_xfixes_get_client_disconnect_mode_unchecked (xcb_connection_t *c);
2111
2112/**
2113 * Return the reply
2114 * @param c The connection
2115 * @param cookie The cookie
2116 * @param e The xcb_generic_error_t supplied
2117 *
2118 * Returns the reply of the request asked by
2119 *
2120 * The parameter @p e supplied to this function must be NULL if
2121 * xcb_xfixes_get_client_disconnect_mode_unchecked(). is used.
2122 * Otherwise, it stores the error if any.
2123 *
2124 * The returned value must be freed by the caller using free().
2125 */
2126xcb_xfixes_get_client_disconnect_mode_reply_t *
2127xcb_xfixes_get_client_disconnect_mode_reply (xcb_connection_t *c,
2128 xcb_xfixes_get_client_disconnect_mode_cookie_t cookie /**< */,
2129 xcb_generic_error_t **e);
2130
2131
2132#ifdef __cplusplus
2133}
2134#endif
2135
2136#endif
2137
2138/**
2139 * @}
2140 */
2141

source code of include/xcb/xfixes.h