shape.h revision 1.4 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.1 mrg xcb_shape_op_t *data; /**< */
34 1.1 mrg int rem; /**< */
35 1.1 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.1 mrg xcb_shape_kind_t *data; /**< */
45 1.1 mrg int rem; /**< */
46 1.1 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.1 mrg uint8_t response_type; /**< */
71 1.1 mrg xcb_shape_kind_t shape_kind; /**< */
72 1.1 mrg uint16_t sequence; /**< */
73 1.1 mrg xcb_window_t affected_window; /**< */
74 1.1 mrg int16_t extents_x; /**< */
75 1.1 mrg int16_t extents_y; /**< */
76 1.1 mrg uint16_t extents_width; /**< */
77 1.1 mrg uint16_t extents_height; /**< */
78 1.1 mrg xcb_timestamp_t server_time; /**< */
79 1.1 mrg uint8_t shaped; /**< */
80 1.1 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.1 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.1 mrg uint8_t major_opcode; /**< */
98 1.1 mrg uint8_t minor_opcode; /**< */
99 1.1 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.1 mrg uint8_t response_type; /**< */
107 1.1 mrg uint8_t pad0; /**< */
108 1.1 mrg uint16_t sequence; /**< */
109 1.1 mrg uint32_t length; /**< */
110 1.1 mrg uint16_t major_version; /**< */
111 1.1 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.1 mrg uint8_t major_opcode; /**< */
122 1.1 mrg uint8_t minor_opcode; /**< */
123 1.1 mrg uint16_t length; /**< */
124 1.1 mrg xcb_shape_op_t operation; /**< */
125 1.1 mrg xcb_shape_kind_t destination_kind; /**< */
126 1.1 mrg uint8_t ordering; /**< */
127 1.1 mrg uint8_t pad0; /**< */
128 1.1 mrg xcb_window_t destination_window; /**< */
129 1.1 mrg int16_t x_offset; /**< */
130 1.1 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.1 mrg uint8_t major_opcode; /**< */
141 1.1 mrg uint8_t minor_opcode; /**< */
142 1.1 mrg uint16_t length; /**< */
143 1.1 mrg xcb_shape_op_t operation; /**< */
144 1.1 mrg xcb_shape_kind_t destination_kind; /**< */
145 1.1 mrg uint8_t pad0[2]; /**< */
146 1.1 mrg xcb_window_t destination_window; /**< */
147 1.1 mrg int16_t x_offset; /**< */
148 1.1 mrg int16_t y_offset; /**< */
149 1.1 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.1 mrg uint8_t major_opcode; /**< */
160 1.1 mrg uint8_t minor_opcode; /**< */
161 1.1 mrg uint16_t length; /**< */
162 1.1 mrg xcb_shape_op_t operation; /**< */
163 1.1 mrg xcb_shape_kind_t destination_kind; /**< */
164 1.1 mrg xcb_shape_kind_t source_kind; /**< */
165 1.1 mrg uint8_t pad0; /**< */
166 1.1 mrg xcb_window_t destination_window; /**< */
167 1.1 mrg int16_t x_offset; /**< */
168 1.1 mrg int16_t y_offset; /**< */
169 1.1 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.1 mrg uint8_t major_opcode; /**< */
180 1.1 mrg uint8_t minor_opcode; /**< */
181 1.1 mrg uint16_t length; /**< */
182 1.1 mrg xcb_shape_kind_t destination_kind; /**< */
183 1.1 mrg uint8_t pad0[3]; /**< */
184 1.1 mrg xcb_window_t destination_window; /**< */
185 1.1 mrg int16_t x_offset; /**< */
186 1.1 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.1 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.1 mrg uint8_t major_opcode; /**< */
204 1.1 mrg uint8_t minor_opcode; /**< */
205 1.1 mrg uint16_t length; /**< */
206 1.1 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.1 mrg uint8_t response_type; /**< */
214 1.1 mrg uint8_t pad0; /**< */
215 1.1 mrg uint16_t sequence; /**< */
216 1.1 mrg uint32_t length; /**< */
217 1.1 mrg uint8_t bounding_shaped; /**< */
218 1.1 mrg uint8_t clip_shaped; /**< */
219 1.1 mrg uint8_t pad1[2]; /**< */
220 1.1 mrg int16_t bounding_shape_extents_x; /**< */
221 1.1 mrg int16_t bounding_shape_extents_y; /**< */
222 1.1 mrg uint16_t bounding_shape_extents_width; /**< */
223 1.1 mrg uint16_t bounding_shape_extents_height; /**< */
224 1.1 mrg int16_t clip_shape_extents_x; /**< */
225 1.1 mrg int16_t clip_shape_extents_y; /**< */
226 1.1 mrg uint16_t clip_shape_extents_width; /**< */
227 1.1 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.1 mrg uint8_t major_opcode; /**< */
238 1.1 mrg uint8_t minor_opcode; /**< */
239 1.1 mrg uint16_t length; /**< */
240 1.1 mrg xcb_window_t destination_window; /**< */
241 1.1 mrg uint8_t enable; /**< */
242 1.1 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.1 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.1 mrg uint8_t major_opcode; /**< */
260 1.1 mrg uint8_t minor_opcode; /**< */
261 1.1 mrg uint16_t length; /**< */
262 1.1 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.1 mrg uint8_t response_type; /**< */
270 1.1 mrg uint8_t enabled; /**< */
271 1.1 mrg uint16_t sequence; /**< */
272 1.1 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.1 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.1 mrg uint8_t major_opcode; /**< */
290 1.1 mrg uint8_t minor_opcode; /**< */
291 1.1 mrg uint16_t length; /**< */
292 1.1 mrg xcb_window_t window; /**< */
293 1.1 mrg xcb_shape_kind_t source_kind; /**< */
294 1.1 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.1 mrg uint8_t response_type; /**< */
302 1.1 mrg uint8_t ordering; /**< */
303 1.1 mrg uint16_t sequence; /**< */
304 1.1 mrg uint32_t length; /**< */
305 1.1 mrg uint32_t rectangles_len; /**< */
306 1.1 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.1 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.1 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.1 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.1 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.1 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.1 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.1 mrg xcb_shape_query_version_reply (xcb_connection_t *c /**< */,
396 1.1 mrg xcb_shape_query_version_cookie_t cookie /**< */,
397 1.1 mrg xcb_generic_error_t **e /**< */);
398 1.1 mrg
399 1.2 mrg int
400 1.2 mrg xcb_shape_rectangles_sizeof (const void *_buffer /**< */,
401 1.2 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.1 mrg xcb_shape_rectangles_checked (xcb_connection_t *c /**< */,
416 1.1 mrg xcb_shape_op_t operation /**< */,
417 1.1 mrg xcb_shape_kind_t destination_kind /**< */,
418 1.1 mrg uint8_t ordering /**< */,
419 1.1 mrg xcb_window_t destination_window /**< */,
420 1.1 mrg int16_t x_offset /**< */,
421 1.1 mrg int16_t y_offset /**< */,
422 1.1 mrg uint32_t rectangles_len /**< */,
423 1.1 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.1 mrg xcb_shape_rectangles (xcb_connection_t *c /**< */,
435 1.1 mrg xcb_shape_op_t operation /**< */,
436 1.1 mrg xcb_shape_kind_t destination_kind /**< */,
437 1.1 mrg uint8_t ordering /**< */,
438 1.1 mrg xcb_window_t destination_window /**< */,
439 1.1 mrg int16_t x_offset /**< */,
440 1.1 mrg int16_t y_offset /**< */,
441 1.1 mrg uint32_t rectangles_len /**< */,
442 1.1 mrg const xcb_rectangle_t *rectangles /**< */);
443 1.1 mrg
444 1.1 mrg /**
445 1.2 mrg *
446 1.1 mrg * @param c The connection
447 1.1 mrg * @return A cookie
448 1.1 mrg *
449 1.1 mrg * Delivers a request to the X server.
450 1.4 mrg *
451 1.1 mrg * This form can be used only if the request will not cause
452 1.1 mrg * a reply to be generated. Any returned error will be
453 1.1 mrg * saved for handling by xcb_request_check().
454 1.1 mrg */
455 1.1 mrg xcb_void_cookie_t
456 1.1 mrg xcb_shape_mask_checked (xcb_connection_t *c /**< */,
457 1.1 mrg xcb_shape_op_t operation /**< */,
458 1.1 mrg xcb_shape_kind_t destination_kind /**< */,
459 1.1 mrg xcb_window_t destination_window /**< */,
460 1.1 mrg int16_t x_offset /**< */,
461 1.1 mrg int16_t y_offset /**< */,
462 1.1 mrg xcb_pixmap_t source_bitmap /**< */);
463 1.1 mrg
464 1.1 mrg /**
465 1.2 mrg *
466 1.1 mrg * @param c The connection
467 1.1 mrg * @return A cookie
468 1.1 mrg *
469 1.1 mrg * Delivers a request to the X server.
470 1.4 mrg *
471 1.1 mrg */
472 1.1 mrg xcb_void_cookie_t
473 1.1 mrg xcb_shape_mask (xcb_connection_t *c /**< */,
474 1.1 mrg xcb_shape_op_t operation /**< */,
475 1.1 mrg xcb_shape_kind_t destination_kind /**< */,
476 1.1 mrg xcb_window_t destination_window /**< */,
477 1.1 mrg int16_t x_offset /**< */,
478 1.1 mrg int16_t y_offset /**< */,
479 1.1 mrg xcb_pixmap_t source_bitmap /**< */);
480 1.1 mrg
481 1.1 mrg /**
482 1.2 mrg *
483 1.1 mrg * @param c The connection
484 1.1 mrg * @return A cookie
485 1.1 mrg *
486 1.1 mrg * Delivers a request to the X server.
487 1.4 mrg *
488 1.1 mrg * This form can be used only if the request will not cause
489 1.1 mrg * a reply to be generated. Any returned error will be
490 1.1 mrg * saved for handling by xcb_request_check().
491 1.1 mrg */
492 1.1 mrg xcb_void_cookie_t
493 1.1 mrg xcb_shape_combine_checked (xcb_connection_t *c /**< */,
494 1.1 mrg xcb_shape_op_t operation /**< */,
495 1.1 mrg xcb_shape_kind_t destination_kind /**< */,
496 1.1 mrg xcb_shape_kind_t source_kind /**< */,
497 1.1 mrg xcb_window_t destination_window /**< */,
498 1.1 mrg int16_t x_offset /**< */,
499 1.1 mrg int16_t y_offset /**< */,
500 1.1 mrg xcb_window_t source_window /**< */);
501 1.1 mrg
502 1.1 mrg /**
503 1.2 mrg *
504 1.1 mrg * @param c The connection
505 1.1 mrg * @return A cookie
506 1.1 mrg *
507 1.1 mrg * Delivers a request to the X server.
508 1.4 mrg *
509 1.1 mrg */
510 1.1 mrg xcb_void_cookie_t
511 1.1 mrg xcb_shape_combine (xcb_connection_t *c /**< */,
512 1.1 mrg xcb_shape_op_t operation /**< */,
513 1.1 mrg xcb_shape_kind_t destination_kind /**< */,
514 1.1 mrg xcb_shape_kind_t source_kind /**< */,
515 1.1 mrg xcb_window_t destination_window /**< */,
516 1.1 mrg int16_t x_offset /**< */,
517 1.1 mrg int16_t y_offset /**< */,
518 1.1 mrg xcb_window_t source_window /**< */);
519 1.1 mrg
520 1.1 mrg /**
521 1.2 mrg *
522 1.1 mrg * @param c The connection
523 1.1 mrg * @return A cookie
524 1.1 mrg *
525 1.1 mrg * Delivers a request to the X server.
526 1.4 mrg *
527 1.1 mrg * This form can be used only if the request will not cause
528 1.1 mrg * a reply to be generated. Any returned error will be
529 1.1 mrg * saved for handling by xcb_request_check().
530 1.1 mrg */
531 1.1 mrg xcb_void_cookie_t
532 1.1 mrg xcb_shape_offset_checked (xcb_connection_t *c /**< */,
533 1.1 mrg xcb_shape_kind_t destination_kind /**< */,
534 1.1 mrg xcb_window_t destination_window /**< */,
535 1.1 mrg int16_t x_offset /**< */,
536 1.1 mrg int16_t y_offset /**< */);
537 1.1 mrg
538 1.1 mrg /**
539 1.2 mrg *
540 1.1 mrg * @param c The connection
541 1.1 mrg * @return A cookie
542 1.1 mrg *
543 1.1 mrg * Delivers a request to the X server.
544 1.4 mrg *
545 1.1 mrg */
546 1.1 mrg xcb_void_cookie_t
547 1.1 mrg xcb_shape_offset (xcb_connection_t *c /**< */,
548 1.1 mrg xcb_shape_kind_t destination_kind /**< */,
549 1.1 mrg xcb_window_t destination_window /**< */,
550 1.1 mrg int16_t x_offset /**< */,
551 1.1 mrg int16_t y_offset /**< */);
552 1.1 mrg
553 1.1 mrg /**
554 1.2 mrg *
555 1.1 mrg * @param c The connection
556 1.1 mrg * @return A cookie
557 1.1 mrg *
558 1.1 mrg * Delivers a request to the X server.
559 1.4 mrg *
560 1.1 mrg */
561 1.1 mrg xcb_shape_query_extents_cookie_t
562 1.1 mrg xcb_shape_query_extents (xcb_connection_t *c /**< */,
563 1.1 mrg xcb_window_t destination_window /**< */);
564 1.1 mrg
565 1.1 mrg /**
566 1.2 mrg *
567 1.1 mrg * @param c The connection
568 1.1 mrg * @return A cookie
569 1.1 mrg *
570 1.1 mrg * Delivers a request to the X server.
571 1.4 mrg *
572 1.1 mrg * This form can be used only if the request will cause
573 1.1 mrg * a reply to be generated. Any returned error will be
574 1.1 mrg * placed in the event queue.
575 1.1 mrg */
576 1.1 mrg xcb_shape_query_extents_cookie_t
577 1.1 mrg xcb_shape_query_extents_unchecked (xcb_connection_t *c /**< */,
578 1.1 mrg xcb_window_t destination_window /**< */);
579 1.1 mrg
580 1.1 mrg /**
581 1.1 mrg * Return the reply
582 1.1 mrg * @param c The connection
583 1.1 mrg * @param cookie The cookie
584 1.1 mrg * @param e The xcb_generic_error_t supplied
585 1.1 mrg *
586 1.1 mrg * Returns the reply of the request asked by
587 1.4 mrg *
588 1.1 mrg * The parameter @p e supplied to this function must be NULL if
589 1.1 mrg * xcb_shape_query_extents_unchecked(). is used.
590 1.1 mrg * Otherwise, it stores the error if any.
591 1.1 mrg *
592 1.1 mrg * The returned value must be freed by the caller using free().
593 1.1 mrg */
594 1.1 mrg xcb_shape_query_extents_reply_t *
595 1.1 mrg xcb_shape_query_extents_reply (xcb_connection_t *c /**< */,
596 1.1 mrg xcb_shape_query_extents_cookie_t cookie /**< */,
597 1.1 mrg xcb_generic_error_t **e /**< */);
598 1.1 mrg
599 1.1 mrg /**
600 1.2 mrg *
601 1.1 mrg * @param c The connection
602 1.1 mrg * @return A cookie
603 1.1 mrg *
604 1.1 mrg * Delivers a request to the X server.
605 1.4 mrg *
606 1.1 mrg * This form can be used only if the request will not cause
607 1.1 mrg * a reply to be generated. Any returned error will be
608 1.1 mrg * saved for handling by xcb_request_check().
609 1.1 mrg */
610 1.1 mrg xcb_void_cookie_t
611 1.1 mrg xcb_shape_select_input_checked (xcb_connection_t *c /**< */,
612 1.1 mrg xcb_window_t destination_window /**< */,
613 1.1 mrg uint8_t enable /**< */);
614 1.1 mrg
615 1.1 mrg /**
616 1.2 mrg *
617 1.1 mrg * @param c The connection
618 1.1 mrg * @return A cookie
619 1.1 mrg *
620 1.1 mrg * Delivers a request to the X server.
621 1.4 mrg *
622 1.1 mrg */
623 1.1 mrg xcb_void_cookie_t
624 1.1 mrg xcb_shape_select_input (xcb_connection_t *c /**< */,
625 1.1 mrg xcb_window_t destination_window /**< */,
626 1.1 mrg uint8_t enable /**< */);
627 1.1 mrg
628 1.1 mrg /**
629 1.2 mrg *
630 1.1 mrg * @param c The connection
631 1.1 mrg * @return A cookie
632 1.1 mrg *
633 1.1 mrg * Delivers a request to the X server.
634 1.4 mrg *
635 1.1 mrg */
636 1.1 mrg xcb_shape_input_selected_cookie_t
637 1.1 mrg xcb_shape_input_selected (xcb_connection_t *c /**< */,
638 1.1 mrg xcb_window_t destination_window /**< */);
639 1.1 mrg
640 1.1 mrg /**
641 1.2 mrg *
642 1.1 mrg * @param c The connection
643 1.1 mrg * @return A cookie
644 1.1 mrg *
645 1.1 mrg * Delivers a request to the X server.
646 1.4 mrg *
647 1.1 mrg * This form can be used only if the request will cause
648 1.1 mrg * a reply to be generated. Any returned error will be
649 1.1 mrg * placed in the event queue.
650 1.1 mrg */
651 1.1 mrg xcb_shape_input_selected_cookie_t
652 1.1 mrg xcb_shape_input_selected_unchecked (xcb_connection_t *c /**< */,
653 1.1 mrg xcb_window_t destination_window /**< */);
654 1.1 mrg
655 1.1 mrg /**
656 1.1 mrg * Return the reply
657 1.1 mrg * @param c The connection
658 1.1 mrg * @param cookie The cookie
659 1.1 mrg * @param e The xcb_generic_error_t supplied
660 1.1 mrg *
661 1.1 mrg * Returns the reply of the request asked by
662 1.4 mrg *
663 1.1 mrg * The parameter @p e supplied to this function must be NULL if
664 1.1 mrg * xcb_shape_input_selected_unchecked(). is used.
665 1.1 mrg * Otherwise, it stores the error if any.
666 1.1 mrg *
667 1.1 mrg * The returned value must be freed by the caller using free().
668 1.1 mrg */
669 1.1 mrg xcb_shape_input_selected_reply_t *
670 1.1 mrg xcb_shape_input_selected_reply (xcb_connection_t *c /**< */,
671 1.1 mrg xcb_shape_input_selected_cookie_t cookie /**< */,
672 1.1 mrg xcb_generic_error_t **e /**< */);
673 1.1 mrg
674 1.2 mrg int
675 1.2 mrg xcb_shape_get_rectangles_sizeof (const void *_buffer /**< */);
676 1.2 mrg
677 1.1 mrg /**
678 1.2 mrg *
679 1.1 mrg * @param c The connection
680 1.1 mrg * @return A cookie
681 1.1 mrg *
682 1.1 mrg * Delivers a request to the X server.
683 1.4 mrg *
684 1.1 mrg */
685 1.1 mrg xcb_shape_get_rectangles_cookie_t
686 1.1 mrg xcb_shape_get_rectangles (xcb_connection_t *c /**< */,
687 1.1 mrg xcb_window_t window /**< */,
688 1.1 mrg xcb_shape_kind_t source_kind /**< */);
689 1.1 mrg
690 1.1 mrg /**
691 1.2 mrg *
692 1.1 mrg * @param c The connection
693 1.1 mrg * @return A cookie
694 1.1 mrg *
695 1.1 mrg * Delivers a request to the X server.
696 1.4 mrg *
697 1.1 mrg * This form can be used only if the request will cause
698 1.1 mrg * a reply to be generated. Any returned error will be
699 1.1 mrg * placed in the event queue.
700 1.1 mrg */
701 1.1 mrg xcb_shape_get_rectangles_cookie_t
702 1.1 mrg xcb_shape_get_rectangles_unchecked (xcb_connection_t *c /**< */,
703 1.1 mrg xcb_window_t window /**< */,
704 1.1 mrg xcb_shape_kind_t source_kind /**< */);
705 1.1 mrg
706 1.1 mrg xcb_rectangle_t *
707 1.1 mrg xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R /**< */);
708 1.1 mrg
709 1.1 mrg int
710 1.1 mrg xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R /**< */);
711 1.1 mrg
712 1.1 mrg xcb_rectangle_iterator_t
713 1.1 mrg xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R /**< */);
714 1.1 mrg
715 1.1 mrg /**
716 1.1 mrg * Return the reply
717 1.1 mrg * @param c The connection
718 1.1 mrg * @param cookie The cookie
719 1.1 mrg * @param e The xcb_generic_error_t supplied
720 1.1 mrg *
721 1.1 mrg * Returns the reply of the request asked by
722 1.4 mrg *
723 1.1 mrg * The parameter @p e supplied to this function must be NULL if
724 1.1 mrg * xcb_shape_get_rectangles_unchecked(). is used.
725 1.1 mrg * Otherwise, it stores the error if any.
726 1.1 mrg *
727 1.1 mrg * The returned value must be freed by the caller using free().
728 1.1 mrg */
729 1.1 mrg xcb_shape_get_rectangles_reply_t *
730 1.1 mrg xcb_shape_get_rectangles_reply (xcb_connection_t *c /**< */,
731 1.1 mrg xcb_shape_get_rectangles_cookie_t cookie /**< */,
732 1.1 mrg xcb_generic_error_t **e /**< */);
733 1.1 mrg
734 1.1 mrg
735 1.1 mrg #ifdef __cplusplus
736 1.1 mrg }
737 1.1 mrg #endif
738 1.1 mrg
739 1.1 mrg #endif
740 1.1 mrg
741 1.1 mrg /**
742 1.1 mrg * @}
743 1.1 mrg */
744