1/*
2 * This file generated automatically from composite.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_Composite_API XCB Composite API
8 * @brief Composite XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __COMPOSITE_H
13#define __COMPOSITE_H
14
15#include "xcb.h"
16#include "xproto.h"
17#include "render.h"
18#include "shape.h"
19#include "xfixes.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25#define XCB_COMPOSITE_MAJOR_VERSION 0
26#define XCB_COMPOSITE_MINOR_VERSION 4
27
28extern xcb_extension_t xcb_composite_id;
29
30typedef enum xcb_composite_redirect_t {
31 XCB_COMPOSITE_REDIRECT_AUTOMATIC = 0,
32 XCB_COMPOSITE_REDIRECT_MANUAL = 1
33} xcb_composite_redirect_t;
34
35/**
36 * @brief xcb_composite_query_version_cookie_t
37 **/
38typedef struct xcb_composite_query_version_cookie_t {
39 unsigned int sequence; /**< */
40} xcb_composite_query_version_cookie_t;
41
42/** Opcode for xcb_composite_query_version. */
43#define XCB_COMPOSITE_QUERY_VERSION 0
44
45/**
46 * @brief xcb_composite_query_version_request_t
47 **/
48typedef struct xcb_composite_query_version_request_t {
49 uint8_t major_opcode; /**< */
50 uint8_t minor_opcode; /**< */
51 uint16_t length; /**< */
52 uint32_t client_major_version; /**< */
53 uint32_t client_minor_version; /**< */
54} xcb_composite_query_version_request_t;
55
56/**
57 * @brief xcb_composite_query_version_reply_t
58 **/
59typedef struct xcb_composite_query_version_reply_t {
60 uint8_t response_type; /**< */
61 uint8_t pad0; /**< */
62 uint16_t sequence; /**< */
63 uint32_t length; /**< */
64 uint32_t major_version; /**< */
65 uint32_t minor_version; /**< */
66 uint8_t pad1[16]; /**< */
67} xcb_composite_query_version_reply_t;
68
69/** Opcode for xcb_composite_redirect_window. */
70#define XCB_COMPOSITE_REDIRECT_WINDOW 1
71
72/**
73 * @brief xcb_composite_redirect_window_request_t
74 **/
75typedef struct xcb_composite_redirect_window_request_t {
76 uint8_t major_opcode; /**< */
77 uint8_t minor_opcode; /**< */
78 uint16_t length; /**< */
79 xcb_window_t window; /**< */
80 uint8_t update; /**< */
81 uint8_t pad0[3]; /**< */
82} xcb_composite_redirect_window_request_t;
83
84/** Opcode for xcb_composite_redirect_subwindows. */
85#define XCB_COMPOSITE_REDIRECT_SUBWINDOWS 2
86
87/**
88 * @brief xcb_composite_redirect_subwindows_request_t
89 **/
90typedef struct xcb_composite_redirect_subwindows_request_t {
91 uint8_t major_opcode; /**< */
92 uint8_t minor_opcode; /**< */
93 uint16_t length; /**< */
94 xcb_window_t window; /**< */
95 uint8_t update; /**< */
96 uint8_t pad0[3]; /**< */
97} xcb_composite_redirect_subwindows_request_t;
98
99/** Opcode for xcb_composite_unredirect_window. */
100#define XCB_COMPOSITE_UNREDIRECT_WINDOW 3
101
102/**
103 * @brief xcb_composite_unredirect_window_request_t
104 **/
105typedef struct xcb_composite_unredirect_window_request_t {
106 uint8_t major_opcode; /**< */
107 uint8_t minor_opcode; /**< */
108 uint16_t length; /**< */
109 xcb_window_t window; /**< */
110 uint8_t update; /**< */
111 uint8_t pad0[3]; /**< */
112} xcb_composite_unredirect_window_request_t;
113
114/** Opcode for xcb_composite_unredirect_subwindows. */
115#define XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS 4
116
117/**
118 * @brief xcb_composite_unredirect_subwindows_request_t
119 **/
120typedef struct xcb_composite_unredirect_subwindows_request_t {
121 uint8_t major_opcode; /**< */
122 uint8_t minor_opcode; /**< */
123 uint16_t length; /**< */
124 xcb_window_t window; /**< */
125 uint8_t update; /**< */
126 uint8_t pad0[3]; /**< */
127} xcb_composite_unredirect_subwindows_request_t;
128
129/** Opcode for xcb_composite_create_region_from_border_clip. */
130#define XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP 5
131
132/**
133 * @brief xcb_composite_create_region_from_border_clip_request_t
134 **/
135typedef struct xcb_composite_create_region_from_border_clip_request_t {
136 uint8_t major_opcode; /**< */
137 uint8_t minor_opcode; /**< */
138 uint16_t length; /**< */
139 xcb_xfixes_region_t region; /**< */
140 xcb_window_t window; /**< */
141} xcb_composite_create_region_from_border_clip_request_t;
142
143/** Opcode for xcb_composite_name_window_pixmap. */
144#define XCB_COMPOSITE_NAME_WINDOW_PIXMAP 6
145
146/**
147 * @brief xcb_composite_name_window_pixmap_request_t
148 **/
149typedef struct xcb_composite_name_window_pixmap_request_t {
150 uint8_t major_opcode; /**< */
151 uint8_t minor_opcode; /**< */
152 uint16_t length; /**< */
153 xcb_window_t window; /**< */
154 xcb_pixmap_t pixmap; /**< */
155} xcb_composite_name_window_pixmap_request_t;
156
157/**
158 * @brief xcb_composite_get_overlay_window_cookie_t
159 **/
160typedef struct xcb_composite_get_overlay_window_cookie_t {
161 unsigned int sequence; /**< */
162} xcb_composite_get_overlay_window_cookie_t;
163
164/** Opcode for xcb_composite_get_overlay_window. */
165#define XCB_COMPOSITE_GET_OVERLAY_WINDOW 7
166
167/**
168 * @brief xcb_composite_get_overlay_window_request_t
169 **/
170typedef struct xcb_composite_get_overlay_window_request_t {
171 uint8_t major_opcode; /**< */
172 uint8_t minor_opcode; /**< */
173 uint16_t length; /**< */
174 xcb_window_t window; /**< */
175} xcb_composite_get_overlay_window_request_t;
176
177/**
178 * @brief xcb_composite_get_overlay_window_reply_t
179 **/
180typedef struct xcb_composite_get_overlay_window_reply_t {
181 uint8_t response_type; /**< */
182 uint8_t pad0; /**< */
183 uint16_t sequence; /**< */
184 uint32_t length; /**< */
185 xcb_window_t overlay_win; /**< */
186 uint8_t pad1[20]; /**< */
187} xcb_composite_get_overlay_window_reply_t;
188
189/** Opcode for xcb_composite_release_overlay_window. */
190#define XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW 8
191
192/**
193 * @brief xcb_composite_release_overlay_window_request_t
194 **/
195typedef struct xcb_composite_release_overlay_window_request_t {
196 uint8_t major_opcode; /**< */
197 uint8_t minor_opcode; /**< */
198 uint16_t length; /**< */
199 xcb_window_t window; /**< */
200} xcb_composite_release_overlay_window_request_t;
201
202/**
203 *
204 * @param c The connection
205 * @return A cookie
206 *
207 * Delivers a request to the X server.
208 *
209 */
210
211/*****************************************************************************
212 **
213 ** xcb_composite_query_version_cookie_t xcb_composite_query_version
214 **
215 ** @param xcb_connection_t *c
216 ** @param uint32_t client_major_version
217 ** @param uint32_t client_minor_version
218 ** @returns xcb_composite_query_version_cookie_t
219 **
220 *****************************************************************************/
221
222xcb_composite_query_version_cookie_t
223xcb_composite_query_version (xcb_connection_t *c /**< */,
224 uint32_t client_major_version /**< */,
225 uint32_t client_minor_version /**< */);
226
227/**
228 *
229 * @param c The connection
230 * @return A cookie
231 *
232 * Delivers a request to the X server.
233 *
234 * This form can be used only if the request will cause
235 * a reply to be generated. Any returned error will be
236 * placed in the event queue.
237 */
238
239/*****************************************************************************
240 **
241 ** xcb_composite_query_version_cookie_t xcb_composite_query_version_unchecked
242 **
243 ** @param xcb_connection_t *c
244 ** @param uint32_t client_major_version
245 ** @param uint32_t client_minor_version
246 ** @returns xcb_composite_query_version_cookie_t
247 **
248 *****************************************************************************/
249
250xcb_composite_query_version_cookie_t
251xcb_composite_query_version_unchecked (xcb_connection_t *c /**< */,
252 uint32_t client_major_version /**< */,
253 uint32_t client_minor_version /**< */);
254
255/**
256 * Return the reply
257 * @param c The connection
258 * @param cookie The cookie
259 * @param e The xcb_generic_error_t supplied
260 *
261 * Returns the reply of the request asked by
262 *
263 * The parameter @p e supplied to this function must be NULL if
264 * xcb_composite_query_version_unchecked(). is used.
265 * Otherwise, it stores the error if any.
266 *
267 * The returned value must be freed by the caller using free().
268 */
269
270/*****************************************************************************
271 **
272 ** xcb_composite_query_version_reply_t * xcb_composite_query_version_reply
273 **
274 ** @param xcb_connection_t *c
275 ** @param xcb_composite_query_version_cookie_t cookie
276 ** @param xcb_generic_error_t **e
277 ** @returns xcb_composite_query_version_reply_t *
278 **
279 *****************************************************************************/
280
281xcb_composite_query_version_reply_t *
282xcb_composite_query_version_reply (xcb_connection_t *c /**< */,
283 xcb_composite_query_version_cookie_t cookie /**< */,
284 xcb_generic_error_t **e /**< */);
285
286/**
287 *
288 * @param c The connection
289 * @return A cookie
290 *
291 * Delivers a request to the X server.
292 *
293 * This form can be used only if the request will not cause
294 * a reply to be generated. Any returned error will be
295 * saved for handling by xcb_request_check().
296 */
297
298/*****************************************************************************
299 **
300 ** xcb_void_cookie_t xcb_composite_redirect_window_checked
301 **
302 ** @param xcb_connection_t *c
303 ** @param xcb_window_t window
304 ** @param uint8_t update
305 ** @returns xcb_void_cookie_t
306 **
307 *****************************************************************************/
308
309xcb_void_cookie_t
310xcb_composite_redirect_window_checked (xcb_connection_t *c /**< */,
311 xcb_window_t window /**< */,
312 uint8_t update /**< */);
313
314/**
315 *
316 * @param c The connection
317 * @return A cookie
318 *
319 * Delivers a request to the X server.
320 *
321 */
322
323/*****************************************************************************
324 **
325 ** xcb_void_cookie_t xcb_composite_redirect_window
326 **
327 ** @param xcb_connection_t *c
328 ** @param xcb_window_t window
329 ** @param uint8_t update
330 ** @returns xcb_void_cookie_t
331 **
332 *****************************************************************************/
333
334xcb_void_cookie_t
335xcb_composite_redirect_window (xcb_connection_t *c /**< */,
336 xcb_window_t window /**< */,
337 uint8_t update /**< */);
338
339/**
340 *
341 * @param c The connection
342 * @return A cookie
343 *
344 * Delivers a request to the X server.
345 *
346 * This form can be used only if the request will not cause
347 * a reply to be generated. Any returned error will be
348 * saved for handling by xcb_request_check().
349 */
350
351/*****************************************************************************
352 **
353 ** xcb_void_cookie_t xcb_composite_redirect_subwindows_checked
354 **
355 ** @param xcb_connection_t *c
356 ** @param xcb_window_t window
357 ** @param uint8_t update
358 ** @returns xcb_void_cookie_t
359 **
360 *****************************************************************************/
361
362xcb_void_cookie_t
363xcb_composite_redirect_subwindows_checked (xcb_connection_t *c /**< */,
364 xcb_window_t window /**< */,
365 uint8_t update /**< */);
366
367/**
368 *
369 * @param c The connection
370 * @return A cookie
371 *
372 * Delivers a request to the X server.
373 *
374 */
375
376/*****************************************************************************
377 **
378 ** xcb_void_cookie_t xcb_composite_redirect_subwindows
379 **
380 ** @param xcb_connection_t *c
381 ** @param xcb_window_t window
382 ** @param uint8_t update
383 ** @returns xcb_void_cookie_t
384 **
385 *****************************************************************************/
386
387xcb_void_cookie_t
388xcb_composite_redirect_subwindows (xcb_connection_t *c /**< */,
389 xcb_window_t window /**< */,
390 uint8_t update /**< */);
391
392/**
393 *
394 * @param c The connection
395 * @return A cookie
396 *
397 * Delivers a request to the X server.
398 *
399 * This form can be used only if the request will not cause
400 * a reply to be generated. Any returned error will be
401 * saved for handling by xcb_request_check().
402 */
403
404/*****************************************************************************
405 **
406 ** xcb_void_cookie_t xcb_composite_unredirect_window_checked
407 **
408 ** @param xcb_connection_t *c
409 ** @param xcb_window_t window
410 ** @param uint8_t update
411 ** @returns xcb_void_cookie_t
412 **
413 *****************************************************************************/
414
415xcb_void_cookie_t
416xcb_composite_unredirect_window_checked (xcb_connection_t *c /**< */,
417 xcb_window_t window /**< */,
418 uint8_t update /**< */);
419
420/**
421 *
422 * @param c The connection
423 * @return A cookie
424 *
425 * Delivers a request to the X server.
426 *
427 */
428
429/*****************************************************************************
430 **
431 ** xcb_void_cookie_t xcb_composite_unredirect_window
432 **
433 ** @param xcb_connection_t *c
434 ** @param xcb_window_t window
435 ** @param uint8_t update
436 ** @returns xcb_void_cookie_t
437 **
438 *****************************************************************************/
439
440xcb_void_cookie_t
441xcb_composite_unredirect_window (xcb_connection_t *c /**< */,
442 xcb_window_t window /**< */,
443 uint8_t update /**< */);
444
445/**
446 *
447 * @param c The connection
448 * @return A cookie
449 *
450 * Delivers a request to the X server.
451 *
452 * This form can be used only if the request will not cause
453 * a reply to be generated. Any returned error will be
454 * saved for handling by xcb_request_check().
455 */
456
457/*****************************************************************************
458 **
459 ** xcb_void_cookie_t xcb_composite_unredirect_subwindows_checked
460 **
461 ** @param xcb_connection_t *c
462 ** @param xcb_window_t window
463 ** @param uint8_t update
464 ** @returns xcb_void_cookie_t
465 **
466 *****************************************************************************/
467
468xcb_void_cookie_t
469xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c /**< */,
470 xcb_window_t window /**< */,
471 uint8_t update /**< */);
472
473/**
474 *
475 * @param c The connection
476 * @return A cookie
477 *
478 * Delivers a request to the X server.
479 *
480 */
481
482/*****************************************************************************
483 **
484 ** xcb_void_cookie_t xcb_composite_unredirect_subwindows
485 **
486 ** @param xcb_connection_t *c
487 ** @param xcb_window_t window
488 ** @param uint8_t update
489 ** @returns xcb_void_cookie_t
490 **
491 *****************************************************************************/
492
493xcb_void_cookie_t
494xcb_composite_unredirect_subwindows (xcb_connection_t *c /**< */,
495 xcb_window_t window /**< */,
496 uint8_t update /**< */);
497
498/**
499 *
500 * @param c The connection
501 * @return A cookie
502 *
503 * Delivers a request to the X server.
504 *
505 * This form can be used only if the request will not cause
506 * a reply to be generated. Any returned error will be
507 * saved for handling by xcb_request_check().
508 */
509
510/*****************************************************************************
511 **
512 ** xcb_void_cookie_t xcb_composite_create_region_from_border_clip_checked
513 **
514 ** @param xcb_connection_t *c
515 ** @param xcb_xfixes_region_t region
516 ** @param xcb_window_t window
517 ** @returns xcb_void_cookie_t
518 **
519 *****************************************************************************/
520
521xcb_void_cookie_t
522xcb_composite_create_region_from_border_clip_checked (xcb_connection_t *c /**< */,
523 xcb_xfixes_region_t region /**< */,
524 xcb_window_t window /**< */);
525
526/**
527 *
528 * @param c The connection
529 * @return A cookie
530 *
531 * Delivers a request to the X server.
532 *
533 */
534
535/*****************************************************************************
536 **
537 ** xcb_void_cookie_t xcb_composite_create_region_from_border_clip
538 **
539 ** @param xcb_connection_t *c
540 ** @param xcb_xfixes_region_t region
541 ** @param xcb_window_t window
542 ** @returns xcb_void_cookie_t
543 **
544 *****************************************************************************/
545
546xcb_void_cookie_t
547xcb_composite_create_region_from_border_clip (xcb_connection_t *c /**< */,
548 xcb_xfixes_region_t region /**< */,
549 xcb_window_t window /**< */);
550
551/**
552 *
553 * @param c The connection
554 * @return A cookie
555 *
556 * Delivers a request to the X server.
557 *
558 * This form can be used only if the request will not cause
559 * a reply to be generated. Any returned error will be
560 * saved for handling by xcb_request_check().
561 */
562
563/*****************************************************************************
564 **
565 ** xcb_void_cookie_t xcb_composite_name_window_pixmap_checked
566 **
567 ** @param xcb_connection_t *c
568 ** @param xcb_window_t window
569 ** @param xcb_pixmap_t pixmap
570 ** @returns xcb_void_cookie_t
571 **
572 *****************************************************************************/
573
574xcb_void_cookie_t
575xcb_composite_name_window_pixmap_checked (xcb_connection_t *c /**< */,
576 xcb_window_t window /**< */,
577 xcb_pixmap_t pixmap /**< */);
578
579/**
580 *
581 * @param c The connection
582 * @return A cookie
583 *
584 * Delivers a request to the X server.
585 *
586 */
587
588/*****************************************************************************
589 **
590 ** xcb_void_cookie_t xcb_composite_name_window_pixmap
591 **
592 ** @param xcb_connection_t *c
593 ** @param xcb_window_t window
594 ** @param xcb_pixmap_t pixmap
595 ** @returns xcb_void_cookie_t
596 **
597 *****************************************************************************/
598
599xcb_void_cookie_t
600xcb_composite_name_window_pixmap (xcb_connection_t *c /**< */,
601 xcb_window_t window /**< */,
602 xcb_pixmap_t pixmap /**< */);
603
604/**
605 *
606 * @param c The connection
607 * @return A cookie
608 *
609 * Delivers a request to the X server.
610 *
611 */
612
613/*****************************************************************************
614 **
615 ** xcb_composite_get_overlay_window_cookie_t xcb_composite_get_overlay_window
616 **
617 ** @param xcb_connection_t *c
618 ** @param xcb_window_t window
619 ** @returns xcb_composite_get_overlay_window_cookie_t
620 **
621 *****************************************************************************/
622
623xcb_composite_get_overlay_window_cookie_t
624xcb_composite_get_overlay_window (xcb_connection_t *c /**< */,
625 xcb_window_t window /**< */);
626
627/**
628 *
629 * @param c The connection
630 * @return A cookie
631 *
632 * Delivers a request to the X server.
633 *
634 * This form can be used only if the request will cause
635 * a reply to be generated. Any returned error will be
636 * placed in the event queue.
637 */
638
639/*****************************************************************************
640 **
641 ** xcb_composite_get_overlay_window_cookie_t xcb_composite_get_overlay_window_unchecked
642 **
643 ** @param xcb_connection_t *c
644 ** @param xcb_window_t window
645 ** @returns xcb_composite_get_overlay_window_cookie_t
646 **
647 *****************************************************************************/
648
649xcb_composite_get_overlay_window_cookie_t
650xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c /**< */,
651 xcb_window_t window /**< */);
652
653/**
654 * Return the reply
655 * @param c The connection
656 * @param cookie The cookie
657 * @param e The xcb_generic_error_t supplied
658 *
659 * Returns the reply of the request asked by
660 *
661 * The parameter @p e supplied to this function must be NULL if
662 * xcb_composite_get_overlay_window_unchecked(). is used.
663 * Otherwise, it stores the error if any.
664 *
665 * The returned value must be freed by the caller using free().
666 */
667
668/*****************************************************************************
669 **
670 ** xcb_composite_get_overlay_window_reply_t * xcb_composite_get_overlay_window_reply
671 **
672 ** @param xcb_connection_t *c
673 ** @param xcb_composite_get_overlay_window_cookie_t cookie
674 ** @param xcb_generic_error_t **e
675 ** @returns xcb_composite_get_overlay_window_reply_t *
676 **
677 *****************************************************************************/
678
679xcb_composite_get_overlay_window_reply_t *
680xcb_composite_get_overlay_window_reply (xcb_connection_t *c /**< */,
681 xcb_composite_get_overlay_window_cookie_t cookie /**< */,
682 xcb_generic_error_t **e /**< */);
683
684/**
685 *
686 * @param c The connection
687 * @return A cookie
688 *
689 * Delivers a request to the X server.
690 *
691 * This form can be used only if the request will not cause
692 * a reply to be generated. Any returned error will be
693 * saved for handling by xcb_request_check().
694 */
695
696/*****************************************************************************
697 **
698 ** xcb_void_cookie_t xcb_composite_release_overlay_window_checked
699 **
700 ** @param xcb_connection_t *c
701 ** @param xcb_window_t window
702 ** @returns xcb_void_cookie_t
703 **
704 *****************************************************************************/
705
706xcb_void_cookie_t
707xcb_composite_release_overlay_window_checked (xcb_connection_t *c /**< */,
708 xcb_window_t window /**< */);
709
710/**
711 *
712 * @param c The connection
713 * @return A cookie
714 *
715 * Delivers a request to the X server.
716 *
717 */
718
719/*****************************************************************************
720 **
721 ** xcb_void_cookie_t xcb_composite_release_overlay_window
722 **
723 ** @param xcb_connection_t *c
724 ** @param xcb_window_t window
725 ** @returns xcb_void_cookie_t
726 **
727 *****************************************************************************/
728
729xcb_void_cookie_t
730xcb_composite_release_overlay_window (xcb_connection_t *c /**< */,
731 xcb_window_t window /**< */);
732
733
734#ifdef __cplusplus
735}
736#endif
737
738#endif
739
740/**
741 * @}
742 */
743