shape.h revision 1.5 1 1.1 mrg /*
2 1.1 mrg * This file generated automatically from shape.xml by c_client.py.
3 1.1 mrg * Edit at your peril.
4 1.1 mrg */
5 1.1 mrg
6 1.1 mrg /**
7 1.1 mrg * @defgroup XCB_Shape_API XCB Shape API
8 1.1 mrg * @brief Shape XCB Protocol Implementation.
9 1.1 mrg * @{
10 1.1 mrg **/
11 1.1 mrg
12 1.1 mrg #ifndef __SHAPE_H
13 1.1 mrg #define __SHAPE_H
14 1.1 mrg
15 1.1 mrg #include "xcb.h"
16 1.1 mrg #include "xproto.h"
17 1.1 mrg
18 1.1 mrg #ifdef __cplusplus
19 1.1 mrg extern "C" {
20 1.1 mrg #endif
21 1.1 mrg
22 1.1 mrg #define XCB_SHAPE_MAJOR_VERSION 1
23 1.1 mrg #define XCB_SHAPE_MINOR_VERSION 1
24 1.4 mrg
25 1.1 mrg extern xcb_extension_t xcb_shape_id;
26 1.1 mrg
27 1.1 mrg typedef uint8_t xcb_shape_op_t;
28 1.1 mrg
29 1.1 mrg /**
30 1.1 mrg * @brief xcb_shape_op_iterator_t
31 1.1 mrg **/
32 1.1 mrg typedef struct xcb_shape_op_iterator_t {
33 1.5 mrg xcb_shape_op_t *data;
34 1.5 mrg int rem;
35 1.5 mrg int index;
36 1.1 mrg } xcb_shape_op_iterator_t;
37 1.1 mrg
38 1.1 mrg typedef uint8_t xcb_shape_kind_t;
39 1.1 mrg
40 1.1 mrg /**
41 1.1 mrg * @brief xcb_shape_kind_iterator_t
42 1.1 mrg **/
43 1.1 mrg typedef struct xcb_shape_kind_iterator_t {
44 1.5 mrg xcb_shape_kind_t *data;
45 1.5 mrg int rem;
46 1.5 mrg int index;
47 1.1 mrg } xcb_shape_kind_iterator_t;
48 1.1 mrg
49 1.1 mrg typedef enum xcb_shape_so_t {
50 1.3 mrg XCB_SHAPE_SO_SET = 0,
51 1.3 mrg XCB_SHAPE_SO_UNION = 1,
52 1.3 mrg XCB_SHAPE_SO_INTERSECT = 2,
53 1.3 mrg XCB_SHAPE_SO_SUBTRACT = 3,
54 1.3 mrg XCB_SHAPE_SO_INVERT = 4
55 1.1 mrg } xcb_shape_so_t;
56 1.1 mrg
57 1.1 mrg typedef enum xcb_shape_sk_t {
58 1.3 mrg XCB_SHAPE_SK_BOUNDING = 0,
59 1.3 mrg XCB_SHAPE_SK_CLIP = 1,
60 1.3 mrg XCB_SHAPE_SK_INPUT = 2
61 1.1 mrg } xcb_shape_sk_t;
62 1.1 mrg
63 1.1 mrg /** Opcode for xcb_shape_notify. */
64 1.1 mrg #define XCB_SHAPE_NOTIFY 0
65 1.1 mrg
66 1.1 mrg /**
67 1.1 mrg * @brief xcb_shape_notify_event_t
68 1.1 mrg **/
69 1.1 mrg typedef struct xcb_shape_notify_event_t {
70 1.5 mrg uint8_t response_type;
71 1.5 mrg xcb_shape_kind_t shape_kind;
72 1.5 mrg uint16_t sequence;
73 1.5 mrg xcb_window_t affected_window;
74 1.5 mrg int16_t extents_x;
75 1.5 mrg int16_t extents_y;
76 1.5 mrg uint16_t extents_width;
77 1.5 mrg uint16_t extents_height;
78 1.5 mrg xcb_timestamp_t server_time;
79 1.5 mrg uint8_t shaped;
80 1.5 mrg uint8_t pad0[11];
81 1.1 mrg } xcb_shape_notify_event_t;
82 1.1 mrg
83 1.1 mrg /**
84 1.1 mrg * @brief xcb_shape_query_version_cookie_t
85 1.1 mrg **/
86 1.1 mrg typedef struct xcb_shape_query_version_cookie_t {
87 1.5 mrg unsigned int sequence;
88 1.1 mrg } xcb_shape_query_version_cookie_t;
89 1.1 mrg
90 1.1 mrg /** Opcode for xcb_shape_query_version. */
91 1.1 mrg #define XCB_SHAPE_QUERY_VERSION 0
92 1.1 mrg
93 1.1 mrg /**
94 1.1 mrg * @brief xcb_shape_query_version_request_t
95 1.1 mrg **/
96 1.1 mrg typedef struct xcb_shape_query_version_request_t {
97 1.5 mrg uint8_t major_opcode;
98 1.5 mrg uint8_t minor_opcode;
99 1.5 mrg uint16_t length;
100 1.1 mrg } xcb_shape_query_version_request_t;
101 1.1 mrg
102 1.1 mrg /**
103 1.1 mrg * @brief xcb_shape_query_version_reply_t
104 1.1 mrg **/
105 1.1 mrg typedef struct xcb_shape_query_version_reply_t {
106 1.5 mrg uint8_t response_type;
107 1.5 mrg uint8_t pad0;
108 1.5 mrg uint16_t sequence;
109 1.5 mrg uint32_t length;
110 1.5 mrg uint16_t major_version;
111 1.5 mrg uint16_t minor_version;
112 1.1 mrg } xcb_shape_query_version_reply_t;
113 1.1 mrg
114 1.1 mrg /** Opcode for xcb_shape_rectangles. */
115 1.1 mrg #define XCB_SHAPE_RECTANGLES 1
116 1.1 mrg
117 1.1 mrg /**
118 1.1 mrg * @brief xcb_shape_rectangles_request_t
119 1.1 mrg **/
120 1.1 mrg typedef struct xcb_shape_rectangles_request_t {
121 1.5 mrg uint8_t major_opcode;
122 1.5 mrg uint8_t minor_opcode;
123 1.5 mrg uint16_t length;
124 1.5 mrg xcb_shape_op_t operation;
125 1.5 mrg xcb_shape_kind_t destination_kind;
126 1.5 mrg uint8_t ordering;
127 1.5 mrg uint8_t pad0;
128 1.5 mrg xcb_window_t destination_window;
129 1.5 mrg int16_t x_offset;
130 1.5 mrg int16_t y_offset;
131 1.1 mrg } xcb_shape_rectangles_request_t;
132 1.1 mrg
133 1.1 mrg /** Opcode for xcb_shape_mask. */
134 1.1 mrg #define XCB_SHAPE_MASK 2
135 1.1 mrg
136 1.1 mrg /**
137 1.1 mrg * @brief xcb_shape_mask_request_t
138 1.1 mrg **/
139 1.1 mrg typedef struct xcb_shape_mask_request_t {
140 1.5 mrg uint8_t major_opcode;
141 1.5 mrg uint8_t minor_opcode;
142 1.5 mrg uint16_t length;
143 1.5 mrg xcb_shape_op_t operation;
144 1.5 mrg xcb_shape_kind_t destination_kind;
145 1.5 mrg uint8_t pad0[2];
146 1.5 mrg xcb_window_t destination_window;
147 1.5 mrg int16_t x_offset;
148 1.5 mrg int16_t y_offset;
149 1.5 mrg xcb_pixmap_t source_bitmap;
150 1.1 mrg } xcb_shape_mask_request_t;
151 1.1 mrg
152 1.1 mrg /** Opcode for xcb_shape_combine. */
153 1.1 mrg #define XCB_SHAPE_COMBINE 3
154 1.1 mrg
155 1.1 mrg /**
156 1.1 mrg * @brief xcb_shape_combine_request_t
157 1.1 mrg **/
158 1.1 mrg typedef struct xcb_shape_combine_request_t {
159 1.5 mrg uint8_t major_opcode;
160 1.5 mrg uint8_t minor_opcode;
161 1.5 mrg uint16_t length;
162 1.5 mrg xcb_shape_op_t operation;
163 1.5 mrg xcb_shape_kind_t destination_kind;
164 1.5 mrg xcb_shape_kind_t source_kind;
165 1.5 mrg uint8_t pad0;
166 1.5 mrg xcb_window_t destination_window;
167 1.5 mrg int16_t x_offset;
168 1.5 mrg int16_t y_offset;
169 1.5 mrg xcb_window_t source_window;
170 1.1 mrg } xcb_shape_combine_request_t;
171 1.1 mrg
172 1.1 mrg /** Opcode for xcb_shape_offset. */
173 1.1 mrg #define XCB_SHAPE_OFFSET 4
174 1.1 mrg
175 1.1 mrg /**
176 1.1 mrg * @brief xcb_shape_offset_request_t
177 1.1 mrg **/
178 1.1 mrg typedef struct xcb_shape_offset_request_t {
179 1.5 mrg uint8_t major_opcode;
180 1.5 mrg uint8_t minor_opcode;
181 1.5 mrg uint16_t length;
182 1.5 mrg xcb_shape_kind_t destination_kind;
183 1.5 mrg uint8_t pad0[3];
184 1.5 mrg xcb_window_t destination_window;
185 1.5 mrg int16_t x_offset;
186 1.5 mrg int16_t y_offset;
187 1.1 mrg } xcb_shape_offset_request_t;
188 1.1 mrg
189 1.1 mrg /**
190 1.1 mrg * @brief xcb_shape_query_extents_cookie_t
191 1.1 mrg **/
192 1.1 mrg typedef struct xcb_shape_query_extents_cookie_t {
193 1.5 mrg unsigned int sequence;
194 1.1 mrg } xcb_shape_query_extents_cookie_t;
195 1.1 mrg
196 1.1 mrg /** Opcode for xcb_shape_query_extents. */
197 1.1 mrg #define XCB_SHAPE_QUERY_EXTENTS 5
198 1.1 mrg
199 1.1 mrg /**
200 1.1 mrg * @brief xcb_shape_query_extents_request_t
201 1.1 mrg **/
202 1.1 mrg typedef struct xcb_shape_query_extents_request_t {
203 1.5 mrg uint8_t major_opcode;
204 1.5 mrg uint8_t minor_opcode;
205 1.5 mrg uint16_t length;
206 1.5 mrg xcb_window_t destination_window;
207 1.1 mrg } xcb_shape_query_extents_request_t;
208 1.1 mrg
209 1.1 mrg /**
210 1.1 mrg * @brief xcb_shape_query_extents_reply_t
211 1.1 mrg **/
212 1.1 mrg typedef struct xcb_shape_query_extents_reply_t {
213 1.5 mrg uint8_t response_type;
214 1.5 mrg uint8_t pad0;
215 1.5 mrg uint16_t sequence;
216 1.5 mrg uint32_t length;
217 1.5 mrg uint8_t bounding_shaped;
218 1.5 mrg uint8_t clip_shaped;
219 1.5 mrg uint8_t pad1[2];
220 1.5 mrg int16_t bounding_shape_extents_x;
221 1.5 mrg int16_t bounding_shape_extents_y;
222 1.5 mrg uint16_t bounding_shape_extents_width;
223 1.5 mrg uint16_t bounding_shape_extents_height;
224 1.5 mrg int16_t clip_shape_extents_x;
225 1.5 mrg int16_t clip_shape_extents_y;
226 1.5 mrg uint16_t clip_shape_extents_width;
227 1.5 mrg uint16_t clip_shape_extents_height;
228 1.1 mrg } xcb_shape_query_extents_reply_t;
229 1.1 mrg
230 1.1 mrg /** Opcode for xcb_shape_select_input. */
231 1.1 mrg #define XCB_SHAPE_SELECT_INPUT 6
232 1.1 mrg
233 1.1 mrg /**
234 1.1 mrg * @brief xcb_shape_select_input_request_t
235 1.1 mrg **/
236 1.1 mrg typedef struct xcb_shape_select_input_request_t {
237 1.5 mrg uint8_t major_opcode;
238 1.5 mrg uint8_t minor_opcode;
239 1.5 mrg uint16_t length;
240 1.5 mrg xcb_window_t destination_window;
241 1.5 mrg uint8_t enable;
242 1.5 mrg uint8_t pad0[3];
243 1.1 mrg } xcb_shape_select_input_request_t;
244 1.1 mrg
245 1.1 mrg /**
246 1.1 mrg * @brief xcb_shape_input_selected_cookie_t
247 1.1 mrg **/
248 1.1 mrg typedef struct xcb_shape_input_selected_cookie_t {
249 1.5 mrg unsigned int sequence;
250 1.1 mrg } xcb_shape_input_selected_cookie_t;
251 1.1 mrg
252 1.1 mrg /** Opcode for xcb_shape_input_selected. */
253 1.1 mrg #define XCB_SHAPE_INPUT_SELECTED 7
254 1.1 mrg
255 1.1 mrg /**
256 1.1 mrg * @brief xcb_shape_input_selected_request_t
257 1.1 mrg **/
258 1.1 mrg typedef struct xcb_shape_input_selected_request_t {
259 1.5 mrg uint8_t major_opcode;
260 1.5 mrg uint8_t minor_opcode;
261 1.5 mrg uint16_t length;
262 1.5 mrg xcb_window_t destination_window;
263 1.1 mrg } xcb_shape_input_selected_request_t;
264 1.1 mrg
265 1.1 mrg /**
266 1.1 mrg * @brief xcb_shape_input_selected_reply_t
267 1.1 mrg **/
268 1.1 mrg typedef struct xcb_shape_input_selected_reply_t {
269 1.5 mrg uint8_t response_type;
270 1.5 mrg uint8_t enabled;
271 1.5 mrg uint16_t sequence;
272 1.5 mrg uint32_t length;
273 1.1 mrg } xcb_shape_input_selected_reply_t;
274 1.1 mrg
275 1.1 mrg /**
276 1.1 mrg * @brief xcb_shape_get_rectangles_cookie_t
277 1.1 mrg **/
278 1.1 mrg typedef struct xcb_shape_get_rectangles_cookie_t {
279 1.5 mrg unsigned int sequence;
280 1.1 mrg } xcb_shape_get_rectangles_cookie_t;
281 1.1 mrg
282 1.1 mrg /** Opcode for xcb_shape_get_rectangles. */
283 1.1 mrg #define XCB_SHAPE_GET_RECTANGLES 8
284 1.1 mrg
285 1.1 mrg /**
286 1.1 mrg * @brief xcb_shape_get_rectangles_request_t
287 1.1 mrg **/
288 1.1 mrg typedef struct xcb_shape_get_rectangles_request_t {
289 1.5 mrg uint8_t major_opcode;
290 1.5 mrg uint8_t minor_opcode;
291 1.5 mrg uint16_t length;
292 1.5 mrg xcb_window_t window;
293 1.5 mrg xcb_shape_kind_t source_kind;
294 1.5 mrg uint8_t pad0[3];
295 1.1 mrg } xcb_shape_get_rectangles_request_t;
296 1.1 mrg
297 1.1 mrg /**
298 1.1 mrg * @brief xcb_shape_get_rectangles_reply_t
299 1.1 mrg **/
300 1.1 mrg typedef struct xcb_shape_get_rectangles_reply_t {
301 1.5 mrg uint8_t response_type;
302 1.5 mrg uint8_t ordering;
303 1.5 mrg uint16_t sequence;
304 1.5 mrg uint32_t length;
305 1.5 mrg uint32_t rectangles_len;
306 1.5 mrg uint8_t pad0[20];
307 1.1 mrg } xcb_shape_get_rectangles_reply_t;
308 1.1 mrg
309 1.1 mrg /**
310 1.1 mrg * Get the next element of the iterator
311 1.1 mrg * @param i Pointer to a xcb_shape_op_iterator_t
312 1.1 mrg *
313 1.1 mrg * Get the next element in the iterator. The member rem is
314 1.1 mrg * decreased by one. The member data points to the next
315 1.1 mrg * element. The member index is increased by sizeof(xcb_shape_op_t)
316 1.1 mrg */
317 1.1 mrg void
318 1.5 mrg xcb_shape_op_next (xcb_shape_op_iterator_t *i);
319 1.1 mrg
320 1.1 mrg /**
321 1.1 mrg * Return the iterator pointing to the last element
322 1.1 mrg * @param i An xcb_shape_op_iterator_t
323 1.1 mrg * @return The iterator pointing to the last element
324 1.1 mrg *
325 1.1 mrg * Set the current element in the iterator to the last element.
326 1.1 mrg * The member rem is set to 0. The member data points to the
327 1.1 mrg * last element.
328 1.1 mrg */
329 1.1 mrg xcb_generic_iterator_t
330 1.5 mrg xcb_shape_op_end (xcb_shape_op_iterator_t i);
331 1.1 mrg
332 1.1 mrg /**
333 1.1 mrg * Get the next element of the iterator
334 1.1 mrg * @param i Pointer to a xcb_shape_kind_iterator_t
335 1.1 mrg *
336 1.1 mrg * Get the next element in the iterator. The member rem is
337 1.1 mrg * decreased by one. The member data points to the next
338 1.1 mrg * element. The member index is increased by sizeof(xcb_shape_kind_t)
339 1.1 mrg */
340 1.1 mrg void
341 1.5 mrg xcb_shape_kind_next (xcb_shape_kind_iterator_t *i);
342 1.1 mrg
343 1.1 mrg /**
344 1.1 mrg * Return the iterator pointing to the last element
345 1.1 mrg * @param i An xcb_shape_kind_iterator_t
346 1.1 mrg * @return The iterator pointing to the last element
347 1.1 mrg *
348 1.1 mrg * Set the current element in the iterator to the last element.
349 1.1 mrg * The member rem is set to 0. The member data points to the
350 1.1 mrg * last element.
351 1.1 mrg */
352 1.1 mrg xcb_generic_iterator_t
353 1.5 mrg xcb_shape_kind_end (xcb_shape_kind_iterator_t i);
354 1.1 mrg
355 1.1 mrg /**
356 1.2 mrg *
357 1.1 mrg * @param c The connection
358 1.1 mrg * @return A cookie
359 1.1 mrg *
360 1.1 mrg * Delivers a request to the X server.
361 1.4 mrg *
362 1.1 mrg */
363 1.1 mrg xcb_shape_query_version_cookie_t
364 1.5 mrg xcb_shape_query_version (xcb_connection_t *c);
365 1.1 mrg
366 1.1 mrg /**
367 1.2 mrg *
368 1.1 mrg * @param c The connection
369 1.1 mrg * @return A cookie
370 1.1 mrg *
371 1.1 mrg * Delivers a request to the X server.
372 1.4 mrg *
373 1.1 mrg * This form can be used only if the request will cause
374 1.1 mrg * a reply to be generated. Any returned error will be
375 1.1 mrg * placed in the event queue.
376 1.1 mrg */
377 1.1 mrg xcb_shape_query_version_cookie_t
378 1.5 mrg xcb_shape_query_version_unchecked (xcb_connection_t *c);
379 1.1 mrg
380 1.1 mrg /**
381 1.1 mrg * Return the reply
382 1.1 mrg * @param c The connection
383 1.1 mrg * @param cookie The cookie
384 1.1 mrg * @param e The xcb_generic_error_t supplied
385 1.1 mrg *
386 1.1 mrg * Returns the reply of the request asked by
387 1.4 mrg *
388 1.1 mrg * The parameter @p e supplied to this function must be NULL if
389 1.1 mrg * xcb_shape_query_version_unchecked(). is used.
390 1.1 mrg * Otherwise, it stores the error if any.
391 1.1 mrg *
392 1.1 mrg * The returned value must be freed by the caller using free().
393 1.1 mrg */
394 1.1 mrg xcb_shape_query_version_reply_t *
395 1.5 mrg xcb_shape_query_version_reply (xcb_connection_t *c,
396 1.1 mrg xcb_shape_query_version_cookie_t cookie /**< */,
397 1.5 mrg xcb_generic_error_t **e);
398 1.1 mrg
399 1.2 mrg int
400 1.5 mrg xcb_shape_rectangles_sizeof (const void *_buffer,
401 1.5 mrg uint32_t rectangles_len);
402 1.2 mrg
403 1.1 mrg /**
404 1.2 mrg *
405 1.1 mrg * @param c The connection
406 1.1 mrg * @return A cookie
407 1.1 mrg *
408 1.1 mrg * Delivers a request to the X server.
409 1.4 mrg *
410 1.1 mrg * This form can be used only if the request will not cause
411 1.1 mrg * a reply to be generated. Any returned error will be
412 1.1 mrg * saved for handling by xcb_request_check().
413 1.1 mrg */
414 1.1 mrg xcb_void_cookie_t
415 1.5 mrg xcb_shape_rectangles_checked (xcb_connection_t *c,
416 1.5 mrg xcb_shape_op_t operation,
417 1.5 mrg xcb_shape_kind_t destination_kind,
418 1.5 mrg uint8_t ordering,
419 1.5 mrg xcb_window_t destination_window,
420 1.5 mrg int16_t x_offset,
421 1.5 mrg int16_t y_offset,
422 1.5 mrg uint32_t rectangles_len,
423 1.5 mrg const xcb_rectangle_t *rectangles);
424 1.1 mrg
425 1.1 mrg /**
426 1.2 mrg *
427 1.1 mrg * @param c The connection
428 1.1 mrg * @return A cookie
429 1.1 mrg *
430 1.1 mrg * Delivers a request to the X server.
431 1.4 mrg *
432 1.1 mrg */
433 1.1 mrg xcb_void_cookie_t
434 1.5 mrg xcb_shape_rectangles (xcb_connection_t *c,
435 1.5 mrg xcb_shape_op_t operation,
436 1.5 mrg xcb_shape_kind_t destination_kind,
437 1.5 mrg uint8_t ordering,
438 1.5 mrg xcb_window_t destination_window,
439 1.5 mrg int16_t x_offset,
440 1.5 mrg int16_t y_offset,
441 1.5 mrg uint32_t rectangles_len,
442 1.5 mrg const xcb_rectangle_t *rectangles);
443 1.5 mrg
444 1.5 mrg xcb_rectangle_t *
445 1.5 mrg xcb_shape_rectangles_rectangles (const xcb_shape_rectangles_request_t *R);
446 1.5 mrg
447 1.5 mrg int
448 1.5 mrg xcb_shape_rectangles_rectangles_length (const xcb_shape_rectangles_request_t *R);
449 1.5 mrg
450 1.5 mrg xcb_rectangle_iterator_t
451 1.5 mrg xcb_shape_rectangles_rectangles_iterator (const xcb_shape_rectangles_request_t *R);
452 1.1 mrg
453 1.1 mrg /**
454 1.2 mrg *
455 1.1 mrg * @param c The connection
456 1.1 mrg * @return A cookie
457 1.1 mrg *
458 1.1 mrg * Delivers a request to the X server.
459 1.4 mrg *
460 1.1 mrg * This form can be used only if the request will not cause
461 1.1 mrg * a reply to be generated. Any returned error will be
462 1.1 mrg * saved for handling by xcb_request_check().
463 1.1 mrg */
464 1.1 mrg xcb_void_cookie_t
465 1.5 mrg xcb_shape_mask_checked (xcb_connection_t *c,
466 1.5 mrg xcb_shape_op_t operation,
467 1.5 mrg xcb_shape_kind_t destination_kind,
468 1.5 mrg xcb_window_t destination_window,
469 1.5 mrg int16_t x_offset,
470 1.5 mrg int16_t y_offset,
471 1.5 mrg xcb_pixmap_t source_bitmap);
472 1.1 mrg
473 1.1 mrg /**
474 1.2 mrg *
475 1.1 mrg * @param c The connection
476 1.1 mrg * @return A cookie
477 1.1 mrg *
478 1.1 mrg * Delivers a request to the X server.
479 1.4 mrg *
480 1.1 mrg */
481 1.1 mrg xcb_void_cookie_t
482 1.5 mrg xcb_shape_mask (xcb_connection_t *c,
483 1.5 mrg xcb_shape_op_t operation,
484 1.5 mrg xcb_shape_kind_t destination_kind,
485 1.5 mrg xcb_window_t destination_window,
486 1.5 mrg int16_t x_offset,
487 1.5 mrg int16_t y_offset,
488 1.5 mrg xcb_pixmap_t source_bitmap);
489 1.1 mrg
490 1.1 mrg /**
491 1.2 mrg *
492 1.1 mrg * @param c The connection
493 1.1 mrg * @return A cookie
494 1.1 mrg *
495 1.1 mrg * Delivers a request to the X server.
496 1.4 mrg *
497 1.1 mrg * This form can be used only if the request will not cause
498 1.1 mrg * a reply to be generated. Any returned error will be
499 1.1 mrg * saved for handling by xcb_request_check().
500 1.1 mrg */
501 1.1 mrg xcb_void_cookie_t
502 1.5 mrg xcb_shape_combine_checked (xcb_connection_t *c,
503 1.5 mrg xcb_shape_op_t operation,
504 1.5 mrg xcb_shape_kind_t destination_kind,
505 1.5 mrg xcb_shape_kind_t source_kind,
506 1.5 mrg xcb_window_t destination_window,
507 1.5 mrg int16_t x_offset,
508 1.5 mrg int16_t y_offset,
509 1.5 mrg xcb_window_t source_window);
510 1.1 mrg
511 1.1 mrg /**
512 1.2 mrg *
513 1.1 mrg * @param c The connection
514 1.1 mrg * @return A cookie
515 1.1 mrg *
516 1.1 mrg * Delivers a request to the X server.
517 1.4 mrg *
518 1.1 mrg */
519 1.1 mrg xcb_void_cookie_t
520 1.5 mrg xcb_shape_combine (xcb_connection_t *c,
521 1.5 mrg xcb_shape_op_t operation,
522 1.5 mrg xcb_shape_kind_t destination_kind,
523 1.5 mrg xcb_shape_kind_t source_kind,
524 1.5 mrg xcb_window_t destination_window,
525 1.5 mrg int16_t x_offset,
526 1.5 mrg int16_t y_offset,
527 1.5 mrg xcb_window_t source_window);
528 1.1 mrg
529 1.1 mrg /**
530 1.2 mrg *
531 1.1 mrg * @param c The connection
532 1.1 mrg * @return A cookie
533 1.1 mrg *
534 1.1 mrg * Delivers a request to the X server.
535 1.4 mrg *
536 1.1 mrg * This form can be used only if the request will not cause
537 1.1 mrg * a reply to be generated. Any returned error will be
538 1.1 mrg * saved for handling by xcb_request_check().
539 1.1 mrg */
540 1.1 mrg xcb_void_cookie_t
541 1.5 mrg xcb_shape_offset_checked (xcb_connection_t *c,
542 1.5 mrg xcb_shape_kind_t destination_kind,
543 1.5 mrg xcb_window_t destination_window,
544 1.5 mrg int16_t x_offset,
545 1.5 mrg int16_t y_offset);
546 1.1 mrg
547 1.1 mrg /**
548 1.2 mrg *
549 1.1 mrg * @param c The connection
550 1.1 mrg * @return A cookie
551 1.1 mrg *
552 1.1 mrg * Delivers a request to the X server.
553 1.4 mrg *
554 1.1 mrg */
555 1.1 mrg xcb_void_cookie_t
556 1.5 mrg xcb_shape_offset (xcb_connection_t *c,
557 1.5 mrg xcb_shape_kind_t destination_kind,
558 1.5 mrg xcb_window_t destination_window,
559 1.5 mrg int16_t x_offset,
560 1.5 mrg int16_t y_offset);
561 1.1 mrg
562 1.1 mrg /**
563 1.2 mrg *
564 1.1 mrg * @param c The connection
565 1.1 mrg * @return A cookie
566 1.1 mrg *
567 1.1 mrg * Delivers a request to the X server.
568 1.4 mrg *
569 1.1 mrg */
570 1.1 mrg xcb_shape_query_extents_cookie_t
571 1.5 mrg xcb_shape_query_extents (xcb_connection_t *c,
572 1.5 mrg xcb_window_t destination_window);
573 1.1 mrg
574 1.1 mrg /**
575 1.2 mrg *
576 1.1 mrg * @param c The connection
577 1.1 mrg * @return A cookie
578 1.1 mrg *
579 1.1 mrg * Delivers a request to the X server.
580 1.4 mrg *
581 1.1 mrg * This form can be used only if the request will cause
582 1.1 mrg * a reply to be generated. Any returned error will be
583 1.1 mrg * placed in the event queue.
584 1.1 mrg */
585 1.1 mrg xcb_shape_query_extents_cookie_t
586 1.5 mrg xcb_shape_query_extents_unchecked (xcb_connection_t *c,
587 1.5 mrg xcb_window_t destination_window);
588 1.1 mrg
589 1.1 mrg /**
590 1.1 mrg * Return the reply
591 1.1 mrg * @param c The connection
592 1.1 mrg * @param cookie The cookie
593 1.1 mrg * @param e The xcb_generic_error_t supplied
594 1.1 mrg *
595 1.1 mrg * Returns the reply of the request asked by
596 1.4 mrg *
597 1.1 mrg * The parameter @p e supplied to this function must be NULL if
598 1.1 mrg * xcb_shape_query_extents_unchecked(). is used.
599 1.1 mrg * Otherwise, it stores the error if any.
600 1.1 mrg *
601 1.1 mrg * The returned value must be freed by the caller using free().
602 1.1 mrg */
603 1.1 mrg xcb_shape_query_extents_reply_t *
604 1.5 mrg xcb_shape_query_extents_reply (xcb_connection_t *c,
605 1.1 mrg xcb_shape_query_extents_cookie_t cookie /**< */,
606 1.5 mrg xcb_generic_error_t **e);
607 1.1 mrg
608 1.1 mrg /**
609 1.2 mrg *
610 1.1 mrg * @param c The connection
611 1.1 mrg * @return A cookie
612 1.1 mrg *
613 1.1 mrg * Delivers a request to the X server.
614 1.4 mrg *
615 1.1 mrg * This form can be used only if the request will not cause
616 1.1 mrg * a reply to be generated. Any returned error will be
617 1.1 mrg * saved for handling by xcb_request_check().
618 1.1 mrg */
619 1.1 mrg xcb_void_cookie_t
620 1.5 mrg xcb_shape_select_input_checked (xcb_connection_t *c,
621 1.5 mrg xcb_window_t destination_window,
622 1.5 mrg uint8_t enable);
623 1.1 mrg
624 1.1 mrg /**
625 1.2 mrg *
626 1.1 mrg * @param c The connection
627 1.1 mrg * @return A cookie
628 1.1 mrg *
629 1.1 mrg * Delivers a request to the X server.
630 1.4 mrg *
631 1.1 mrg */
632 1.1 mrg xcb_void_cookie_t
633 1.5 mrg xcb_shape_select_input (xcb_connection_t *c,
634 1.5 mrg xcb_window_t destination_window,
635 1.5 mrg uint8_t enable);
636 1.1 mrg
637 1.1 mrg /**
638 1.2 mrg *
639 1.1 mrg * @param c The connection
640 1.1 mrg * @return A cookie
641 1.1 mrg *
642 1.1 mrg * Delivers a request to the X server.
643 1.4 mrg *
644 1.1 mrg */
645 1.1 mrg xcb_shape_input_selected_cookie_t
646 1.5 mrg xcb_shape_input_selected (xcb_connection_t *c,
647 1.5 mrg xcb_window_t destination_window);
648 1.1 mrg
649 1.1 mrg /**
650 1.2 mrg *
651 1.1 mrg * @param c The connection
652 1.1 mrg * @return A cookie
653 1.1 mrg *
654 1.1 mrg * Delivers a request to the X server.
655 1.4 mrg *
656 1.1 mrg * This form can be used only if the request will cause
657 1.1 mrg * a reply to be generated. Any returned error will be
658 1.1 mrg * placed in the event queue.
659 1.1 mrg */
660 1.1 mrg xcb_shape_input_selected_cookie_t
661 1.5 mrg xcb_shape_input_selected_unchecked (xcb_connection_t *c,
662 1.5 mrg xcb_window_t destination_window);
663 1.1 mrg
664 1.1 mrg /**
665 1.1 mrg * Return the reply
666 1.1 mrg * @param c The connection
667 1.1 mrg * @param cookie The cookie
668 1.1 mrg * @param e The xcb_generic_error_t supplied
669 1.1 mrg *
670 1.1 mrg * Returns the reply of the request asked by
671 1.4 mrg *
672 1.1 mrg * The parameter @p e supplied to this function must be NULL if
673 1.1 mrg * xcb_shape_input_selected_unchecked(). is used.
674 1.1 mrg * Otherwise, it stores the error if any.
675 1.1 mrg *
676 1.1 mrg * The returned value must be freed by the caller using free().
677 1.1 mrg */
678 1.1 mrg xcb_shape_input_selected_reply_t *
679 1.5 mrg xcb_shape_input_selected_reply (xcb_connection_t *c,
680 1.1 mrg xcb_shape_input_selected_cookie_t cookie /**< */,
681 1.5 mrg xcb_generic_error_t **e);
682 1.1 mrg
683 1.2 mrg int
684 1.5 mrg xcb_shape_get_rectangles_sizeof (const void *_buffer);
685 1.2 mrg
686 1.1 mrg /**
687 1.2 mrg *
688 1.1 mrg * @param c The connection
689 1.1 mrg * @return A cookie
690 1.1 mrg *
691 1.1 mrg * Delivers a request to the X server.
692 1.4 mrg *
693 1.1 mrg */
694 1.1 mrg xcb_shape_get_rectangles_cookie_t
695 1.5 mrg xcb_shape_get_rectangles (xcb_connection_t *c,
696 1.5 mrg xcb_window_t window,
697 1.5 mrg xcb_shape_kind_t source_kind);
698 1.1 mrg
699 1.1 mrg /**
700 1.2 mrg *
701 1.1 mrg * @param c The connection
702 1.1 mrg * @return A cookie
703 1.1 mrg *
704 1.1 mrg * Delivers a request to the X server.
705 1.4 mrg *
706 1.1 mrg * This form can be used only if the request will cause
707 1.1 mrg * a reply to be generated. Any returned error will be
708 1.1 mrg * placed in the event queue.
709 1.1 mrg */
710 1.1 mrg xcb_shape_get_rectangles_cookie_t
711 1.5 mrg xcb_shape_get_rectangles_unchecked (xcb_connection_t *c,
712 1.5 mrg xcb_window_t window,
713 1.5 mrg xcb_shape_kind_t source_kind);
714 1.1 mrg
715 1.1 mrg xcb_rectangle_t *
716 1.5 mrg xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R);
717 1.1 mrg
718 1.1 mrg int
719 1.5 mrg xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R);
720 1.1 mrg
721 1.1 mrg xcb_rectangle_iterator_t
722 1.5 mrg xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R);
723 1.1 mrg
724 1.1 mrg /**
725 1.1 mrg * Return the reply
726 1.1 mrg * @param c The connection
727 1.1 mrg * @param cookie The cookie
728 1.1 mrg * @param e The xcb_generic_error_t supplied
729 1.1 mrg *
730 1.1 mrg * Returns the reply of the request asked by
731 1.4 mrg *
732 1.1 mrg * The parameter @p e supplied to this function must be NULL if
733 1.1 mrg * xcb_shape_get_rectangles_unchecked(). is used.
734 1.1 mrg * Otherwise, it stores the error if any.
735 1.1 mrg *
736 1.1 mrg * The returned value must be freed by the caller using free().
737 1.1 mrg */
738 1.1 mrg xcb_shape_get_rectangles_reply_t *
739 1.5 mrg xcb_shape_get_rectangles_reply (xcb_connection_t *c,
740 1.1 mrg xcb_shape_get_rectangles_cookie_t cookie /**< */,
741 1.5 mrg xcb_generic_error_t **e);
742 1.1 mrg
743 1.1 mrg
744 1.1 mrg #ifdef __cplusplus
745 1.1 mrg }
746 1.1 mrg #endif
747 1.1 mrg
748 1.1 mrg #endif
749 1.1 mrg
750 1.1 mrg /**
751 1.1 mrg * @}
752 1.1 mrg */
753