xref: /netbsd-src/external/mit/xorg/lib/libxcb/files/damage.h (revision b7b7574d3bf8eeb51a1fa3977b59142ec6434a55)
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
22 extern "C" {
23 #endif
24 
25 #define XCB_DAMAGE_MAJOR_VERSION 1
26 #define XCB_DAMAGE_MINOR_VERSION 1
27 
28 extern xcb_extension_t xcb_damage_id;
29 
30 typedef uint32_t xcb_damage_damage_t;
31 
32 /**
33  * @brief xcb_damage_damage_iterator_t
34  **/
35 typedef 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 
41 typedef 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  **/
54 typedef 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  **/
63 typedef 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  **/
73 typedef 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  **/
84 typedef 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  **/
100 typedef 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  **/
116 typedef 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  **/
129 typedef 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  **/
144 typedef 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  **/
158 typedef 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 
187 void
188 xcb_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 
209 xcb_generic_iterator_t
210 xcb_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 
232 xcb_damage_query_version_cookie_t
233 xcb_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 
260 xcb_damage_query_version_cookie_t
261 xcb_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 
291 xcb_damage_query_version_reply_t *
292 xcb_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 
320 xcb_void_cookie_t
321 xcb_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 
347 xcb_void_cookie_t
348 xcb_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 
375 xcb_void_cookie_t
376 xcb_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 
398 xcb_void_cookie_t
399 xcb_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 
426 xcb_void_cookie_t
427 xcb_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 
453 xcb_void_cookie_t
454 xcb_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 
482 xcb_void_cookie_t
483 xcb_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 
507 xcb_void_cookie_t
508 xcb_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