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
19extern "C" {
20#endif
21
22#define XCB_SHAPE_MAJOR_VERSION 1
23#define XCB_SHAPE_MINOR_VERSION 1
24
25extern xcb_extension_t xcb_shape_id;
26
27typedef uint8_t xcb_shape_op_t;
28
29/**
30 * @brief xcb_shape_op_iterator_t
31 **/
32typedef 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
38typedef uint8_t xcb_shape_kind_t;
39
40/**
41 * @brief xcb_shape_kind_iterator_t
42 **/
43typedef 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
49typedef 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
57typedef 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 **/
69typedef 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 **/
86typedef 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 **/
96typedef 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 **/
105typedef 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 **/
120typedef 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 **/
139typedef 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 **/
158typedef 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 **/
178typedef 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 **/
192typedef 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 **/
202typedef 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 **/
212typedef 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 **/
236typedef 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 **/
248typedef 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 **/
258typedef 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 **/
268typedef 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 **/
278typedef 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 **/
288typedef 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 **/
300typedef 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
327void
328xcb_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
349xcb_generic_iterator_t
350xcb_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
370void
371xcb_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
392xcb_generic_iterator_t
393xcb_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
413xcb_shape_query_version_cookie_t
414xcb_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
437xcb_shape_query_version_cookie_t
438xcb_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
466xcb_shape_query_version_reply_t *
467xcb_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
500xcb_void_cookie_t
501xcb_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
537xcb_void_cookie_t
538xcb_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
575xcb_void_cookie_t
576xcb_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
608xcb_void_cookie_t
609xcb_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
645xcb_void_cookie_t
646xcb_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
680xcb_void_cookie_t
681xcb_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
715xcb_void_cookie_t
716xcb_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
744xcb_void_cookie_t
745xcb_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
770xcb_shape_query_extents_cookie_t
771xcb_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
796xcb_shape_query_extents_cookie_t
797xcb_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
826xcb_shape_query_extents_reply_t *
827xcb_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
854xcb_void_cookie_t
855xcb_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
879xcb_void_cookie_t
880xcb_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
903xcb_shape_input_selected_cookie_t
904xcb_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
929xcb_shape_input_selected_cookie_t
930xcb_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
959xcb_shape_input_selected_reply_t *
960xcb_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
984xcb_shape_get_rectangles_cookie_t
985xcb_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
1012xcb_shape_get_rectangles_cookie_t
1013xcb_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
1027xcb_rectangle_t *
1028xcb_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
1040int
1041xcb_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
1053xcb_rectangle_iterator_t
1054xcb_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
1082xcb_shape_get_rectangles_reply_t *
1083xcb_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