1/*
2 * This file generated automatically from damage.xml by c_client.py.
3 * Edit at your peril.
4 */
5
6/**
7 * @defgroup XCB_Damage_API XCB Damage API
8 * @brief Damage XCB Protocol Implementation.
9 * @{
10 **/
11
12#ifndef __DAMAGE_H
13#define __DAMAGE_H
14
15#include "xcb.h"
16#include "xproto.h"
17#include "render.h"
18#include "shape.h"
19#include "xfixes.h"
20
21#ifdef __cplusplus
22extern "C" {
23#endif
24
25#define XCB_DAMAGE_MAJOR_VERSION 1
26#define XCB_DAMAGE_MINOR_VERSION 1
27
28extern xcb_extension_t xcb_damage_id;
29
30typedef uint32_t xcb_damage_damage_t;
31
32/**
33 * @brief xcb_damage_damage_iterator_t
34 **/
35typedef struct xcb_damage_damage_iterator_t {
36 xcb_damage_damage_t *data; /**< */
37 int rem; /**< */
38 int index; /**< */
39} xcb_damage_damage_iterator_t;
40
41typedef enum xcb_damage_report_level_t {
42 XCB_DAMAGE_REPORT_LEVEL_RAW_RECTANGLES = 0,
43 XCB_DAMAGE_REPORT_LEVEL_DELTA_RECTANGLES = 1,
44 XCB_DAMAGE_REPORT_LEVEL_BOUNDING_BOX = 2,
45 XCB_DAMAGE_REPORT_LEVEL_NON_EMPTY = 3
46} xcb_damage_report_level_t;
47
48/** Opcode for xcb_damage_bad_damage. */
49#define XCB_DAMAGE_BAD_DAMAGE 0
50
51/**
52 * @brief xcb_damage_bad_damage_error_t
53 **/
54typedef struct xcb_damage_bad_damage_error_t {
55 uint8_t response_type; /**< */
56 uint8_t error_code; /**< */
57 uint16_t sequence; /**< */
58} xcb_damage_bad_damage_error_t;
59
60/**
61 * @brief xcb_damage_query_version_cookie_t
62 **/
63typedef struct xcb_damage_query_version_cookie_t {
64 unsigned int sequence; /**< */
65} xcb_damage_query_version_cookie_t;
66
67/** Opcode for xcb_damage_query_version. */
68#define XCB_DAMAGE_QUERY_VERSION 0
69
70/**
71 * @brief xcb_damage_query_version_request_t
72 **/
73typedef struct xcb_damage_query_version_request_t {
74 uint8_t major_opcode; /**< */
75 uint8_t minor_opcode; /**< */
76 uint16_t length; /**< */
77 uint32_t client_major_version; /**< */
78 uint32_t client_minor_version; /**< */
79} xcb_damage_query_version_request_t;
80
81/**
82 * @brief xcb_damage_query_version_reply_t
83 **/
84typedef struct xcb_damage_query_version_reply_t {
85 uint8_t response_type; /**< */
86 uint8_t pad0; /**< */
87 uint16_t sequence; /**< */
88 uint32_t length; /**< */
89 uint32_t major_version; /**< */
90 uint32_t minor_version; /**< */
91 uint8_t pad1[16]; /**< */
92} xcb_damage_query_version_reply_t;
93
94/** Opcode for xcb_damage_create. */
95#define XCB_DAMAGE_CREATE 1
96
97/**
98 * @brief xcb_damage_create_request_t
99 **/
100typedef struct xcb_damage_create_request_t {
101 uint8_t major_opcode; /**< */
102 uint8_t minor_opcode; /**< */
103 uint16_t length; /**< */
104 xcb_damage_damage_t damage; /**< */
105 xcb_drawable_t drawable; /**< */
106 uint8_t level; /**< */
107 uint8_t pad0[3]; /**< */
108} xcb_damage_create_request_t;
109
110/** Opcode for xcb_damage_destroy. */
111#define XCB_DAMAGE_DESTROY 2
112
113/**
114 * @brief xcb_damage_destroy_request_t
115 **/
116typedef struct xcb_damage_destroy_request_t {
117 uint8_t major_opcode; /**< */
118 uint8_t minor_opcode; /**< */
119 uint16_t length; /**< */
120 xcb_damage_damage_t damage; /**< */
121} xcb_damage_destroy_request_t;
122
123/** Opcode for xcb_damage_subtract. */
124#define XCB_DAMAGE_SUBTRACT 3
125
126/**
127 * @brief xcb_damage_subtract_request_t
128 **/
129typedef struct xcb_damage_subtract_request_t {
130 uint8_t major_opcode; /**< */
131 uint8_t minor_opcode; /**< */
132 uint16_t length; /**< */
133 xcb_damage_damage_t damage; /**< */
134 xcb_xfixes_region_t repair; /**< */
135 xcb_xfixes_region_t parts; /**< */
136} xcb_damage_subtract_request_t;
137
138/** Opcode for xcb_damage_add. */
139#define XCB_DAMAGE_ADD 4
140
141/**
142 * @brief xcb_damage_add_request_t
143 **/
144typedef struct xcb_damage_add_request_t {
145 uint8_t major_opcode; /**< */
146 uint8_t minor_opcode; /**< */
147 uint16_t length; /**< */
148 xcb_drawable_t drawable; /**< */
149 xcb_xfixes_region_t region; /**< */
150} xcb_damage_add_request_t;
151
152/** Opcode for xcb_damage_notify. */
153#define XCB_DAMAGE_NOTIFY 0
154
155/**
156 * @brief xcb_damage_notify_event_t
157 **/
158typedef struct xcb_damage_notify_event_t {
159 uint8_t response_type; /**< */
160 uint8_t level; /**< */
161 uint16_t sequence; /**< */
162 xcb_drawable_t drawable; /**< */
163 xcb_damage_damage_t damage; /**< */
164 xcb_timestamp_t timestamp; /**< */
165 xcb_rectangle_t area; /**< */
166 xcb_rectangle_t geometry; /**< */
167} xcb_damage_notify_event_t;
168
169/**
170 * Get the next element of the iterator
171 * @param i Pointer to a xcb_damage_damage_iterator_t
172 *
173 * Get the next element in the iterator. The member rem is
174 * decreased by one. The member data points to the next
175 * element. The member index is increased by sizeof(xcb_damage_damage_t)
176 */
177
178/*****************************************************************************
179 **
180 ** void xcb_damage_damage_next
181 **
182 ** @param xcb_damage_damage_iterator_t *i
183 ** @returns void
184 **
185 *****************************************************************************/
186
187void
188xcb_damage_damage_next (xcb_damage_damage_iterator_t *i /**< */);
189
190/**
191 * Return the iterator pointing to the last element
192 * @param i An xcb_damage_damage_iterator_t
193 * @return The iterator pointing to the last element
194 *
195 * Set the current element in the iterator to the last element.
196 * The member rem is set to 0. The member data points to the
197 * last element.
198 */
199
200/*****************************************************************************
201 **
202 ** xcb_generic_iterator_t xcb_damage_damage_end
203 **
204 ** @param xcb_damage_damage_iterator_t i
205 ** @returns xcb_generic_iterator_t
206 **
207 *****************************************************************************/
208
209xcb_generic_iterator_t
210xcb_damage_damage_end (xcb_damage_damage_iterator_t i /**< */);
211
212/**
213 *
214 * @param c The connection
215 * @return A cookie
216 *
217 * Delivers a request to the X server.
218 *
219 */
220
221/*****************************************************************************
222 **
223 ** xcb_damage_query_version_cookie_t xcb_damage_query_version
224 **
225 ** @param xcb_connection_t *c
226 ** @param uint32_t client_major_version
227 ** @param uint32_t client_minor_version
228 ** @returns xcb_damage_query_version_cookie_t
229 **
230 *****************************************************************************/
231
232xcb_damage_query_version_cookie_t
233xcb_damage_query_version (xcb_connection_t *c /**< */,
234 uint32_t client_major_version /**< */,
235 uint32_t client_minor_version /**< */);
236
237/**
238 *
239 * @param c The connection
240 * @return A cookie
241 *
242 * Delivers a request to the X server.
243 *
244 * This form can be used only if the request will cause
245 * a reply to be generated. Any returned error will be
246 * placed in the event queue.
247 */
248
249/*****************************************************************************
250 **
251 ** xcb_damage_query_version_cookie_t xcb_damage_query_version_unchecked
252 **
253 ** @param xcb_connection_t *c
254 ** @param uint32_t client_major_version
255 ** @param uint32_t client_minor_version
256 ** @returns xcb_damage_query_version_cookie_t
257 **
258 *****************************************************************************/
259
260xcb_damage_query_version_cookie_t
261xcb_damage_query_version_unchecked (xcb_connection_t *c /**< */,
262 uint32_t client_major_version /**< */,
263 uint32_t client_minor_version /**< */);
264
265/**
266 * Return the reply
267 * @param c The connection
268 * @param cookie The cookie
269 * @param e The xcb_generic_error_t supplied
270 *
271 * Returns the reply of the request asked by
272 *
273 * The parameter @p e supplied to this function must be NULL if
274 * xcb_damage_query_version_unchecked(). is used.
275 * Otherwise, it stores the error if any.
276 *
277 * The returned value must be freed by the caller using free().
278 */
279
280/*****************************************************************************
281 **
282 ** xcb_damage_query_version_reply_t * xcb_damage_query_version_reply
283 **
284 ** @param xcb_connection_t *c
285 ** @param xcb_damage_query_version_cookie_t cookie
286 ** @param xcb_generic_error_t **e
287 ** @returns xcb_damage_query_version_reply_t *
288 **
289 *****************************************************************************/
290
291xcb_damage_query_version_reply_t *
292xcb_damage_query_version_reply (xcb_connection_t *c /**< */,
293 xcb_damage_query_version_cookie_t cookie /**< */,
294 xcb_generic_error_t **e /**< */);
295
296/**
297 *
298 * @param c The connection
299 * @return A cookie
300 *
301 * Delivers a request to the X server.
302 *
303 * This form can be used only if the request will not cause
304 * a reply to be generated. Any returned error will be
305 * saved for handling by xcb_request_check().
306 */
307
308/*****************************************************************************
309 **
310 ** xcb_void_cookie_t xcb_damage_create_checked
311 **
312 ** @param xcb_connection_t *c
313 ** @param xcb_damage_damage_t damage
314 ** @param xcb_drawable_t drawable
315 ** @param uint8_t level
316 ** @returns xcb_void_cookie_t
317 **
318 *****************************************************************************/
319
320xcb_void_cookie_t
321xcb_damage_create_checked (xcb_connection_t *c /**< */,
322 xcb_damage_damage_t damage /**< */,
323 xcb_drawable_t drawable /**< */,
324 uint8_t level /**< */);
325
326/**
327 *
328 * @param c The connection
329 * @return A cookie
330 *
331 * Delivers a request to the X server.
332 *
333 */
334
335/*****************************************************************************
336 **
337 ** xcb_void_cookie_t xcb_damage_create
338 **
339 ** @param xcb_connection_t *c
340 ** @param xcb_damage_damage_t damage
341 ** @param xcb_drawable_t drawable
342 ** @param uint8_t level
343 ** @returns xcb_void_cookie_t
344 **
345 *****************************************************************************/
346
347xcb_void_cookie_t
348xcb_damage_create (xcb_connection_t *c /**< */,
349 xcb_damage_damage_t damage /**< */,
350 xcb_drawable_t drawable /**< */,
351 uint8_t level /**< */);
352
353/**
354 *
355 * @param c The connection
356 * @return A cookie
357 *
358 * Delivers a request to the X server.
359 *
360 * This form can be used only if the request will not cause
361 * a reply to be generated. Any returned error will be
362 * saved for handling by xcb_request_check().
363 */
364
365/*****************************************************************************
366 **
367 ** xcb_void_cookie_t xcb_damage_destroy_checked
368 **
369 ** @param xcb_connection_t *c
370 ** @param xcb_damage_damage_t damage
371 ** @returns xcb_void_cookie_t
372 **
373 *****************************************************************************/
374
375xcb_void_cookie_t
376xcb_damage_destroy_checked (xcb_connection_t *c /**< */,
377 xcb_damage_damage_t damage /**< */);
378
379/**
380 *
381 * @param c The connection
382 * @return A cookie
383 *
384 * Delivers a request to the X server.
385 *
386 */
387
388/*****************************************************************************
389 **
390 ** xcb_void_cookie_t xcb_damage_destroy
391 **
392 ** @param xcb_connection_t *c
393 ** @param xcb_damage_damage_t damage
394 ** @returns xcb_void_cookie_t
395 **
396 *****************************************************************************/
397
398xcb_void_cookie_t
399xcb_damage_destroy (xcb_connection_t *c /**< */,
400 xcb_damage_damage_t damage /**< */);
401
402/**
403 *
404 * @param c The connection
405 * @return A cookie
406 *
407 * Delivers a request to the X server.
408 *
409 * This form can be used only if the request will not cause
410 * a reply to be generated. Any returned error will be
411 * saved for handling by xcb_request_check().
412 */
413
414/*****************************************************************************
415 **
416 ** xcb_void_cookie_t xcb_damage_subtract_checked
417 **
418 ** @param xcb_connection_t *c
419 ** @param xcb_damage_damage_t damage
420 ** @param xcb_xfixes_region_t repair
421 ** @param xcb_xfixes_region_t parts
422 ** @returns xcb_void_cookie_t
423 **
424 *****************************************************************************/
425
426xcb_void_cookie_t
427xcb_damage_subtract_checked (xcb_connection_t *c /**< */,
428 xcb_damage_damage_t damage /**< */,
429 xcb_xfixes_region_t repair /**< */,
430 xcb_xfixes_region_t parts /**< */);
431
432/**
433 *
434 * @param c The connection
435 * @return A cookie
436 *
437 * Delivers a request to the X server.
438 *
439 */
440
441/*****************************************************************************
442 **
443 ** xcb_void_cookie_t xcb_damage_subtract
444 **
445 ** @param xcb_connection_t *c
446 ** @param xcb_damage_damage_t damage
447 ** @param xcb_xfixes_region_t repair
448 ** @param xcb_xfixes_region_t parts
449 ** @returns xcb_void_cookie_t
450 **
451 *****************************************************************************/
452
453xcb_void_cookie_t
454xcb_damage_subtract (xcb_connection_t *c /**< */,
455 xcb_damage_damage_t damage /**< */,
456 xcb_xfixes_region_t repair /**< */,
457 xcb_xfixes_region_t parts /**< */);
458
459/**
460 *
461 * @param c The connection
462 * @return A cookie
463 *
464 * Delivers a request to the X server.
465 *
466 * This form can be used only if the request will not cause
467 * a reply to be generated. Any returned error will be
468 * saved for handling by xcb_request_check().
469 */
470
471/*****************************************************************************
472 **
473 ** xcb_void_cookie_t xcb_damage_add_checked
474 **
475 ** @param xcb_connection_t *c
476 ** @param xcb_drawable_t drawable
477 ** @param xcb_xfixes_region_t region
478 ** @returns xcb_void_cookie_t
479 **
480 *****************************************************************************/
481
482xcb_void_cookie_t
483xcb_damage_add_checked (xcb_connection_t *c /**< */,
484 xcb_drawable_t drawable /**< */,
485 xcb_xfixes_region_t region /**< */);
486
487/**
488 *
489 * @param c The connection
490 * @return A cookie
491 *
492 * Delivers a request to the X server.
493 *
494 */
495
496/*****************************************************************************
497 **
498 ** xcb_void_cookie_t xcb_damage_add
499 **
500 ** @param xcb_connection_t *c
501 ** @param xcb_drawable_t drawable
502 ** @param xcb_xfixes_region_t region
503 ** @returns xcb_void_cookie_t
504 **
505 *****************************************************************************/
506
507xcb_void_cookie_t
508xcb_damage_add (xcb_connection_t *c /**< */,
509 xcb_drawable_t drawable /**< */,
510 xcb_xfixes_region_t region /**< */);
511
512
513#ifdef __cplusplus
514}
515#endif
516
517#endif
518
519/**
520 * @}
521 */
522