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 = 0,
51 XCB_SHAPE_SO_UNION = 1,
52 XCB_SHAPE_SO_INTERSECT = 2,
53 XCB_SHAPE_SO_SUBTRACT = 3,
54 XCB_SHAPE_SO_INVERT = 4
55} xcb_shape_so_t;
56
57typedef enum xcb_shape_sk_t {
58 XCB_SHAPE_SK_BOUNDING = 0,
59 XCB_SHAPE_SK_CLIP = 1,
60 XCB_SHAPE_SK_INPUT = 2
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 *
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 *
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
471int
472xcb_shape_rectangles_sizeof (const void *_buffer /**< */,
473 uint32_t rectangles_len /**< */);
474
475/**
476 *
477 * @param c The connection
478 * @return A cookie
479 *
480 * Delivers a request to the X server.
481 *
482 * This form can be used only if the request will not cause
483 * a reply to be generated. Any returned error will be
484 * saved for handling by xcb_request_check().
485 */
486
487/*****************************************************************************
488 **
489 ** xcb_void_cookie_t xcb_shape_rectangles_checked
490 **
491 ** @param xcb_connection_t *c
492 ** @param xcb_shape_op_t operation
493 ** @param xcb_shape_kind_t destination_kind
494 ** @param uint8_t ordering
495 ** @param xcb_window_t destination_window
496 ** @param int16_t x_offset
497 ** @param int16_t y_offset
498 ** @param uint32_t rectangles_len
499 ** @param const xcb_rectangle_t *rectangles
500 ** @returns xcb_void_cookie_t
501 **
502 *****************************************************************************/
503
504xcb_void_cookie_t
505xcb_shape_rectangles_checked (xcb_connection_t *c /**< */,
506 xcb_shape_op_t operation /**< */,
507 xcb_shape_kind_t destination_kind /**< */,
508 uint8_t ordering /**< */,
509 xcb_window_t destination_window /**< */,
510 int16_t x_offset /**< */,
511 int16_t y_offset /**< */,
512 uint32_t rectangles_len /**< */,
513 const xcb_rectangle_t *rectangles /**< */);
514
515/**
516 *
517 * @param c The connection
518 * @return A cookie
519 *
520 * Delivers a request to the X server.
521 *
522 */
523
524/*****************************************************************************
525 **
526 ** xcb_void_cookie_t xcb_shape_rectangles
527 **
528 ** @param xcb_connection_t *c
529 ** @param xcb_shape_op_t operation
530 ** @param xcb_shape_kind_t destination_kind
531 ** @param uint8_t ordering
532 ** @param xcb_window_t destination_window
533 ** @param int16_t x_offset
534 ** @param int16_t y_offset
535 ** @param uint32_t rectangles_len
536 ** @param const xcb_rectangle_t *rectangles
537 ** @returns xcb_void_cookie_t
538 **
539 *****************************************************************************/
540
541xcb_void_cookie_t
542xcb_shape_rectangles (xcb_connection_t *c /**< */,
543 xcb_shape_op_t operation /**< */,
544 xcb_shape_kind_t destination_kind /**< */,
545 uint8_t ordering /**< */,
546 xcb_window_t destination_window /**< */,
547 int16_t x_offset /**< */,
548 int16_t y_offset /**< */,
549 uint32_t rectangles_len /**< */,
550 const xcb_rectangle_t *rectangles /**< */);
551
552/**
553 *
554 * @param c The connection
555 * @return A cookie
556 *
557 * Delivers a request to the X server.
558 *
559 * This form can be used only if the request will not cause
560 * a reply to be generated. Any returned error will be
561 * saved for handling by xcb_request_check().
562 */
563
564/*****************************************************************************
565 **
566 ** xcb_void_cookie_t xcb_shape_mask_checked
567 **
568 ** @param xcb_connection_t *c
569 ** @param xcb_shape_op_t operation
570 ** @param xcb_shape_kind_t destination_kind
571 ** @param xcb_window_t destination_window
572 ** @param int16_t x_offset
573 ** @param int16_t y_offset
574 ** @param xcb_pixmap_t source_bitmap
575 ** @returns xcb_void_cookie_t
576 **
577 *****************************************************************************/
578
579xcb_void_cookie_t
580xcb_shape_mask_checked (xcb_connection_t *c /**< */,
581 xcb_shape_op_t operation /**< */,
582 xcb_shape_kind_t destination_kind /**< */,
583 xcb_window_t destination_window /**< */,
584 int16_t x_offset /**< */,
585 int16_t y_offset /**< */,
586 xcb_pixmap_t source_bitmap /**< */);
587
588/**
589 *
590 * @param c The connection
591 * @return A cookie
592 *
593 * Delivers a request to the X server.
594 *
595 */
596
597/*****************************************************************************
598 **
599 ** xcb_void_cookie_t xcb_shape_mask
600 **
601 ** @param xcb_connection_t *c
602 ** @param xcb_shape_op_t operation
603 ** @param xcb_shape_kind_t destination_kind
604 ** @param xcb_window_t destination_window
605 ** @param int16_t x_offset
606 ** @param int16_t y_offset
607 ** @param xcb_pixmap_t source_bitmap
608 ** @returns xcb_void_cookie_t
609 **
610 *****************************************************************************/
611
612xcb_void_cookie_t
613xcb_shape_mask (xcb_connection_t *c /**< */,
614 xcb_shape_op_t operation /**< */,
615 xcb_shape_kind_t destination_kind /**< */,
616 xcb_window_t destination_window /**< */,
617 int16_t x_offset /**< */,
618 int16_t y_offset /**< */,
619 xcb_pixmap_t source_bitmap /**< */);
620
621/**
622 *
623 * @param c The connection
624 * @return A cookie
625 *
626 * Delivers a request to the X server.
627 *
628 * This form can be used only if the request will not cause
629 * a reply to be generated. Any returned error will be
630 * saved for handling by xcb_request_check().
631 */
632
633/*****************************************************************************
634 **
635 ** xcb_void_cookie_t xcb_shape_combine_checked
636 **
637 ** @param xcb_connection_t *c
638 ** @param xcb_shape_op_t operation
639 ** @param xcb_shape_kind_t destination_kind
640 ** @param xcb_shape_kind_t source_kind
641 ** @param xcb_window_t destination_window
642 ** @param int16_t x_offset
643 ** @param int16_t y_offset
644 ** @param xcb_window_t source_window
645 ** @returns xcb_void_cookie_t
646 **
647 *****************************************************************************/
648
649xcb_void_cookie_t
650xcb_shape_combine_checked (xcb_connection_t *c /**< */,
651 xcb_shape_op_t operation /**< */,
652 xcb_shape_kind_t destination_kind /**< */,
653 xcb_shape_kind_t source_kind /**< */,
654 xcb_window_t destination_window /**< */,
655 int16_t x_offset /**< */,
656 int16_t y_offset /**< */,
657 xcb_window_t source_window /**< */);
658
659/**
660 *
661 * @param c The connection
662 * @return A cookie
663 *
664 * Delivers a request to the X server.
665 *
666 */
667
668/*****************************************************************************
669 **
670 ** xcb_void_cookie_t xcb_shape_combine
671 **
672 ** @param xcb_connection_t *c
673 ** @param xcb_shape_op_t operation
674 ** @param xcb_shape_kind_t destination_kind
675 ** @param xcb_shape_kind_t source_kind
676 ** @param xcb_window_t destination_window
677 ** @param int16_t x_offset
678 ** @param int16_t y_offset
679 ** @param xcb_window_t source_window
680 ** @returns xcb_void_cookie_t
681 **
682 *****************************************************************************/
683
684xcb_void_cookie_t
685xcb_shape_combine (xcb_connection_t *c /**< */,
686 xcb_shape_op_t operation /**< */,
687 xcb_shape_kind_t destination_kind /**< */,
688 xcb_shape_kind_t source_kind /**< */,
689 xcb_window_t destination_window /**< */,
690 int16_t x_offset /**< */,
691 int16_t y_offset /**< */,
692 xcb_window_t source_window /**< */);
693
694/**
695 *
696 * @param c The connection
697 * @return A cookie
698 *
699 * Delivers a request to the X server.
700 *
701 * This form can be used only if the request will not cause
702 * a reply to be generated. Any returned error will be
703 * saved for handling by xcb_request_check().
704 */
705
706/*****************************************************************************
707 **
708 ** xcb_void_cookie_t xcb_shape_offset_checked
709 **
710 ** @param xcb_connection_t *c
711 ** @param xcb_shape_kind_t destination_kind
712 ** @param xcb_window_t destination_window
713 ** @param int16_t x_offset
714 ** @param int16_t y_offset
715 ** @returns xcb_void_cookie_t
716 **
717 *****************************************************************************/
718
719xcb_void_cookie_t
720xcb_shape_offset_checked (xcb_connection_t *c /**< */,
721 xcb_shape_kind_t destination_kind /**< */,
722 xcb_window_t destination_window /**< */,
723 int16_t x_offset /**< */,
724 int16_t y_offset /**< */);
725
726/**
727 *
728 * @param c The connection
729 * @return A cookie
730 *
731 * Delivers a request to the X server.
732 *
733 */
734
735/*****************************************************************************
736 **
737 ** xcb_void_cookie_t xcb_shape_offset
738 **
739 ** @param xcb_connection_t *c
740 ** @param xcb_shape_kind_t destination_kind
741 ** @param xcb_window_t destination_window
742 ** @param int16_t x_offset
743 ** @param int16_t y_offset
744 ** @returns xcb_void_cookie_t
745 **
746 *****************************************************************************/
747
748xcb_void_cookie_t
749xcb_shape_offset (xcb_connection_t *c /**< */,
750 xcb_shape_kind_t destination_kind /**< */,
751 xcb_window_t destination_window /**< */,
752 int16_t x_offset /**< */,
753 int16_t y_offset /**< */);
754
755/**
756 *
757 * @param c The connection
758 * @return A cookie
759 *
760 * Delivers a request to the X server.
761 *
762 */
763
764/*****************************************************************************
765 **
766 ** xcb_shape_query_extents_cookie_t xcb_shape_query_extents
767 **
768 ** @param xcb_connection_t *c
769 ** @param xcb_window_t destination_window
770 ** @returns xcb_shape_query_extents_cookie_t
771 **
772 *****************************************************************************/
773
774xcb_shape_query_extents_cookie_t
775xcb_shape_query_extents (xcb_connection_t *c /**< */,
776 xcb_window_t destination_window /**< */);
777
778/**
779 *
780 * @param c The connection
781 * @return A cookie
782 *
783 * Delivers a request to the X server.
784 *
785 * This form can be used only if the request will cause
786 * a reply to be generated. Any returned error will be
787 * placed in the event queue.
788 */
789
790/*****************************************************************************
791 **
792 ** xcb_shape_query_extents_cookie_t xcb_shape_query_extents_unchecked
793 **
794 ** @param xcb_connection_t *c
795 ** @param xcb_window_t destination_window
796 ** @returns xcb_shape_query_extents_cookie_t
797 **
798 *****************************************************************************/
799
800xcb_shape_query_extents_cookie_t
801xcb_shape_query_extents_unchecked (xcb_connection_t *c /**< */,
802 xcb_window_t destination_window /**< */);
803
804/**
805 * Return the reply
806 * @param c The connection
807 * @param cookie The cookie
808 * @param e The xcb_generic_error_t supplied
809 *
810 * Returns the reply of the request asked by
811 *
812 * The parameter @p e supplied to this function must be NULL if
813 * xcb_shape_query_extents_unchecked(). is used.
814 * Otherwise, it stores the error if any.
815 *
816 * The returned value must be freed by the caller using free().
817 */
818
819/*****************************************************************************
820 **
821 ** xcb_shape_query_extents_reply_t * xcb_shape_query_extents_reply
822 **
823 ** @param xcb_connection_t *c
824 ** @param xcb_shape_query_extents_cookie_t cookie
825 ** @param xcb_generic_error_t **e
826 ** @returns xcb_shape_query_extents_reply_t *
827 **
828 *****************************************************************************/
829
830xcb_shape_query_extents_reply_t *
831xcb_shape_query_extents_reply (xcb_connection_t *c /**< */,
832 xcb_shape_query_extents_cookie_t cookie /**< */,
833 xcb_generic_error_t **e /**< */);
834
835/**
836 *
837 * @param c The connection
838 * @return A cookie
839 *
840 * Delivers a request to the X server.
841 *
842 * This form can be used only if the request will not cause
843 * a reply to be generated. Any returned error will be
844 * saved for handling by xcb_request_check().
845 */
846
847/*****************************************************************************
848 **
849 ** xcb_void_cookie_t xcb_shape_select_input_checked
850 **
851 ** @param xcb_connection_t *c
852 ** @param xcb_window_t destination_window
853 ** @param uint8_t enable
854 ** @returns xcb_void_cookie_t
855 **
856 *****************************************************************************/
857
858xcb_void_cookie_t
859xcb_shape_select_input_checked (xcb_connection_t *c /**< */,
860 xcb_window_t destination_window /**< */,
861 uint8_t enable /**< */);
862
863/**
864 *
865 * @param c The connection
866 * @return A cookie
867 *
868 * Delivers a request to the X server.
869 *
870 */
871
872/*****************************************************************************
873 **
874 ** xcb_void_cookie_t xcb_shape_select_input
875 **
876 ** @param xcb_connection_t *c
877 ** @param xcb_window_t destination_window
878 ** @param uint8_t enable
879 ** @returns xcb_void_cookie_t
880 **
881 *****************************************************************************/
882
883xcb_void_cookie_t
884xcb_shape_select_input (xcb_connection_t *c /**< */,
885 xcb_window_t destination_window /**< */,
886 uint8_t enable /**< */);
887
888/**
889 *
890 * @param c The connection
891 * @return A cookie
892 *
893 * Delivers a request to the X server.
894 *
895 */
896
897/*****************************************************************************
898 **
899 ** xcb_shape_input_selected_cookie_t xcb_shape_input_selected
900 **
901 ** @param xcb_connection_t *c
902 ** @param xcb_window_t destination_window
903 ** @returns xcb_shape_input_selected_cookie_t
904 **
905 *****************************************************************************/
906
907xcb_shape_input_selected_cookie_t
908xcb_shape_input_selected (xcb_connection_t *c /**< */,
909 xcb_window_t destination_window /**< */);
910
911/**
912 *
913 * @param c The connection
914 * @return A cookie
915 *
916 * Delivers a request to the X server.
917 *
918 * This form can be used only if the request will cause
919 * a reply to be generated. Any returned error will be
920 * placed in the event queue.
921 */
922
923/*****************************************************************************
924 **
925 ** xcb_shape_input_selected_cookie_t xcb_shape_input_selected_unchecked
926 **
927 ** @param xcb_connection_t *c
928 ** @param xcb_window_t destination_window
929 ** @returns xcb_shape_input_selected_cookie_t
930 **
931 *****************************************************************************/
932
933xcb_shape_input_selected_cookie_t
934xcb_shape_input_selected_unchecked (xcb_connection_t *c /**< */,
935 xcb_window_t destination_window /**< */);
936
937/**
938 * Return the reply
939 * @param c The connection
940 * @param cookie The cookie
941 * @param e The xcb_generic_error_t supplied
942 *
943 * Returns the reply of the request asked by
944 *
945 * The parameter @p e supplied to this function must be NULL if
946 * xcb_shape_input_selected_unchecked(). is used.
947 * Otherwise, it stores the error if any.
948 *
949 * The returned value must be freed by the caller using free().
950 */
951
952/*****************************************************************************
953 **
954 ** xcb_shape_input_selected_reply_t * xcb_shape_input_selected_reply
955 **
956 ** @param xcb_connection_t *c
957 ** @param xcb_shape_input_selected_cookie_t cookie
958 ** @param xcb_generic_error_t **e
959 ** @returns xcb_shape_input_selected_reply_t *
960 **
961 *****************************************************************************/
962
963xcb_shape_input_selected_reply_t *
964xcb_shape_input_selected_reply (xcb_connection_t *c /**< */,
965 xcb_shape_input_selected_cookie_t cookie /**< */,
966 xcb_generic_error_t **e /**< */);
967
968int
969xcb_shape_get_rectangles_sizeof (const void *_buffer /**< */);
970
971/**
972 *
973 * @param c The connection
974 * @return A cookie
975 *
976 * Delivers a request to the X server.
977 *
978 */
979
980/*****************************************************************************
981 **
982 ** xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles
983 **
984 ** @param xcb_connection_t *c
985 ** @param xcb_window_t window
986 ** @param xcb_shape_kind_t source_kind
987 ** @returns xcb_shape_get_rectangles_cookie_t
988 **
989 *****************************************************************************/
990
991xcb_shape_get_rectangles_cookie_t
992xcb_shape_get_rectangles (xcb_connection_t *c /**< */,
993 xcb_window_t window /**< */,
994 xcb_shape_kind_t source_kind /**< */);
995
996/**
997 *
998 * @param c The connection
999 * @return A cookie
1000 *
1001 * Delivers a request to the X server.
1002 *
1003 * This form can be used only if the request will cause
1004 * a reply to be generated. Any returned error will be
1005 * placed in the event queue.
1006 */
1007
1008/*****************************************************************************
1009 **
1010 ** xcb_shape_get_rectangles_cookie_t xcb_shape_get_rectangles_unchecked
1011 **
1012 ** @param xcb_connection_t *c
1013 ** @param xcb_window_t window
1014 ** @param xcb_shape_kind_t source_kind
1015 ** @returns xcb_shape_get_rectangles_cookie_t
1016 **
1017 *****************************************************************************/
1018
1019xcb_shape_get_rectangles_cookie_t
1020xcb_shape_get_rectangles_unchecked (xcb_connection_t *c /**< */,
1021 xcb_window_t window /**< */,
1022 xcb_shape_kind_t source_kind /**< */);
1023
1024
1025/*****************************************************************************
1026 **
1027 ** xcb_rectangle_t * xcb_shape_get_rectangles_rectangles
1028 **
1029 ** @param const xcb_shape_get_rectangles_reply_t *R
1030 ** @returns xcb_rectangle_t *
1031 **
1032 *****************************************************************************/
1033
1034xcb_rectangle_t *
1035xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R /**< */);
1036
1037
1038/*****************************************************************************
1039 **
1040 ** int xcb_shape_get_rectangles_rectangles_length
1041 **
1042 ** @param const xcb_shape_get_rectangles_reply_t *R
1043 ** @returns int
1044 **
1045 *****************************************************************************/
1046
1047int
1048xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R /**< */);
1049
1050
1051/*****************************************************************************
1052 **
1053 ** xcb_rectangle_iterator_t xcb_shape_get_rectangles_rectangles_iterator
1054 **
1055 ** @param const xcb_shape_get_rectangles_reply_t *R
1056 ** @returns xcb_rectangle_iterator_t
1057 **
1058 *****************************************************************************/
1059
1060xcb_rectangle_iterator_t
1061xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R /**< */);
1062
1063/**
1064 * Return the reply
1065 * @param c The connection
1066 * @param cookie The cookie
1067 * @param e The xcb_generic_error_t supplied
1068 *
1069 * Returns the reply of the request asked by
1070 *
1071 * The parameter @p e supplied to this function must be NULL if
1072 * xcb_shape_get_rectangles_unchecked(). is used.
1073 * Otherwise, it stores the error if any.
1074 *
1075 * The returned value must be freed by the caller using free().
1076 */
1077
1078/*****************************************************************************
1079 **
1080 ** xcb_shape_get_rectangles_reply_t * xcb_shape_get_rectangles_reply
1081 **
1082 ** @param xcb_connection_t *c
1083 ** @param xcb_shape_get_rectangles_cookie_t cookie
1084 ** @param xcb_generic_error_t **e
1085 ** @returns xcb_shape_get_rectangles_reply_t *
1086 **
1087 *****************************************************************************/
1088
1089xcb_shape_get_rectangles_reply_t *
1090xcb_shape_get_rectangles_reply (xcb_connection_t *c /**< */,
1091 xcb_shape_get_rectangles_cookie_t cookie /**< */,
1092 xcb_generic_error_t **e /**< */);
1093
1094
1095#ifdef __cplusplus
1096}
1097#endif
1098
1099#endif
1100
1101/**
1102 * @}
1103 */
1104