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
22 extern "C" {
23 #endif
24 
25 #define XCB_COMPOSITE_MAJOR_VERSION 0
26 #define XCB_COMPOSITE_MINOR_VERSION 3
27 
28 extern xcb_extension_t xcb_composite_id;
29 
30 typedef enum xcb_composite_redirect_t {
31     XCB_COMPOSITE_REDIRECT_AUTOMATIC,
32     XCB_COMPOSITE_REDIRECT_MANUAL
33 } xcb_composite_redirect_t;
34 
35 /**
36  * @brief xcb_composite_query_version_cookie_t
37  **/
38 typedef 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  **/
48 typedef 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  **/
59 typedef 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  **/
75 typedef 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  **/
90 typedef 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  **/
105 typedef 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  **/
120 typedef 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  **/
135 typedef 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  **/
149 typedef 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  **/
160 typedef 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  **/
170 typedef 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  **/
180 typedef 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  **/
195 typedef 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  * Delivers a request to the X server
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 
222 xcb_composite_query_version_cookie_t
223 xcb_composite_query_version (xcb_connection_t *c  /**< */,
224                              uint32_t          client_major_version  /**< */,
225                              uint32_t          client_minor_version  /**< */);
226 
227 /**
228  * Delivers a request to the X server
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 
250 xcb_composite_query_version_cookie_t
251 xcb_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 
281 xcb_composite_query_version_reply_t *
282 xcb_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  * Delivers a request to the X server
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 
309 xcb_void_cookie_t
310 xcb_composite_redirect_window_checked (xcb_connection_t *c  /**< */,
311                                        xcb_window_t      window  /**< */,
312                                        uint8_t           update  /**< */);
313 
314 /**
315  * Delivers a request to the X server
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 
334 xcb_void_cookie_t
335 xcb_composite_redirect_window (xcb_connection_t *c  /**< */,
336                                xcb_window_t      window  /**< */,
337                                uint8_t           update  /**< */);
338 
339 /**
340  * Delivers a request to the X server
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 
362 xcb_void_cookie_t
363 xcb_composite_redirect_subwindows_checked (xcb_connection_t *c  /**< */,
364                                            xcb_window_t      window  /**< */,
365                                            uint8_t           update  /**< */);
366 
367 /**
368  * Delivers a request to the X server
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 
387 xcb_void_cookie_t
388 xcb_composite_redirect_subwindows (xcb_connection_t *c  /**< */,
389                                    xcb_window_t      window  /**< */,
390                                    uint8_t           update  /**< */);
391 
392 /**
393  * Delivers a request to the X server
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 
415 xcb_void_cookie_t
416 xcb_composite_unredirect_window_checked (xcb_connection_t *c  /**< */,
417                                          xcb_window_t      window  /**< */,
418                                          uint8_t           update  /**< */);
419 
420 /**
421  * Delivers a request to the X server
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 
440 xcb_void_cookie_t
441 xcb_composite_unredirect_window (xcb_connection_t *c  /**< */,
442                                  xcb_window_t      window  /**< */,
443                                  uint8_t           update  /**< */);
444 
445 /**
446  * Delivers a request to the X server
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 
468 xcb_void_cookie_t
469 xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c  /**< */,
470                                              xcb_window_t      window  /**< */,
471                                              uint8_t           update  /**< */);
472 
473 /**
474  * Delivers a request to the X server
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 
493 xcb_void_cookie_t
494 xcb_composite_unredirect_subwindows (xcb_connection_t *c  /**< */,
495                                      xcb_window_t      window  /**< */,
496                                      uint8_t           update  /**< */);
497 
498 /**
499  * Delivers a request to the X server
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 
521 xcb_void_cookie_t
522 xcb_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  * Delivers a request to the X server
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 
546 xcb_void_cookie_t
547 xcb_composite_create_region_from_border_clip (xcb_connection_t    *c  /**< */,
548                                               xcb_xfixes_region_t  region  /**< */,
549                                               xcb_window_t         window  /**< */);
550 
551 /**
552  * Delivers a request to the X server
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 
574 xcb_void_cookie_t
575 xcb_composite_name_window_pixmap_checked (xcb_connection_t *c  /**< */,
576                                           xcb_window_t      window  /**< */,
577                                           xcb_pixmap_t      pixmap  /**< */);
578 
579 /**
580  * Delivers a request to the X server
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 
599 xcb_void_cookie_t
600 xcb_composite_name_window_pixmap (xcb_connection_t *c  /**< */,
601                                   xcb_window_t      window  /**< */,
602                                   xcb_pixmap_t      pixmap  /**< */);
603 
604 /**
605  * Delivers a request to the X server
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 
623 xcb_composite_get_overlay_window_cookie_t
624 xcb_composite_get_overlay_window (xcb_connection_t *c  /**< */,
625                                   xcb_window_t      window  /**< */);
626 
627 /**
628  * Delivers a request to the X server
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 
649 xcb_composite_get_overlay_window_cookie_t
650 xcb_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 
679 xcb_composite_get_overlay_window_reply_t *
680 xcb_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  * Delivers a request to the X server
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 
706 xcb_void_cookie_t
707 xcb_composite_release_overlay_window_checked (xcb_connection_t *c  /**< */,
708                                               xcb_window_t      window  /**< */);
709 
710 /**
711  * Delivers a request to the X server
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 
729 xcb_void_cookie_t
730 xcb_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