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