xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/shape.h (revision c2f76ff004a2cb67efe5b12d97bd3ef7fe89e18d)
1 /*
2  * This file generated automatically from shape.xml by c_client.py.
3  * Edit at your peril.
4  */
5 
6 /**
7  * @defgroup XCB_Shape_API XCB Shape API
8  * @brief Shape XCB Protocol Implementation.
9  * @{
10  **/
11 
12 #ifndef __SHAPE_H
13 #define __SHAPE_H
14 
15 #include "xcb.h"
16 #include "xproto.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #define XCB_SHAPE_MAJOR_VERSION 1
23 #define XCB_SHAPE_MINOR_VERSION 1
24 
25 extern xcb_extension_t xcb_shape_id;
26 
27 typedef uint8_t xcb_shape_op_t;
28 
29 /**
30  * @brief xcb_shape_op_iterator_t
31  **/
32 typedef struct xcb_shape_op_iterator_t {
33     xcb_shape_op_t *data; /**<  */
34     int             rem; /**<  */
35     int             index; /**<  */
36 } xcb_shape_op_iterator_t;
37 
38 typedef uint8_t xcb_shape_kind_t;
39 
40 /**
41  * @brief xcb_shape_kind_iterator_t
42  **/
43 typedef struct xcb_shape_kind_iterator_t {
44     xcb_shape_kind_t *data; /**<  */
45     int               rem; /**<  */
46     int               index; /**<  */
47 } xcb_shape_kind_iterator_t;
48 
49 typedef enum xcb_shape_so_t {
50     XCB_SHAPE_SO_SET,
51     XCB_SHAPE_SO_UNION,
52     XCB_SHAPE_SO_INTERSECT,
53     XCB_SHAPE_SO_SUBTRACT,
54     XCB_SHAPE_SO_INVERT
55 } xcb_shape_so_t;
56 
57 typedef enum xcb_shape_sk_t {
58     XCB_SHAPE_SK_BOUNDING,
59     XCB_SHAPE_SK_CLIP,
60     XCB_SHAPE_SK_INPUT
61 } xcb_shape_sk_t;
62 
63 /** Opcode for xcb_shape_notify. */
64 #define XCB_SHAPE_NOTIFY 0
65 
66 /**
67  * @brief xcb_shape_notify_event_t
68  **/
69 typedef struct xcb_shape_notify_event_t {
70     uint8_t          response_type; /**<  */
71     xcb_shape_kind_t shape_kind; /**<  */
72     uint16_t         sequence; /**<  */
73     xcb_window_t     affected_window; /**<  */
74     int16_t          extents_x; /**<  */
75     int16_t          extents_y; /**<  */
76     uint16_t         extents_width; /**<  */
77     uint16_t         extents_height; /**<  */
78     xcb_timestamp_t  server_time; /**<  */
79     uint8_t          shaped; /**<  */
80     uint8_t          pad0[11]; /**<  */
81 } xcb_shape_notify_event_t;
82 
83 /**
84  * @brief xcb_shape_query_version_cookie_t
85  **/
86 typedef struct xcb_shape_query_version_cookie_t {
87     unsigned int sequence; /**<  */
88 } xcb_shape_query_version_cookie_t;
89 
90 /** Opcode for xcb_shape_query_version. */
91 #define XCB_SHAPE_QUERY_VERSION 0
92 
93 /**
94  * @brief xcb_shape_query_version_request_t
95  **/
96 typedef struct xcb_shape_query_version_request_t {
97     uint8_t  major_opcode; /**<  */
98     uint8_t  minor_opcode; /**<  */
99     uint16_t length; /**<  */
100 } xcb_shape_query_version_request_t;
101 
102 /**
103  * @brief xcb_shape_query_version_reply_t
104  **/
105 typedef struct xcb_shape_query_version_reply_t {
106     uint8_t  response_type; /**<  */
107     uint8_t  pad0; /**<  */
108     uint16_t sequence; /**<  */
109     uint32_t length; /**<  */
110     uint16_t major_version; /**<  */
111     uint16_t minor_version; /**<  */
112 } xcb_shape_query_version_reply_t;
113 
114 /** Opcode for xcb_shape_rectangles. */
115 #define XCB_SHAPE_RECTANGLES 1
116 
117 /**
118  * @brief xcb_shape_rectangles_request_t
119  **/
120 typedef struct xcb_shape_rectangles_request_t {
121     uint8_t          major_opcode; /**<  */
122     uint8_t          minor_opcode; /**<  */
123     uint16_t         length; /**<  */
124     xcb_shape_op_t   operation; /**<  */
125     xcb_shape_kind_t destination_kind; /**<  */
126     uint8_t          ordering; /**<  */
127     uint8_t          pad0; /**<  */
128     xcb_window_t     destination_window; /**<  */
129     int16_t          x_offset; /**<  */
130     int16_t          y_offset; /**<  */
131 } xcb_shape_rectangles_request_t;
132 
133 /** Opcode for xcb_shape_mask. */
134 #define XCB_SHAPE_MASK 2
135 
136 /**
137  * @brief xcb_shape_mask_request_t
138  **/
139 typedef struct xcb_shape_mask_request_t {
140     uint8_t          major_opcode; /**<  */
141     uint8_t          minor_opcode; /**<  */
142     uint16_t         length; /**<  */
143     xcb_shape_op_t   operation; /**<  */
144     xcb_shape_kind_t destination_kind; /**<  */
145     uint8_t          pad0[2]; /**<  */
146     xcb_window_t     destination_window; /**<  */
147     int16_t          x_offset; /**<  */
148     int16_t          y_offset; /**<  */
149     xcb_pixmap_t     source_bitmap; /**<  */
150 } xcb_shape_mask_request_t;
151 
152 /** Opcode for xcb_shape_combine. */
153 #define XCB_SHAPE_COMBINE 3
154 
155 /**
156  * @brief xcb_shape_combine_request_t
157  **/
158 typedef struct xcb_shape_combine_request_t {
159     uint8_t          major_opcode; /**<  */
160     uint8_t          minor_opcode; /**<  */
161     uint16_t         length; /**<  */
162     xcb_shape_op_t   operation; /**<  */
163     xcb_shape_kind_t destination_kind; /**<  */
164     xcb_shape_kind_t source_kind; /**<  */
165     uint8_t          pad0; /**<  */
166     xcb_window_t     destination_window; /**<  */
167     int16_t          x_offset; /**<  */
168     int16_t          y_offset; /**<  */
169     xcb_window_t     source_window; /**<  */
170 } xcb_shape_combine_request_t;
171 
172 /** Opcode for xcb_shape_offset. */
173 #define XCB_SHAPE_OFFSET 4
174 
175 /**
176  * @brief xcb_shape_offset_request_t
177  **/
178 typedef struct xcb_shape_offset_request_t {
179     uint8_t          major_opcode; /**<  */
180     uint8_t          minor_opcode; /**<  */
181     uint16_t         length; /**<  */
182     xcb_shape_kind_t destination_kind; /**<  */
183     uint8_t          pad0[3]; /**<  */
184     xcb_window_t     destination_window; /**<  */
185     int16_t          x_offset; /**<  */
186     int16_t          y_offset; /**<  */
187 } xcb_shape_offset_request_t;
188 
189 /**
190  * @brief xcb_shape_query_extents_cookie_t
191  **/
192 typedef struct xcb_shape_query_extents_cookie_t {
193     unsigned int sequence; /**<  */
194 } xcb_shape_query_extents_cookie_t;
195 
196 /** Opcode for xcb_shape_query_extents. */
197 #define XCB_SHAPE_QUERY_EXTENTS 5
198 
199 /**
200  * @brief xcb_shape_query_extents_request_t
201  **/
202 typedef struct xcb_shape_query_extents_request_t {
203     uint8_t      major_opcode; /**<  */
204     uint8_t      minor_opcode; /**<  */
205     uint16_t     length; /**<  */
206     xcb_window_t destination_window; /**<  */
207 } xcb_shape_query_extents_request_t;
208 
209 /**
210  * @brief xcb_shape_query_extents_reply_t
211  **/
212 typedef struct xcb_shape_query_extents_reply_t {
213     uint8_t  response_type; /**<  */
214     uint8_t  pad0; /**<  */
215     uint16_t sequence; /**<  */
216     uint32_t length; /**<  */
217     uint8_t  bounding_shaped; /**<  */
218     uint8_t  clip_shaped; /**<  */
219     uint8_t  pad1[2]; /**<  */
220     int16_t  bounding_shape_extents_x; /**<  */
221     int16_t  bounding_shape_extents_y; /**<  */
222     uint16_t bounding_shape_extents_width; /**<  */
223     uint16_t bounding_shape_extents_height; /**<  */
224     int16_t  clip_shape_extents_x; /**<  */
225     int16_t  clip_shape_extents_y; /**<  */
226     uint16_t clip_shape_extents_width; /**<  */
227     uint16_t clip_shape_extents_height; /**<  */
228 } xcb_shape_query_extents_reply_t;
229 
230 /** Opcode for xcb_shape_select_input. */
231 #define XCB_SHAPE_SELECT_INPUT 6
232 
233 /**
234  * @brief xcb_shape_select_input_request_t
235  **/
236 typedef struct xcb_shape_select_input_request_t {
237     uint8_t      major_opcode; /**<  */
238     uint8_t      minor_opcode; /**<  */
239     uint16_t     length; /**<  */
240     xcb_window_t destination_window; /**<  */
241     uint8_t      enable; /**<  */
242     uint8_t      pad0[3]; /**<  */
243 } xcb_shape_select_input_request_t;
244 
245 /**
246  * @brief xcb_shape_input_selected_cookie_t
247  **/
248 typedef struct xcb_shape_input_selected_cookie_t {
249     unsigned int sequence; /**<  */
250 } xcb_shape_input_selected_cookie_t;
251 
252 /** Opcode for xcb_shape_input_selected. */
253 #define XCB_SHAPE_INPUT_SELECTED 7
254 
255 /**
256  * @brief xcb_shape_input_selected_request_t
257  **/
258 typedef struct xcb_shape_input_selected_request_t {
259     uint8_t      major_opcode; /**<  */
260     uint8_t      minor_opcode; /**<  */
261     uint16_t     length; /**<  */
262     xcb_window_t destination_window; /**<  */
263 } xcb_shape_input_selected_request_t;
264 
265 /**
266  * @brief xcb_shape_input_selected_reply_t
267  **/
268 typedef struct xcb_shape_input_selected_reply_t {
269     uint8_t  response_type; /**<  */
270     uint8_t  enabled; /**<  */
271     uint16_t sequence; /**<  */
272     uint32_t length; /**<  */
273 } xcb_shape_input_selected_reply_t;
274 
275 /**
276  * @brief xcb_shape_get_rectangles_cookie_t
277  **/
278 typedef struct xcb_shape_get_rectangles_cookie_t {
279     unsigned int sequence; /**<  */
280 } xcb_shape_get_rectangles_cookie_t;
281 
282 /** Opcode for xcb_shape_get_rectangles. */
283 #define XCB_SHAPE_GET_RECTANGLES 8
284 
285 /**
286  * @brief xcb_shape_get_rectangles_request_t
287  **/
288 typedef struct xcb_shape_get_rectangles_request_t {
289     uint8_t          major_opcode; /**<  */
290     uint8_t          minor_opcode; /**<  */
291     uint16_t         length; /**<  */
292     xcb_window_t     window; /**<  */
293     xcb_shape_kind_t source_kind; /**<  */
294     uint8_t          pad0[3]; /**<  */
295 } xcb_shape_get_rectangles_request_t;
296 
297 /**
298  * @brief xcb_shape_get_rectangles_reply_t
299  **/
300 typedef struct xcb_shape_get_rectangles_reply_t {
301     uint8_t  response_type; /**<  */
302     uint8_t  ordering; /**<  */
303     uint16_t sequence; /**<  */
304     uint32_t length; /**<  */
305     uint32_t rectangles_len; /**<  */
306     uint8_t  pad0[20]; /**<  */
307 } xcb_shape_get_rectangles_reply_t;
308 
309 /**
310  * Get the next element of the iterator
311  * @param i Pointer to a xcb_shape_op_iterator_t
312  *
313  * Get the next element in the iterator. The member rem is
314  * decreased by one. The member data points to the next
315  * element. The member index is increased by sizeof(xcb_shape_op_t)
316  */
317 
318 /*****************************************************************************
319  **
320  ** void xcb_shape_op_next
321  **
322  ** @param xcb_shape_op_iterator_t *i
323  ** @returns void
324  **
325  *****************************************************************************/
326 
327 void
328 xcb_shape_op_next (xcb_shape_op_iterator_t *i  /**< */);
329 
330 /**
331  * Return the iterator pointing to the last element
332  * @param i An xcb_shape_op_iterator_t
333  * @return  The iterator pointing to the last element
334  *
335  * Set the current element in the iterator to the last element.
336  * The member rem is set to 0. The member data points to the
337  * last element.
338  */
339 
340 /*****************************************************************************
341  **
342  ** xcb_generic_iterator_t xcb_shape_op_end
343  **
344  ** @param xcb_shape_op_iterator_t i
345  ** @returns xcb_generic_iterator_t
346  **
347  *****************************************************************************/
348 
349 xcb_generic_iterator_t
350 xcb_shape_op_end (xcb_shape_op_iterator_t i  /**< */);
351 
352 /**
353  * Get the next element of the iterator
354  * @param i Pointer to a xcb_shape_kind_iterator_t
355  *
356  * Get the next element in the iterator. The member rem is
357  * decreased by one. The member data points to the next
358  * element. The member index is increased by sizeof(xcb_shape_kind_t)
359  */
360 
361 /*****************************************************************************
362  **
363  ** void xcb_shape_kind_next
364  **
365  ** @param xcb_shape_kind_iterator_t *i
366  ** @returns void
367  **
368  *****************************************************************************/
369 
370 void
371 xcb_shape_kind_next (xcb_shape_kind_iterator_t *i  /**< */);
372 
373 /**
374  * Return the iterator pointing to the last element
375  * @param i An xcb_shape_kind_iterator_t
376  * @return  The iterator pointing to the last element
377  *
378  * Set the current element in the iterator to the last element.
379  * The member rem is set to 0. The member data points to the
380  * last element.
381  */
382 
383 /*****************************************************************************
384  **
385  ** xcb_generic_iterator_t xcb_shape_kind_end
386  **
387  ** @param xcb_shape_kind_iterator_t i
388  ** @returns xcb_generic_iterator_t
389  **
390  *****************************************************************************/
391 
392 xcb_generic_iterator_t
393 xcb_shape_kind_end (xcb_shape_kind_iterator_t i  /**< */);
394 
395 /**
396  * Delivers a request to the X server
397  * @param c The connection
398  * @return A cookie
399  *
400  * Delivers a request to the X server.
401  *
402  */
403 
404 /*****************************************************************************
405  **
406  ** xcb_shape_query_version_cookie_t xcb_shape_query_version
407  **
408  ** @param xcb_connection_t *c
409  ** @returns xcb_shape_query_version_cookie_t
410  **
411  *****************************************************************************/
412 
413 xcb_shape_query_version_cookie_t
414 xcb_shape_query_version (xcb_connection_t *c  /**< */);
415 
416 /**
417  * Delivers a request to the X server
418  * @param c The connection
419  * @return A cookie
420  *
421  * Delivers a request to the X server.
422  *
423  * This form can be used only if the request will cause
424  * a reply to be generated. Any returned error will be
425  * placed in the event queue.
426  */
427 
428 /*****************************************************************************
429  **
430  ** xcb_shape_query_version_cookie_t xcb_shape_query_version_unchecked
431  **
432  ** @param xcb_connection_t *c
433  ** @returns xcb_shape_query_version_cookie_t
434  **
435  *****************************************************************************/
436 
437 xcb_shape_query_version_cookie_t
438 xcb_shape_query_version_unchecked (xcb_connection_t *c  /**< */);
439 
440 /**
441  * Return the reply
442  * @param c      The connection
443  * @param cookie The cookie
444  * @param e      The xcb_generic_error_t supplied
445  *
446  * Returns the reply of the request asked by
447  *
448  * The parameter @p e supplied to this function must be NULL if
449  * xcb_shape_query_version_unchecked(). is used.
450  * Otherwise, it stores the error if any.
451  *
452  * The returned value must be freed by the caller using free().
453  */
454 
455 /*****************************************************************************
456  **
457  ** xcb_shape_query_version_reply_t * xcb_shape_query_version_reply
458  **
459  ** @param xcb_connection_t                  *c
460  ** @param xcb_shape_query_version_cookie_t   cookie
461  ** @param xcb_generic_error_t              **e
462  ** @returns xcb_shape_query_version_reply_t *
463  **
464  *****************************************************************************/
465 
466 xcb_shape_query_version_reply_t *
467 xcb_shape_query_version_reply (xcb_connection_t                  *c  /**< */,
468                                xcb_shape_query_version_cookie_t   cookie  /**< */,
469                                xcb_generic_error_t              **e  /**< */);
470 
471 /**
472  * Delivers a request to the X server
473  * @param c The connection
474  * @return A cookie
475  *
476  * Delivers a request to the X server.
477  *
478  * This form can be used only if the request will not cause
479  * a reply to be generated. Any returned error will be
480  * saved for handling by xcb_request_check().
481  */
482 
483 /*****************************************************************************
484  **
485  ** xcb_void_cookie_t xcb_shape_rectangles_checked
486  **
487  ** @param xcb_connection_t      *c
488  ** @param xcb_shape_op_t         operation
489  ** @param xcb_shape_kind_t       destination_kind
490  ** @param uint8_t                ordering
491  ** @param xcb_window_t           destination_window
492  ** @param int16_t                x_offset
493  ** @param int16_t                y_offset
494  ** @param uint32_t               rectangles_len
495  ** @param const xcb_rectangle_t *rectangles
496  ** @returns xcb_void_cookie_t
497  **
498  *****************************************************************************/
499 
500 xcb_void_cookie_t
501 xcb_shape_rectangles_checked (xcb_connection_t      *c  /**< */,
502                               xcb_shape_op_t         operation  /**< */,
503                               xcb_shape_kind_t       destination_kind  /**< */,
504                               uint8_t                ordering  /**< */,
505                               xcb_window_t           destination_window  /**< */,
506                               int16_t                x_offset  /**< */,
507                               int16_t                y_offset  /**< */,
508                               uint32_t               rectangles_len  /**< */,
509                               const xcb_rectangle_t *rectangles  /**< */);
510 
511 /**
512  * Delivers a request to the X server
513  * @param c The connection
514  * @return A cookie
515  *
516  * Delivers a request to the X server.
517  *
518  */
519 
520 /*****************************************************************************
521  **
522  ** xcb_void_cookie_t xcb_shape_rectangles
523  **
524  ** @param xcb_connection_t      *c
525  ** @param xcb_shape_op_t         operation
526  ** @param xcb_shape_kind_t       destination_kind
527  ** @param uint8_t                ordering
528  ** @param xcb_window_t           destination_window
529  ** @param int16_t                x_offset
530  ** @param int16_t                y_offset
531  ** @param uint32_t               rectangles_len
532  ** @param const xcb_rectangle_t *rectangles
533  ** @returns xcb_void_cookie_t
534  **
535  *****************************************************************************/
536 
537 xcb_void_cookie_t
538 xcb_shape_rectangles (xcb_connection_t      *c  /**< */,
539                       xcb_shape_op_t         operation  /**< */,
540                       xcb_shape_kind_t       destination_kind  /**< */,
541                       uint8_t                ordering  /**< */,
542                       xcb_window_t           destination_window  /**< */,
543                       int16_t                x_offset  /**< */,
544                       int16_t                y_offset  /**< */,
545                       uint32_t               rectangles_len  /**< */,
546                       const xcb_rectangle_t *rectangles  /**< */);
547 
548 /**
549  * Delivers a request to the X server
550  * @param c The connection
551  * @return A cookie
552  *
553  * Delivers a request to the X server.
554  *
555  * This form can be used only if the request will not cause
556  * a reply to be generated. Any returned error will be
557  * saved for handling by xcb_request_check().
558  */
559 
560 /*****************************************************************************
561  **
562  ** xcb_void_cookie_t xcb_shape_mask_checked
563  **
564  ** @param xcb_connection_t *c
565  ** @param xcb_shape_op_t    operation
566  ** @param xcb_shape_kind_t  destination_kind
567  ** @param xcb_window_t      destination_window
568  ** @param int16_t           x_offset
569  ** @param int16_t           y_offset
570  ** @param xcb_pixmap_t      source_bitmap
571  ** @returns xcb_void_cookie_t
572  **
573  *****************************************************************************/
574 
575 xcb_void_cookie_t
576 xcb_shape_mask_checked (xcb_connection_t *c  /**< */,
577                         xcb_shape_op_t    operation  /**< */,
578                         xcb_shape_kind_t  destination_kind  /**< */,
579                         xcb_window_t      destination_window  /**< */,
580                         int16_t           x_offset  /**< */,
581                         int16_t           y_offset  /**< */,
582                         xcb_pixmap_t      source_bitmap  /**< */);
583 
584 /**
585  * Delivers a request to the X server
586  * @param c The connection
587  * @return A cookie
588  *
589  * Delivers a request to the X server.
590  *
591  */
592 
593 /*****************************************************************************
594  **
595  ** xcb_void_cookie_t xcb_shape_mask
596  **
597  ** @param xcb_connection_t *c
598  ** @param xcb_shape_op_t    operation
599  ** @param xcb_shape_kind_t  destination_kind
600  ** @param xcb_window_t      destination_window
601  ** @param int16_t           x_offset
602  ** @param int16_t           y_offset
603  ** @param xcb_pixmap_t      source_bitmap
604  ** @returns xcb_void_cookie_t
605  **
606  *****************************************************************************/
607 
608 xcb_void_cookie_t
609 xcb_shape_mask (xcb_connection_t *c  /**< */,
610                 xcb_shape_op_t    operation  /**< */,
611                 xcb_shape_kind_t  destination_kind  /**< */,
612                 xcb_window_t      destination_window  /**< */,
613                 int16_t           x_offset  /**< */,
614                 int16_t           y_offset  /**< */,
615                 xcb_pixmap_t      source_bitmap  /**< */);
616 
617 /**
618  * Delivers a request to the X server
619  * @param c The connection
620  * @return A cookie
621  *
622  * Delivers a request to the X server.
623  *
624  * This form can be used only if the request will not cause
625  * a reply to be generated. Any returned error will be
626  * saved for handling by xcb_request_check().
627  */
628 
629 /*****************************************************************************
630  **
631  ** xcb_void_cookie_t xcb_shape_combine_checked
632  **
633  ** @param xcb_connection_t *c
634  ** @param xcb_shape_op_t    operation
635  ** @param xcb_shape_kind_t  destination_kind
636  ** @param xcb_shape_kind_t  source_kind
637  ** @param xcb_window_t      destination_window
638  ** @param int16_t           x_offset
639  ** @param int16_t           y_offset
640  ** @param xcb_window_t      source_window
641  ** @returns xcb_void_cookie_t
642  **
643  *****************************************************************************/
644 
645 xcb_void_cookie_t
646 xcb_shape_combine_checked (xcb_connection_t *c  /**< */,
647                            xcb_shape_op_t    operation  /**< */,
648                            xcb_shape_kind_t  destination_kind  /**< */,
649                            xcb_shape_kind_t  source_kind  /**< */,
650                            xcb_window_t      destination_window  /**< */,
651                            int16_t           x_offset  /**< */,
652                            int16_t           y_offset  /**< */,
653                            xcb_window_t      source_window  /**< */);
654 
655 /**
656  * Delivers a request to the X server
657  * @param c The connection
658  * @return A cookie
659  *
660  * Delivers a request to the X server.
661  *
662  */
663 
664 /*****************************************************************************
665  **
666  ** xcb_void_cookie_t xcb_shape_combine
667  **
668  ** @param xcb_connection_t *c
669  ** @param xcb_shape_op_t    operation
670  ** @param xcb_shape_kind_t  destination_kind
671  ** @param xcb_shape_kind_t  source_kind
672  ** @param xcb_window_t      destination_window
673  ** @param int16_t           x_offset
674  ** @param int16_t           y_offset
675  ** @param xcb_window_t      source_window
676  ** @returns xcb_void_cookie_t
677  **
678  *****************************************************************************/
679 
680 xcb_void_cookie_t
681 xcb_shape_combine (xcb_connection_t *c  /**< */,
682                    xcb_shape_op_t    operation  /**< */,
683                    xcb_shape_kind_t  destination_kind  /**< */,
684                    xcb_shape_kind_t  source_kind  /**< */,
685                    xcb_window_t      destination_window  /**< */,
686                    int16_t           x_offset  /**< */,
687                    int16_t           y_offset  /**< */,
688                    xcb_window_t      source_window  /**< */);
689 
690 /**
691  * Delivers a request to the X server
692  * @param c The connection
693  * @return A cookie
694  *
695  * Delivers a request to the X server.
696  *
697  * This form can be used only if the request will not cause
698  * a reply to be generated. Any returned error will be
699  * saved for handling by xcb_request_check().
700  */
701 
702 /*****************************************************************************
703  **
704  ** xcb_void_cookie_t xcb_shape_offset_checked
705  **
706  ** @param xcb_connection_t *c
707  ** @param xcb_shape_kind_t  destination_kind
708  ** @param xcb_window_t      destination_window
709  ** @param int16_t           x_offset
710  ** @param int16_t           y_offset
711  ** @returns xcb_void_cookie_t
712  **
713  *****************************************************************************/
714 
715 xcb_void_cookie_t
716 xcb_shape_offset_checked (xcb_connection_t *c  /**< */,
717                           xcb_shape_kind_t  destination_kind  /**< */,
718                           xcb_window_t      destination_window  /**< */,
719                           int16_t           x_offset  /**< */,
720                           int16_t           y_offset  /**< */);
721 
722 /**
723  * Delivers a request to the X server
724  * @param c The connection
725  * @return A cookie
726  *
727  * Delivers a request to the X server.
728  *
729  */
730 
731 /*****************************************************************************
732  **
733  ** xcb_void_cookie_t xcb_shape_offset
734  **
735  ** @param xcb_connection_t *c
736  ** @param xcb_shape_kind_t  destination_kind
737  ** @param xcb_window_t      destination_window
738  ** @param int16_t           x_offset
739  ** @param int16_t           y_offset
740  ** @returns xcb_void_cookie_t
741  **
742  *****************************************************************************/
743 
744 xcb_void_cookie_t
745 xcb_shape_offset (xcb_connection_t *c  /**< */,
746                   xcb_shape_kind_t  destination_kind  /**< */,
747                   xcb_window_t      destination_window  /**< */,
748                   int16_t           x_offset  /**< */,
749                   int16_t           y_offset  /**< */);
750 
751 /**
752  * Delivers a request to the X server
753  * @param c The connection
754  * @return A cookie
755  *
756  * Delivers a request to the X server.
757  *
758  */
759 
760 /*****************************************************************************
761  **
762  ** xcb_shape_query_extents_cookie_t xcb_shape_query_extents
763  **
764  ** @param xcb_connection_t *c
765  ** @param xcb_window_t      destination_window
766  ** @returns xcb_shape_query_extents_cookie_t
767  **
768  *****************************************************************************/
769 
770 xcb_shape_query_extents_cookie_t
771 xcb_shape_query_extents (xcb_connection_t *c  /**< */,
772                          xcb_window_t      destination_window  /**< */);
773 
774 /**
775  * Delivers a request to the X server
776  * @param c The connection
777  * @return A cookie
778  *
779  * Delivers a request to the X server.
780  *
781  * This form can be used only if the request will cause
782  * a reply to be generated. Any returned error will be
783  * placed in the event queue.
784  */
785 
786 /*****************************************************************************
787  **
788  ** xcb_shape_query_extents_cookie_t xcb_shape_query_extents_unchecked
789  **
790  ** @param xcb_connection_t *c
791  ** @param xcb_window_t      destination_window
792  ** @returns xcb_shape_query_extents_cookie_t
793  **
794  *****************************************************************************/
795 
796 xcb_shape_query_extents_cookie_t
797 xcb_shape_query_extents_unchecked (xcb_connection_t *c  /**< */,
798                                    xcb_window_t      destination_window  /**< */);
799 
800 /**
801  * Return the reply
802  * @param c      The connection
803  * @param cookie The cookie
804  * @param e      The xcb_generic_error_t supplied
805  *
806  * Returns the reply of the request asked by
807  *
808  * The parameter @p e supplied to this function must be NULL if
809  * xcb_shape_query_extents_unchecked(). is used.
810  * Otherwise, it stores the error if any.
811  *
812  * The returned value must be freed by the caller using free().
813  */
814 
815 /*****************************************************************************
816  **
817  ** xcb_shape_query_extents_reply_t * xcb_shape_query_extents_reply
818  **
819  ** @param xcb_connection_t                  *c
820  ** @param xcb_shape_query_extents_cookie_t   cookie
821  ** @param xcb_generic_error_t              **e
822  ** @returns xcb_shape_query_extents_reply_t *
823  **
824  *****************************************************************************/
825 
826 xcb_shape_query_extents_reply_t *
827 xcb_shape_query_extents_reply (xcb_connection_t                  *c  /**< */,
828                                xcb_shape_query_extents_cookie_t   cookie  /**< */,
829                                xcb_generic_error_t              **e  /**< */);
830 
831 /**
832  * Delivers a request to the X server
833  * @param c The connection
834  * @return A cookie
835  *
836  * Delivers a request to the X server.
837  *
838  * This form can be used only if the request will not cause
839  * a reply to be generated. Any returned error will be
840  * saved for handling by xcb_request_check().
841  */
842 
843 /*****************************************************************************
844  **
845  ** xcb_void_cookie_t xcb_shape_select_input_checked
846  **
847  ** @param xcb_connection_t *c
848  ** @param xcb_window_t      destination_window
849  ** @param uint8_t           enable
850  ** @returns xcb_void_cookie_t
851  **
852  *****************************************************************************/
853 
854 xcb_void_cookie_t
855 xcb_shape_select_input_checked (xcb_connection_t *c  /**< */,
856                                 xcb_window_t      destination_window  /**< */,
857                                 uint8_t           enable  /**< */);
858 
859 /**
860  * Delivers a request to the X server
861  * @param c The connection
862  * @return A cookie
863  *
864  * Delivers a request to the X server.
865  *
866  */
867 
868 /*****************************************************************************
869  **
870  ** xcb_void_cookie_t xcb_shape_select_input
871  **
872  ** @param xcb_connection_t *c
873  ** @param xcb_window_t      destination_window
874  ** @param uint8_t           enable
875  ** @returns xcb_void_cookie_t
876  **
877  *****************************************************************************/
878 
879 xcb_void_cookie_t
880 xcb_shape_select_input (xcb_connection_t *c  /**< */,
881                         xcb_window_t      destination_window  /**< */,
882                         uint8_t           enable  /**< */);
883 
884 /**
885  * Delivers a request to the X server
886  * @param c The connection
887  * @return A cookie
888  *
889  * Delivers a request to the X server.
890  *
891  */
892 
893 /*****************************************************************************
894  **
895  ** xcb_shape_input_selected_cookie_t xcb_shape_input_selected
896  **
897  ** @param xcb_connection_t *c
898  ** @param xcb_window_t      destination_window
899  ** @returns xcb_shape_input_selected_cookie_t
900  **
901  *****************************************************************************/
902 
903 xcb_shape_input_selected_cookie_t
904 xcb_shape_input_selected (xcb_connection_t *c  /**< */,
905                           xcb_window_t      destination_window  /**< */);
906 
907 /**
908  * Delivers a request to the X server
909  * @param c The connection
910  * @return A cookie
911  *
912  * Delivers a request to the X server.
913  *
914  * This form can be used only if the request will cause
915  * a reply to be generated. Any returned error will be
916  * placed in the event queue.
917  */
918 
919 /*****************************************************************************
920  **
921  ** xcb_shape_input_selected_cookie_t xcb_shape_input_selected_unchecked
922  **
923  ** @param xcb_connection_t *c
924  ** @param xcb_window_t      destination_window
925  ** @returns xcb_shape_input_selected_cookie_t
926  **
927  *****************************************************************************/
928 
929 xcb_shape_input_selected_cookie_t
930 xcb_shape_input_selected_unchecked (xcb_connection_t *c  /**< */,
931                                     xcb_window_t      destination_window  /**< */);
932 
933 /**
934  * Return the reply
935  * @param c      The connection
936  * @param cookie The cookie
937  * @param e      The xcb_generic_error_t supplied
938  *
939  * Returns the reply of the request asked by
940  *
941  * The parameter @p e supplied to this function must be NULL if
942  * xcb_shape_input_selected_unchecked(). is used.
943  * Otherwise, it stores the error if any.
944  *
945  * The returned value must be freed by the caller using free().
946  */
947 
948 /*****************************************************************************
949  **
950  ** xcb_shape_input_selected_reply_t * xcb_shape_input_selected_reply
951  **
952  ** @param xcb_connection_t                   *c
953  ** @param xcb_shape_input_selected_cookie_t   cookie
954  ** @param xcb_generic_error_t               **e
955  ** @returns xcb_shape_input_selected_reply_t *
956  **
957  *****************************************************************************/
958 
959 xcb_shape_input_selected_reply_t *
960 xcb_shape_input_selected_reply (xcb_connection_t                   *c  /**< */,
961                                 xcb_shape_input_selected_cookie_t   cookie  /**< */,
962                                 xcb_generic_error_t               **e  /**< */);
963 
964 /**
965  * Delivers a request to the X server
966  * @param c The connection
967  * @return A cookie
968  *
969  * Delivers a request to the X server.
970  *
971  */
972 
973 /*****************************************************************************
974  **
975  ** xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles
976  **
977  ** @param xcb_connection_t *c
978  ** @param xcb_window_t      window
979  ** @param xcb_shape_kind_t  source_kind
980  ** @returns xcb_shape_get_rectangles_cookie_t
981  **
982  *****************************************************************************/
983 
984 xcb_shape_get_rectangles_cookie_t
985 xcb_shape_get_rectangles (xcb_connection_t *c  /**< */,
986                           xcb_window_t      window  /**< */,
987                           xcb_shape_kind_t  source_kind  /**< */);
988 
989 /**
990  * Delivers a request to the X server
991  * @param c The connection
992  * @return A cookie
993  *
994  * Delivers a request to the X server.
995  *
996  * This form can be used only if the request will cause
997  * a reply to be generated. Any returned error will be
998  * placed in the event queue.
999  */
1000 
1001 /*****************************************************************************
1002  **
1003  ** xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles_unchecked
1004  **
1005  ** @param xcb_connection_t *c
1006  ** @param xcb_window_t      window
1007  ** @param xcb_shape_kind_t  source_kind
1008  ** @returns xcb_shape_get_rectangles_cookie_t
1009  **
1010  *****************************************************************************/
1011 
1012 xcb_shape_get_rectangles_cookie_t
1013 xcb_shape_get_rectangles_unchecked (xcb_connection_t *c  /**< */,
1014                                     xcb_window_t      window  /**< */,
1015                                     xcb_shape_kind_t  source_kind  /**< */);
1016 
1017 
1018 /*****************************************************************************
1019  **
1020  ** xcb_rectangle_t * xcb_shape_get_rectangles_rectangles
1021  **
1022  ** @param const xcb_shape_get_rectangles_reply_t *R
1023  ** @returns xcb_rectangle_t *
1024  **
1025  *****************************************************************************/
1026 
1027 xcb_rectangle_t *
1028 xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R  /**< */);
1029 
1030 
1031 /*****************************************************************************
1032  **
1033  ** int xcb_shape_get_rectangles_rectangles_length
1034  **
1035  ** @param const xcb_shape_get_rectangles_reply_t *R
1036  ** @returns int
1037  **
1038  *****************************************************************************/
1039 
1040 int
1041 xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R  /**< */);
1042 
1043 
1044 /*****************************************************************************
1045  **
1046  ** xcb_rectangle_iterator_t xcb_shape_get_rectangles_rectangles_iterator
1047  **
1048  ** @param const xcb_shape_get_rectangles_reply_t *R
1049  ** @returns xcb_rectangle_iterator_t
1050  **
1051  *****************************************************************************/
1052 
1053 xcb_rectangle_iterator_t
1054 xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R  /**< */);
1055 
1056 /**
1057  * Return the reply
1058  * @param c      The connection
1059  * @param cookie The cookie
1060  * @param e      The xcb_generic_error_t supplied
1061  *
1062  * Returns the reply of the request asked by
1063  *
1064  * The parameter @p e supplied to this function must be NULL if
1065  * xcb_shape_get_rectangles_unchecked(). is used.
1066  * Otherwise, it stores the error if any.
1067  *
1068  * The returned value must be freed by the caller using free().
1069  */
1070 
1071 /*****************************************************************************
1072  **
1073  ** xcb_shape_get_rectangles_reply_t * xcb_shape_get_rectangles_reply
1074  **
1075  ** @param xcb_connection_t                   *c
1076  ** @param xcb_shape_get_rectangles_cookie_t   cookie
1077  ** @param xcb_generic_error_t               **e
1078  ** @returns xcb_shape_get_rectangles_reply_t *
1079  **
1080  *****************************************************************************/
1081 
1082 xcb_shape_get_rectangles_reply_t *
1083 xcb_shape_get_rectangles_reply (xcb_connection_t                   *c  /**< */,
1084                                 xcb_shape_get_rectangles_cookie_t   cookie  /**< */,
1085                                 xcb_generic_error_t               **e  /**< */);
1086 
1087 
1088 #ifdef __cplusplus
1089 }
1090 #endif
1091 
1092 #endif
1093 
1094 /**
1095  * @}
1096  */
1097