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 = 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 | |
57 | typedef 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 | **/ |
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 | void |
318 | xcb_shape_op_next (xcb_shape_op_iterator_t *i); |
319 | |
320 | /** |
321 | * Return the iterator pointing to the last element |
322 | * @param i An xcb_shape_op_iterator_t |
323 | * @return The iterator pointing to the last element |
324 | * |
325 | * Set the current element in the iterator to the last element. |
326 | * The member rem is set to 0. The member data points to the |
327 | * last element. |
328 | */ |
329 | xcb_generic_iterator_t |
330 | xcb_shape_op_end (xcb_shape_op_iterator_t i); |
331 | |
332 | /** |
333 | * Get the next element of the iterator |
334 | * @param i Pointer to a xcb_shape_kind_iterator_t |
335 | * |
336 | * Get the next element in the iterator. The member rem is |
337 | * decreased by one. The member data points to the next |
338 | * element. The member index is increased by sizeof(xcb_shape_kind_t) |
339 | */ |
340 | void |
341 | xcb_shape_kind_next (xcb_shape_kind_iterator_t *i); |
342 | |
343 | /** |
344 | * Return the iterator pointing to the last element |
345 | * @param i An xcb_shape_kind_iterator_t |
346 | * @return The iterator pointing to the last element |
347 | * |
348 | * Set the current element in the iterator to the last element. |
349 | * The member rem is set to 0. The member data points to the |
350 | * last element. |
351 | */ |
352 | xcb_generic_iterator_t |
353 | xcb_shape_kind_end (xcb_shape_kind_iterator_t i); |
354 | |
355 | /** |
356 | * |
357 | * @param c The connection |
358 | * @return A cookie |
359 | * |
360 | * Delivers a request to the X server. |
361 | * |
362 | */ |
363 | xcb_shape_query_version_cookie_t |
364 | xcb_shape_query_version (xcb_connection_t *c); |
365 | |
366 | /** |
367 | * |
368 | * @param c The connection |
369 | * @return A cookie |
370 | * |
371 | * Delivers a request to the X server. |
372 | * |
373 | * This form can be used only if the request will cause |
374 | * a reply to be generated. Any returned error will be |
375 | * placed in the event queue. |
376 | */ |
377 | xcb_shape_query_version_cookie_t |
378 | xcb_shape_query_version_unchecked (xcb_connection_t *c); |
379 | |
380 | /** |
381 | * Return the reply |
382 | * @param c The connection |
383 | * @param cookie The cookie |
384 | * @param e The xcb_generic_error_t supplied |
385 | * |
386 | * Returns the reply of the request asked by |
387 | * |
388 | * The parameter @p e supplied to this function must be NULL if |
389 | * xcb_shape_query_version_unchecked(). is used. |
390 | * Otherwise, it stores the error if any. |
391 | * |
392 | * The returned value must be freed by the caller using free(). |
393 | */ |
394 | xcb_shape_query_version_reply_t * |
395 | xcb_shape_query_version_reply (xcb_connection_t *c, |
396 | xcb_shape_query_version_cookie_t cookie /**< */, |
397 | xcb_generic_error_t **e); |
398 | |
399 | int |
400 | xcb_shape_rectangles_sizeof (const void *_buffer, |
401 | uint32_t rectangles_len); |
402 | |
403 | /** |
404 | * |
405 | * @param c The connection |
406 | * @return A cookie |
407 | * |
408 | * Delivers a request to the X server. |
409 | * |
410 | * This form can be used only if the request will not cause |
411 | * a reply to be generated. Any returned error will be |
412 | * saved for handling by xcb_request_check(). |
413 | */ |
414 | xcb_void_cookie_t |
415 | xcb_shape_rectangles_checked (xcb_connection_t *c, |
416 | xcb_shape_op_t operation, |
417 | xcb_shape_kind_t destination_kind, |
418 | uint8_t ordering, |
419 | xcb_window_t destination_window, |
420 | int16_t x_offset, |
421 | int16_t y_offset, |
422 | uint32_t rectangles_len, |
423 | const xcb_rectangle_t *rectangles); |
424 | |
425 | /** |
426 | * |
427 | * @param c The connection |
428 | * @return A cookie |
429 | * |
430 | * Delivers a request to the X server. |
431 | * |
432 | */ |
433 | xcb_void_cookie_t |
434 | xcb_shape_rectangles (xcb_connection_t *c, |
435 | xcb_shape_op_t operation, |
436 | xcb_shape_kind_t destination_kind, |
437 | uint8_t ordering, |
438 | xcb_window_t destination_window, |
439 | int16_t x_offset, |
440 | int16_t y_offset, |
441 | uint32_t rectangles_len, |
442 | const xcb_rectangle_t *rectangles); |
443 | |
444 | xcb_rectangle_t * |
445 | xcb_shape_rectangles_rectangles (const xcb_shape_rectangles_request_t *R); |
446 | |
447 | int |
448 | xcb_shape_rectangles_rectangles_length (const xcb_shape_rectangles_request_t *R); |
449 | |
450 | xcb_rectangle_iterator_t |
451 | xcb_shape_rectangles_rectangles_iterator (const xcb_shape_rectangles_request_t *R); |
452 | |
453 | /** |
454 | * |
455 | * @param c The connection |
456 | * @return A cookie |
457 | * |
458 | * Delivers a request to the X server. |
459 | * |
460 | * This form can be used only if the request will not cause |
461 | * a reply to be generated. Any returned error will be |
462 | * saved for handling by xcb_request_check(). |
463 | */ |
464 | xcb_void_cookie_t |
465 | xcb_shape_mask_checked (xcb_connection_t *c, |
466 | xcb_shape_op_t operation, |
467 | xcb_shape_kind_t destination_kind, |
468 | xcb_window_t destination_window, |
469 | int16_t x_offset, |
470 | int16_t y_offset, |
471 | xcb_pixmap_t source_bitmap); |
472 | |
473 | /** |
474 | * |
475 | * @param c The connection |
476 | * @return A cookie |
477 | * |
478 | * Delivers a request to the X server. |
479 | * |
480 | */ |
481 | xcb_void_cookie_t |
482 | xcb_shape_mask (xcb_connection_t *c, |
483 | xcb_shape_op_t operation, |
484 | xcb_shape_kind_t destination_kind, |
485 | xcb_window_t destination_window, |
486 | int16_t x_offset, |
487 | int16_t y_offset, |
488 | xcb_pixmap_t source_bitmap); |
489 | |
490 | /** |
491 | * |
492 | * @param c The connection |
493 | * @return A cookie |
494 | * |
495 | * Delivers a request to the X server. |
496 | * |
497 | * This form can be used only if the request will not cause |
498 | * a reply to be generated. Any returned error will be |
499 | * saved for handling by xcb_request_check(). |
500 | */ |
501 | xcb_void_cookie_t |
502 | xcb_shape_combine_checked (xcb_connection_t *c, |
503 | xcb_shape_op_t operation, |
504 | xcb_shape_kind_t destination_kind, |
505 | xcb_shape_kind_t source_kind, |
506 | xcb_window_t destination_window, |
507 | int16_t x_offset, |
508 | int16_t y_offset, |
509 | xcb_window_t source_window); |
510 | |
511 | /** |
512 | * |
513 | * @param c The connection |
514 | * @return A cookie |
515 | * |
516 | * Delivers a request to the X server. |
517 | * |
518 | */ |
519 | xcb_void_cookie_t |
520 | xcb_shape_combine (xcb_connection_t *c, |
521 | xcb_shape_op_t operation, |
522 | xcb_shape_kind_t destination_kind, |
523 | xcb_shape_kind_t source_kind, |
524 | xcb_window_t destination_window, |
525 | int16_t x_offset, |
526 | int16_t y_offset, |
527 | xcb_window_t source_window); |
528 | |
529 | /** |
530 | * |
531 | * @param c The connection |
532 | * @return A cookie |
533 | * |
534 | * Delivers a request to the X server. |
535 | * |
536 | * This form can be used only if the request will not cause |
537 | * a reply to be generated. Any returned error will be |
538 | * saved for handling by xcb_request_check(). |
539 | */ |
540 | xcb_void_cookie_t |
541 | xcb_shape_offset_checked (xcb_connection_t *c, |
542 | xcb_shape_kind_t destination_kind, |
543 | xcb_window_t destination_window, |
544 | int16_t x_offset, |
545 | int16_t y_offset); |
546 | |
547 | /** |
548 | * |
549 | * @param c The connection |
550 | * @return A cookie |
551 | * |
552 | * Delivers a request to the X server. |
553 | * |
554 | */ |
555 | xcb_void_cookie_t |
556 | xcb_shape_offset (xcb_connection_t *c, |
557 | xcb_shape_kind_t destination_kind, |
558 | xcb_window_t destination_window, |
559 | int16_t x_offset, |
560 | int16_t y_offset); |
561 | |
562 | /** |
563 | * |
564 | * @param c The connection |
565 | * @return A cookie |
566 | * |
567 | * Delivers a request to the X server. |
568 | * |
569 | */ |
570 | xcb_shape_query_extents_cookie_t |
571 | xcb_shape_query_extents (xcb_connection_t *c, |
572 | xcb_window_t destination_window); |
573 | |
574 | /** |
575 | * |
576 | * @param c The connection |
577 | * @return A cookie |
578 | * |
579 | * Delivers a request to the X server. |
580 | * |
581 | * This form can be used only if the request will cause |
582 | * a reply to be generated. Any returned error will be |
583 | * placed in the event queue. |
584 | */ |
585 | xcb_shape_query_extents_cookie_t |
586 | xcb_shape_query_extents_unchecked (xcb_connection_t *c, |
587 | xcb_window_t destination_window); |
588 | |
589 | /** |
590 | * Return the reply |
591 | * @param c The connection |
592 | * @param cookie The cookie |
593 | * @param e The xcb_generic_error_t supplied |
594 | * |
595 | * Returns the reply of the request asked by |
596 | * |
597 | * The parameter @p e supplied to this function must be NULL if |
598 | * xcb_shape_query_extents_unchecked(). is used. |
599 | * Otherwise, it stores the error if any. |
600 | * |
601 | * The returned value must be freed by the caller using free(). |
602 | */ |
603 | xcb_shape_query_extents_reply_t * |
604 | xcb_shape_query_extents_reply (xcb_connection_t *c, |
605 | xcb_shape_query_extents_cookie_t cookie /**< */, |
606 | xcb_generic_error_t **e); |
607 | |
608 | /** |
609 | * |
610 | * @param c The connection |
611 | * @return A cookie |
612 | * |
613 | * Delivers a request to the X server. |
614 | * |
615 | * This form can be used only if the request will not cause |
616 | * a reply to be generated. Any returned error will be |
617 | * saved for handling by xcb_request_check(). |
618 | */ |
619 | xcb_void_cookie_t |
620 | xcb_shape_select_input_checked (xcb_connection_t *c, |
621 | xcb_window_t destination_window, |
622 | uint8_t enable); |
623 | |
624 | /** |
625 | * |
626 | * @param c The connection |
627 | * @return A cookie |
628 | * |
629 | * Delivers a request to the X server. |
630 | * |
631 | */ |
632 | xcb_void_cookie_t |
633 | xcb_shape_select_input (xcb_connection_t *c, |
634 | xcb_window_t destination_window, |
635 | uint8_t enable); |
636 | |
637 | /** |
638 | * |
639 | * @param c The connection |
640 | * @return A cookie |
641 | * |
642 | * Delivers a request to the X server. |
643 | * |
644 | */ |
645 | xcb_shape_input_selected_cookie_t |
646 | xcb_shape_input_selected (xcb_connection_t *c, |
647 | xcb_window_t destination_window); |
648 | |
649 | /** |
650 | * |
651 | * @param c The connection |
652 | * @return A cookie |
653 | * |
654 | * Delivers a request to the X server. |
655 | * |
656 | * This form can be used only if the request will cause |
657 | * a reply to be generated. Any returned error will be |
658 | * placed in the event queue. |
659 | */ |
660 | xcb_shape_input_selected_cookie_t |
661 | xcb_shape_input_selected_unchecked (xcb_connection_t *c, |
662 | xcb_window_t destination_window); |
663 | |
664 | /** |
665 | * Return the reply |
666 | * @param c The connection |
667 | * @param cookie The cookie |
668 | * @param e The xcb_generic_error_t supplied |
669 | * |
670 | * Returns the reply of the request asked by |
671 | * |
672 | * The parameter @p e supplied to this function must be NULL if |
673 | * xcb_shape_input_selected_unchecked(). is used. |
674 | * Otherwise, it stores the error if any. |
675 | * |
676 | * The returned value must be freed by the caller using free(). |
677 | */ |
678 | xcb_shape_input_selected_reply_t * |
679 | xcb_shape_input_selected_reply (xcb_connection_t *c, |
680 | xcb_shape_input_selected_cookie_t cookie /**< */, |
681 | xcb_generic_error_t **e); |
682 | |
683 | int |
684 | xcb_shape_get_rectangles_sizeof (const void *_buffer); |
685 | |
686 | /** |
687 | * |
688 | * @param c The connection |
689 | * @return A cookie |
690 | * |
691 | * Delivers a request to the X server. |
692 | * |
693 | */ |
694 | xcb_shape_get_rectangles_cookie_t |
695 | xcb_shape_get_rectangles (xcb_connection_t *c, |
696 | xcb_window_t window, |
697 | xcb_shape_kind_t source_kind); |
698 | |
699 | /** |
700 | * |
701 | * @param c The connection |
702 | * @return A cookie |
703 | * |
704 | * Delivers a request to the X server. |
705 | * |
706 | * This form can be used only if the request will cause |
707 | * a reply to be generated. Any returned error will be |
708 | * placed in the event queue. |
709 | */ |
710 | xcb_shape_get_rectangles_cookie_t |
711 | xcb_shape_get_rectangles_unchecked (xcb_connection_t *c, |
712 | xcb_window_t window, |
713 | xcb_shape_kind_t source_kind); |
714 | |
715 | xcb_rectangle_t * |
716 | xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R); |
717 | |
718 | int |
719 | xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R); |
720 | |
721 | xcb_rectangle_iterator_t |
722 | xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R); |
723 | |
724 | /** |
725 | * Return the reply |
726 | * @param c The connection |
727 | * @param cookie The cookie |
728 | * @param e The xcb_generic_error_t supplied |
729 | * |
730 | * Returns the reply of the request asked by |
731 | * |
732 | * The parameter @p e supplied to this function must be NULL if |
733 | * xcb_shape_get_rectangles_unchecked(). is used. |
734 | * Otherwise, it stores the error if any. |
735 | * |
736 | * The returned value must be freed by the caller using free(). |
737 | */ |
738 | xcb_shape_get_rectangles_reply_t * |
739 | xcb_shape_get_rectangles_reply (xcb_connection_t *c, |
740 | xcb_shape_get_rectangles_cookie_t cookie /**< */, |
741 | xcb_generic_error_t **e); |
742 | |
743 | |
744 | #ifdef __cplusplus |
745 | } |
746 | #endif |
747 | |
748 | #endif |
749 | |
750 | /** |
751 | * @} |
752 | */ |
753 | |