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, 43 XCB_DAMAGE_REPORT_LEVEL_DELTA_RECTANGLES, 44 XCB_DAMAGE_REPORT_LEVEL_BOUNDING_BOX, 45 XCB_DAMAGE_REPORT_LEVEL_NON_EMPTY 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 * Delivers a request to the X server 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 * Delivers a request to the X server 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 * Delivers a request to the X server 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 * Delivers a request to the X server 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 * Delivers a request to the X server 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 * Delivers a request to the X server 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 * Delivers a request to the X server 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 * Delivers a request to the X server 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 * Delivers a request to the X server 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 * Delivers a request to the X server 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