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 "xfixes.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23#define XCB_COMPOSITE_MAJOR_VERSION 0
24#define XCB_COMPOSITE_MINOR_VERSION 4
25
26extern xcb_extension_t xcb_composite_id;
27
28typedef enum xcb_composite_redirect_t {
29 XCB_COMPOSITE_REDIRECT_AUTOMATIC = 0,
30 XCB_COMPOSITE_REDIRECT_MANUAL = 1
31} xcb_composite_redirect_t;
32
33/**
34 * @brief xcb_composite_query_version_cookie_t
35 **/
36typedef struct xcb_composite_query_version_cookie_t {
37 unsigned int sequence;
38} xcb_composite_query_version_cookie_t;
39
40/** Opcode for xcb_composite_query_version. */
41#define XCB_COMPOSITE_QUERY_VERSION 0
42
43/**
44 * @brief xcb_composite_query_version_request_t
45 **/
46typedef struct xcb_composite_query_version_request_t {
47 uint8_t major_opcode;
48 uint8_t minor_opcode;
49 uint16_t length;
50 uint32_t client_major_version;
51 uint32_t client_minor_version;
52} xcb_composite_query_version_request_t;
53
54/**
55 * @brief xcb_composite_query_version_reply_t
56 **/
57typedef struct xcb_composite_query_version_reply_t {
58 uint8_t response_type;
59 uint8_t pad0;
60 uint16_t sequence;
61 uint32_t length;
62 uint32_t major_version;
63 uint32_t minor_version;
64 uint8_t pad1[16];
65} xcb_composite_query_version_reply_t;
66
67/** Opcode for xcb_composite_redirect_window. */
68#define XCB_COMPOSITE_REDIRECT_WINDOW 1
69
70/**
71 * @brief xcb_composite_redirect_window_request_t
72 **/
73typedef struct xcb_composite_redirect_window_request_t {
74 uint8_t major_opcode;
75 uint8_t minor_opcode;
76 uint16_t length;
77 xcb_window_t window;
78 uint8_t update;
79 uint8_t pad0[3];
80} xcb_composite_redirect_window_request_t;
81
82/** Opcode for xcb_composite_redirect_subwindows. */
83#define XCB_COMPOSITE_REDIRECT_SUBWINDOWS 2
84
85/**
86 * @brief xcb_composite_redirect_subwindows_request_t
87 **/
88typedef struct xcb_composite_redirect_subwindows_request_t {
89 uint8_t major_opcode;
90 uint8_t minor_opcode;
91 uint16_t length;
92 xcb_window_t window;
93 uint8_t update;
94 uint8_t pad0[3];
95} xcb_composite_redirect_subwindows_request_t;
96
97/** Opcode for xcb_composite_unredirect_window. */
98#define XCB_COMPOSITE_UNREDIRECT_WINDOW 3
99
100/**
101 * @brief xcb_composite_unredirect_window_request_t
102 **/
103typedef struct xcb_composite_unredirect_window_request_t {
104 uint8_t major_opcode;
105 uint8_t minor_opcode;
106 uint16_t length;
107 xcb_window_t window;
108 uint8_t update;
109 uint8_t pad0[3];
110} xcb_composite_unredirect_window_request_t;
111
112/** Opcode for xcb_composite_unredirect_subwindows. */
113#define XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS 4
114
115/**
116 * @brief xcb_composite_unredirect_subwindows_request_t
117 **/
118typedef struct xcb_composite_unredirect_subwindows_request_t {
119 uint8_t major_opcode;
120 uint8_t minor_opcode;
121 uint16_t length;
122 xcb_window_t window;
123 uint8_t update;
124 uint8_t pad0[3];
125} xcb_composite_unredirect_subwindows_request_t;
126
127/** Opcode for xcb_composite_create_region_from_border_clip. */
128#define XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP 5
129
130/**
131 * @brief xcb_composite_create_region_from_border_clip_request_t
132 **/
133typedef struct xcb_composite_create_region_from_border_clip_request_t {
134 uint8_t major_opcode;
135 uint8_t minor_opcode;
136 uint16_t length;
137 xcb_xfixes_region_t region;
138 xcb_window_t window;
139} xcb_composite_create_region_from_border_clip_request_t;
140
141/** Opcode for xcb_composite_name_window_pixmap. */
142#define XCB_COMPOSITE_NAME_WINDOW_PIXMAP 6
143
144/**
145 * @brief xcb_composite_name_window_pixmap_request_t
146 **/
147typedef struct xcb_composite_name_window_pixmap_request_t {
148 uint8_t major_opcode;
149 uint8_t minor_opcode;
150 uint16_t length;
151 xcb_window_t window;
152 xcb_pixmap_t pixmap;
153} xcb_composite_name_window_pixmap_request_t;
154
155/**
156 * @brief xcb_composite_get_overlay_window_cookie_t
157 **/
158typedef struct xcb_composite_get_overlay_window_cookie_t {
159 unsigned int sequence;
160} xcb_composite_get_overlay_window_cookie_t;
161
162/** Opcode for xcb_composite_get_overlay_window. */
163#define XCB_COMPOSITE_GET_OVERLAY_WINDOW 7
164
165/**
166 * @brief xcb_composite_get_overlay_window_request_t
167 **/
168typedef struct xcb_composite_get_overlay_window_request_t {
169 uint8_t major_opcode;
170 uint8_t minor_opcode;
171 uint16_t length;
172 xcb_window_t window;
173} xcb_composite_get_overlay_window_request_t;
174
175/**
176 * @brief xcb_composite_get_overlay_window_reply_t
177 **/
178typedef struct xcb_composite_get_overlay_window_reply_t {
179 uint8_t response_type;
180 uint8_t pad0;
181 uint16_t sequence;
182 uint32_t length;
183 xcb_window_t overlay_win;
184 uint8_t pad1[20];
185} xcb_composite_get_overlay_window_reply_t;
186
187/** Opcode for xcb_composite_release_overlay_window. */
188#define XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW 8
189
190/**
191 * @brief xcb_composite_release_overlay_window_request_t
192 **/
193typedef struct xcb_composite_release_overlay_window_request_t {
194 uint8_t major_opcode;
195 uint8_t minor_opcode;
196 uint16_t length;
197 xcb_window_t window;
198} xcb_composite_release_overlay_window_request_t;
199
200/**
201 *
202 * @param c The connection
203 * @return A cookie
204 *
205 * Delivers a request to the X server.
206 *
207 */
208xcb_composite_query_version_cookie_t
209xcb_composite_query_version (xcb_connection_t *c,
210 uint32_t client_major_version,
211 uint32_t client_minor_version);
212
213/**
214 *
215 * @param c The connection
216 * @return A cookie
217 *
218 * Delivers a request to the X server.
219 *
220 * This form can be used only if the request will cause
221 * a reply to be generated. Any returned error will be
222 * placed in the event queue.
223 */
224xcb_composite_query_version_cookie_t
225xcb_composite_query_version_unchecked (xcb_connection_t *c,
226 uint32_t client_major_version,
227 uint32_t client_minor_version);
228
229/**
230 * Return the reply
231 * @param c The connection
232 * @param cookie The cookie
233 * @param e The xcb_generic_error_t supplied
234 *
235 * Returns the reply of the request asked by
236 *
237 * The parameter @p e supplied to this function must be NULL if
238 * xcb_composite_query_version_unchecked(). is used.
239 * Otherwise, it stores the error if any.
240 *
241 * The returned value must be freed by the caller using free().
242 */
243xcb_composite_query_version_reply_t *
244xcb_composite_query_version_reply (xcb_connection_t *c,
245 xcb_composite_query_version_cookie_t cookie /**< */,
246 xcb_generic_error_t **e);
247
248/**
249 *
250 * @param c The connection
251 * @return A cookie
252 *
253 * Delivers a request to the X server.
254 *
255 * This form can be used only if the request will not cause
256 * a reply to be generated. Any returned error will be
257 * saved for handling by xcb_request_check().
258 */
259xcb_void_cookie_t
260xcb_composite_redirect_window_checked (xcb_connection_t *c,
261 xcb_window_t window,
262 uint8_t update);
263
264/**
265 *
266 * @param c The connection
267 * @return A cookie
268 *
269 * Delivers a request to the X server.
270 *
271 */
272xcb_void_cookie_t
273xcb_composite_redirect_window (xcb_connection_t *c,
274 xcb_window_t window,
275 uint8_t update);
276
277/**
278 *
279 * @param c The connection
280 * @return A cookie
281 *
282 * Delivers a request to the X server.
283 *
284 * This form can be used only if the request will not cause
285 * a reply to be generated. Any returned error will be
286 * saved for handling by xcb_request_check().
287 */
288xcb_void_cookie_t
289xcb_composite_redirect_subwindows_checked (xcb_connection_t *c,
290 xcb_window_t window,
291 uint8_t update);
292
293/**
294 *
295 * @param c The connection
296 * @return A cookie
297 *
298 * Delivers a request to the X server.
299 *
300 */
301xcb_void_cookie_t
302xcb_composite_redirect_subwindows (xcb_connection_t *c,
303 xcb_window_t window,
304 uint8_t update);
305
306/**
307 *
308 * @param c The connection
309 * @return A cookie
310 *
311 * Delivers a request to the X server.
312 *
313 * This form can be used only if the request will not cause
314 * a reply to be generated. Any returned error will be
315 * saved for handling by xcb_request_check().
316 */
317xcb_void_cookie_t
318xcb_composite_unredirect_window_checked (xcb_connection_t *c,
319 xcb_window_t window,
320 uint8_t update);
321
322/**
323 *
324 * @param c The connection
325 * @return A cookie
326 *
327 * Delivers a request to the X server.
328 *
329 */
330xcb_void_cookie_t
331xcb_composite_unredirect_window (xcb_connection_t *c,
332 xcb_window_t window,
333 uint8_t update);
334
335/**
336 *
337 * @param c The connection
338 * @return A cookie
339 *
340 * Delivers a request to the X server.
341 *
342 * This form can be used only if the request will not cause
343 * a reply to be generated. Any returned error will be
344 * saved for handling by xcb_request_check().
345 */
346xcb_void_cookie_t
347xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c,
348 xcb_window_t window,
349 uint8_t update);
350
351/**
352 *
353 * @param c The connection
354 * @return A cookie
355 *
356 * Delivers a request to the X server.
357 *
358 */
359xcb_void_cookie_t
360xcb_composite_unredirect_subwindows (xcb_connection_t *c,
361 xcb_window_t window,
362 uint8_t update);
363
364/**
365 *
366 * @param c The connection
367 * @return A cookie
368 *
369 * Delivers a request to the X server.
370 *
371 * This form can be used only if the request will not cause
372 * a reply to be generated. Any returned error will be
373 * saved for handling by xcb_request_check().
374 */
375xcb_void_cookie_t
376xcb_composite_create_region_from_border_clip_checked (xcb_connection_t *c,
377 xcb_xfixes_region_t region,
378 xcb_window_t window);
379
380/**
381 *
382 * @param c The connection
383 * @return A cookie
384 *
385 * Delivers a request to the X server.
386 *
387 */
388xcb_void_cookie_t
389xcb_composite_create_region_from_border_clip (xcb_connection_t *c,
390 xcb_xfixes_region_t region,
391 xcb_window_t window);
392
393/**
394 *
395 * @param c The connection
396 * @return A cookie
397 *
398 * Delivers a request to the X server.
399 *
400 * This form can be used only if the request will not cause
401 * a reply to be generated. Any returned error will be
402 * saved for handling by xcb_request_check().
403 */
404xcb_void_cookie_t
405xcb_composite_name_window_pixmap_checked (xcb_connection_t *c,
406 xcb_window_t window,
407 xcb_pixmap_t pixmap);
408
409/**
410 *
411 * @param c The connection
412 * @return A cookie
413 *
414 * Delivers a request to the X server.
415 *
416 */
417xcb_void_cookie_t
418xcb_composite_name_window_pixmap (xcb_connection_t *c,
419 xcb_window_t window,
420 xcb_pixmap_t pixmap);
421
422/**
423 *
424 * @param c The connection
425 * @return A cookie
426 *
427 * Delivers a request to the X server.
428 *
429 */
430xcb_composite_get_overlay_window_cookie_t
431xcb_composite_get_overlay_window (xcb_connection_t *c,
432 xcb_window_t window);
433
434/**
435 *
436 * @param c The connection
437 * @return A cookie
438 *
439 * Delivers a request to the X server.
440 *
441 * This form can be used only if the request will cause
442 * a reply to be generated. Any returned error will be
443 * placed in the event queue.
444 */
445xcb_composite_get_overlay_window_cookie_t
446xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c,
447 xcb_window_t window);
448
449/**
450 * Return the reply
451 * @param c The connection
452 * @param cookie The cookie
453 * @param e The xcb_generic_error_t supplied
454 *
455 * Returns the reply of the request asked by
456 *
457 * The parameter @p e supplied to this function must be NULL if
458 * xcb_composite_get_overlay_window_unchecked(). is used.
459 * Otherwise, it stores the error if any.
460 *
461 * The returned value must be freed by the caller using free().
462 */
463xcb_composite_get_overlay_window_reply_t *
464xcb_composite_get_overlay_window_reply (xcb_connection_t *c,
465 xcb_composite_get_overlay_window_cookie_t cookie /**< */,
466 xcb_generic_error_t **e);
467
468/**
469 *
470 * @param c The connection
471 * @return A cookie
472 *
473 * Delivers a request to the X server.
474 *
475 * This form can be used only if the request will not cause
476 * a reply to be generated. Any returned error will be
477 * saved for handling by xcb_request_check().
478 */
479xcb_void_cookie_t
480xcb_composite_release_overlay_window_checked (xcb_connection_t *c,
481 xcb_window_t window);
482
483/**
484 *
485 * @param c The connection
486 * @return A cookie
487 *
488 * Delivers a request to the X server.
489 *
490 */
491xcb_void_cookie_t
492xcb_composite_release_overlay_window (xcb_connection_t *c,
493 xcb_window_t window);
494
495
496#ifdef __cplusplus
497}
498#endif
499
500#endif
501
502/**
503 * @}
504 */
505