github.com/rajveermalviya/gamen@v0.1.2-0.20220930195403-9be15877c1aa/internal/xkbcommon/include/xcb/shape.h (about) 1 /* 2 * This file generated automatically from shape.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6 /** 7 * @defgroup XCB_Shape_API XCB Shape API 8 * @brief Shape XCB Protocol Implementation. 9 * @{ 10 **/ 11 12 #ifndef __SHAPE_H 13 #define __SHAPE_H 14 15 #include "xcb.h" 16 #include "xproto.h" 17 18 #ifdef __cplusplus 19 extern "C" { 20 #endif 21 22 #define XCB_SHAPE_MAJOR_VERSION 1 23 #define XCB_SHAPE_MINOR_VERSION 1 24 25 extern xcb_extension_t xcb_shape_id; 26 27 typedef uint8_t xcb_shape_op_t; 28 29 /** 30 * @brief xcb_shape_op_iterator_t 31 **/ 32 typedef struct xcb_shape_op_iterator_t { 33 xcb_shape_op_t *data; 34 int rem; 35 int index; 36 } xcb_shape_op_iterator_t; 37 38 typedef uint8_t xcb_shape_kind_t; 39 40 /** 41 * @brief xcb_shape_kind_iterator_t 42 **/ 43 typedef struct xcb_shape_kind_iterator_t { 44 xcb_shape_kind_t *data; 45 int rem; 46 int index; 47 } xcb_shape_kind_iterator_t; 48 49 typedef enum xcb_shape_so_t { 50 XCB_SHAPE_SO_SET = 0, 51 XCB_SHAPE_SO_UNION = 1, 52 XCB_SHAPE_SO_INTERSECT = 2, 53 XCB_SHAPE_SO_SUBTRACT = 3, 54 XCB_SHAPE_SO_INVERT = 4 55 } xcb_shape_so_t; 56 57 typedef enum xcb_shape_sk_t { 58 XCB_SHAPE_SK_BOUNDING = 0, 59 XCB_SHAPE_SK_CLIP = 1, 60 XCB_SHAPE_SK_INPUT = 2 61 } xcb_shape_sk_t; 62 63 /** Opcode for xcb_shape_notify. */ 64 #define XCB_SHAPE_NOTIFY 0 65 66 /** 67 * @brief xcb_shape_notify_event_t 68 **/ 69 typedef struct xcb_shape_notify_event_t { 70 uint8_t response_type; 71 xcb_shape_kind_t shape_kind; 72 uint16_t sequence; 73 xcb_window_t affected_window; 74 int16_t extents_x; 75 int16_t extents_y; 76 uint16_t extents_width; 77 uint16_t extents_height; 78 xcb_timestamp_t server_time; 79 uint8_t shaped; 80 uint8_t pad0[11]; 81 } xcb_shape_notify_event_t; 82 83 /** 84 * @brief xcb_shape_query_version_cookie_t 85 **/ 86 typedef struct xcb_shape_query_version_cookie_t { 87 unsigned int sequence; 88 } xcb_shape_query_version_cookie_t; 89 90 /** Opcode for xcb_shape_query_version. */ 91 #define XCB_SHAPE_QUERY_VERSION 0 92 93 /** 94 * @brief xcb_shape_query_version_request_t 95 **/ 96 typedef struct xcb_shape_query_version_request_t { 97 uint8_t major_opcode; 98 uint8_t minor_opcode; 99 uint16_t length; 100 } xcb_shape_query_version_request_t; 101 102 /** 103 * @brief xcb_shape_query_version_reply_t 104 **/ 105 typedef struct xcb_shape_query_version_reply_t { 106 uint8_t response_type; 107 uint8_t pad0; 108 uint16_t sequence; 109 uint32_t length; 110 uint16_t major_version; 111 uint16_t minor_version; 112 } xcb_shape_query_version_reply_t; 113 114 /** Opcode for xcb_shape_rectangles. */ 115 #define XCB_SHAPE_RECTANGLES 1 116 117 /** 118 * @brief xcb_shape_rectangles_request_t 119 **/ 120 typedef struct xcb_shape_rectangles_request_t { 121 uint8_t major_opcode; 122 uint8_t minor_opcode; 123 uint16_t length; 124 xcb_shape_op_t operation; 125 xcb_shape_kind_t destination_kind; 126 uint8_t ordering; 127 uint8_t pad0; 128 xcb_window_t destination_window; 129 int16_t x_offset; 130 int16_t y_offset; 131 } xcb_shape_rectangles_request_t; 132 133 /** Opcode for xcb_shape_mask. */ 134 #define XCB_SHAPE_MASK 2 135 136 /** 137 * @brief xcb_shape_mask_request_t 138 **/ 139 typedef struct xcb_shape_mask_request_t { 140 uint8_t major_opcode; 141 uint8_t minor_opcode; 142 uint16_t length; 143 xcb_shape_op_t operation; 144 xcb_shape_kind_t destination_kind; 145 uint8_t pad0[2]; 146 xcb_window_t destination_window; 147 int16_t x_offset; 148 int16_t y_offset; 149 xcb_pixmap_t source_bitmap; 150 } xcb_shape_mask_request_t; 151 152 /** Opcode for xcb_shape_combine. */ 153 #define XCB_SHAPE_COMBINE 3 154 155 /** 156 * @brief xcb_shape_combine_request_t 157 **/ 158 typedef struct xcb_shape_combine_request_t { 159 uint8_t major_opcode; 160 uint8_t minor_opcode; 161 uint16_t length; 162 xcb_shape_op_t operation; 163 xcb_shape_kind_t destination_kind; 164 xcb_shape_kind_t source_kind; 165 uint8_t pad0; 166 xcb_window_t destination_window; 167 int16_t x_offset; 168 int16_t y_offset; 169 xcb_window_t source_window; 170 } xcb_shape_combine_request_t; 171 172 /** Opcode for xcb_shape_offset. */ 173 #define XCB_SHAPE_OFFSET 4 174 175 /** 176 * @brief xcb_shape_offset_request_t 177 **/ 178 typedef struct xcb_shape_offset_request_t { 179 uint8_t major_opcode; 180 uint8_t minor_opcode; 181 uint16_t length; 182 xcb_shape_kind_t destination_kind; 183 uint8_t pad0[3]; 184 xcb_window_t destination_window; 185 int16_t x_offset; 186 int16_t y_offset; 187 } xcb_shape_offset_request_t; 188 189 /** 190 * @brief xcb_shape_query_extents_cookie_t 191 **/ 192 typedef struct xcb_shape_query_extents_cookie_t { 193 unsigned int sequence; 194 } xcb_shape_query_extents_cookie_t; 195 196 /** Opcode for xcb_shape_query_extents. */ 197 #define XCB_SHAPE_QUERY_EXTENTS 5 198 199 /** 200 * @brief xcb_shape_query_extents_request_t 201 **/ 202 typedef struct xcb_shape_query_extents_request_t { 203 uint8_t major_opcode; 204 uint8_t minor_opcode; 205 uint16_t length; 206 xcb_window_t destination_window; 207 } xcb_shape_query_extents_request_t; 208 209 /** 210 * @brief xcb_shape_query_extents_reply_t 211 **/ 212 typedef struct xcb_shape_query_extents_reply_t { 213 uint8_t response_type; 214 uint8_t pad0; 215 uint16_t sequence; 216 uint32_t length; 217 uint8_t bounding_shaped; 218 uint8_t clip_shaped; 219 uint8_t pad1[2]; 220 int16_t bounding_shape_extents_x; 221 int16_t bounding_shape_extents_y; 222 uint16_t bounding_shape_extents_width; 223 uint16_t bounding_shape_extents_height; 224 int16_t clip_shape_extents_x; 225 int16_t clip_shape_extents_y; 226 uint16_t clip_shape_extents_width; 227 uint16_t clip_shape_extents_height; 228 } xcb_shape_query_extents_reply_t; 229 230 /** Opcode for xcb_shape_select_input. */ 231 #define XCB_SHAPE_SELECT_INPUT 6 232 233 /** 234 * @brief xcb_shape_select_input_request_t 235 **/ 236 typedef struct xcb_shape_select_input_request_t { 237 uint8_t major_opcode; 238 uint8_t minor_opcode; 239 uint16_t length; 240 xcb_window_t destination_window; 241 uint8_t enable; 242 uint8_t pad0[3]; 243 } xcb_shape_select_input_request_t; 244 245 /** 246 * @brief xcb_shape_input_selected_cookie_t 247 **/ 248 typedef struct xcb_shape_input_selected_cookie_t { 249 unsigned int sequence; 250 } xcb_shape_input_selected_cookie_t; 251 252 /** Opcode for xcb_shape_input_selected. */ 253 #define XCB_SHAPE_INPUT_SELECTED 7 254 255 /** 256 * @brief xcb_shape_input_selected_request_t 257 **/ 258 typedef struct xcb_shape_input_selected_request_t { 259 uint8_t major_opcode; 260 uint8_t minor_opcode; 261 uint16_t length; 262 xcb_window_t destination_window; 263 } xcb_shape_input_selected_request_t; 264 265 /** 266 * @brief xcb_shape_input_selected_reply_t 267 **/ 268 typedef struct xcb_shape_input_selected_reply_t { 269 uint8_t response_type; 270 uint8_t enabled; 271 uint16_t sequence; 272 uint32_t length; 273 } xcb_shape_input_selected_reply_t; 274 275 /** 276 * @brief xcb_shape_get_rectangles_cookie_t 277 **/ 278 typedef struct xcb_shape_get_rectangles_cookie_t { 279 unsigned int sequence; 280 } xcb_shape_get_rectangles_cookie_t; 281 282 /** Opcode for xcb_shape_get_rectangles. */ 283 #define XCB_SHAPE_GET_RECTANGLES 8 284 285 /** 286 * @brief xcb_shape_get_rectangles_request_t 287 **/ 288 typedef struct xcb_shape_get_rectangles_request_t { 289 uint8_t major_opcode; 290 uint8_t minor_opcode; 291 uint16_t length; 292 xcb_window_t window; 293 xcb_shape_kind_t source_kind; 294 uint8_t pad0[3]; 295 } xcb_shape_get_rectangles_request_t; 296 297 /** 298 * @brief xcb_shape_get_rectangles_reply_t 299 **/ 300 typedef struct xcb_shape_get_rectangles_reply_t { 301 uint8_t response_type; 302 uint8_t ordering; 303 uint16_t sequence; 304 uint32_t length; 305 uint32_t rectangles_len; 306 uint8_t pad0[20]; 307 } xcb_shape_get_rectangles_reply_t; 308 309 /** 310 * Get the next element of the iterator 311 * @param i Pointer to a xcb_shape_op_iterator_t 312 * 313 * Get the next element in the iterator. The member rem is 314 * decreased by one. The member data points to the next 315 * element. The member index is increased by sizeof(xcb_shape_op_t) 316 */ 317 void 318 xcb_shape_op_next (xcb_shape_op_iterator_t *i); 319 320 /** 321 * Return the iterator pointing to the last element 322 * @param i An xcb_shape_op_iterator_t 323 * @return The iterator pointing to the last element 324 * 325 * Set the current element in the iterator to the last element. 326 * The member rem is set to 0. The member data points to the 327 * last element. 328 */ 329 xcb_generic_iterator_t 330 xcb_shape_op_end (xcb_shape_op_iterator_t i); 331 332 /** 333 * Get the next element of the iterator 334 * @param i Pointer to a xcb_shape_kind_iterator_t 335 * 336 * Get the next element in the iterator. The member rem is 337 * decreased by one. The member data points to the next 338 * element. The member index is increased by sizeof(xcb_shape_kind_t) 339 */ 340 void 341 xcb_shape_kind_next (xcb_shape_kind_iterator_t *i); 342 343 /** 344 * Return the iterator pointing to the last element 345 * @param i An xcb_shape_kind_iterator_t 346 * @return The iterator pointing to the last element 347 * 348 * Set the current element in the iterator to the last element. 349 * The member rem is set to 0. The member data points to the 350 * last element. 351 */ 352 xcb_generic_iterator_t 353 xcb_shape_kind_end (xcb_shape_kind_iterator_t i); 354 355 /** 356 * 357 * @param c The connection 358 * @return A cookie 359 * 360 * Delivers a request to the X server. 361 * 362 */ 363 xcb_shape_query_version_cookie_t 364 xcb_shape_query_version (xcb_connection_t *c); 365 366 /** 367 * 368 * @param c The connection 369 * @return A cookie 370 * 371 * Delivers a request to the X server. 372 * 373 * This form can be used only if the request will cause 374 * a reply to be generated. Any returned error will be 375 * placed in the event queue. 376 */ 377 xcb_shape_query_version_cookie_t 378 xcb_shape_query_version_unchecked (xcb_connection_t *c); 379 380 /** 381 * Return the reply 382 * @param c The connection 383 * @param cookie The cookie 384 * @param e The xcb_generic_error_t supplied 385 * 386 * Returns the reply of the request asked by 387 * 388 * The parameter @p e supplied to this function must be NULL if 389 * xcb_shape_query_version_unchecked(). is used. 390 * Otherwise, it stores the error if any. 391 * 392 * The returned value must be freed by the caller using free(). 393 */ 394 xcb_shape_query_version_reply_t * 395 xcb_shape_query_version_reply (xcb_connection_t *c, 396 xcb_shape_query_version_cookie_t cookie /**< */, 397 xcb_generic_error_t **e); 398 399 int 400 xcb_shape_rectangles_sizeof (const void *_buffer, 401 uint32_t rectangles_len); 402 403 /** 404 * 405 * @param c The connection 406 * @return A cookie 407 * 408 * Delivers a request to the X server. 409 * 410 * This form can be used only if the request will not cause 411 * a reply to be generated. Any returned error will be 412 * saved for handling by xcb_request_check(). 413 */ 414 xcb_void_cookie_t 415 xcb_shape_rectangles_checked (xcb_connection_t *c, 416 xcb_shape_op_t operation, 417 xcb_shape_kind_t destination_kind, 418 uint8_t ordering, 419 xcb_window_t destination_window, 420 int16_t x_offset, 421 int16_t y_offset, 422 uint32_t rectangles_len, 423 const xcb_rectangle_t *rectangles); 424 425 /** 426 * 427 * @param c The connection 428 * @return A cookie 429 * 430 * Delivers a request to the X server. 431 * 432 */ 433 xcb_void_cookie_t 434 xcb_shape_rectangles (xcb_connection_t *c, 435 xcb_shape_op_t operation, 436 xcb_shape_kind_t destination_kind, 437 uint8_t ordering, 438 xcb_window_t destination_window, 439 int16_t x_offset, 440 int16_t y_offset, 441 uint32_t rectangles_len, 442 const xcb_rectangle_t *rectangles); 443 444 xcb_rectangle_t * 445 xcb_shape_rectangles_rectangles (const xcb_shape_rectangles_request_t *R); 446 447 int 448 xcb_shape_rectangles_rectangles_length (const xcb_shape_rectangles_request_t *R); 449 450 xcb_rectangle_iterator_t 451 xcb_shape_rectangles_rectangles_iterator (const xcb_shape_rectangles_request_t *R); 452 453 /** 454 * 455 * @param c The connection 456 * @return A cookie 457 * 458 * Delivers a request to the X server. 459 * 460 * This form can be used only if the request will not cause 461 * a reply to be generated. Any returned error will be 462 * saved for handling by xcb_request_check(). 463 */ 464 xcb_void_cookie_t 465 xcb_shape_mask_checked (xcb_connection_t *c, 466 xcb_shape_op_t operation, 467 xcb_shape_kind_t destination_kind, 468 xcb_window_t destination_window, 469 int16_t x_offset, 470 int16_t y_offset, 471 xcb_pixmap_t source_bitmap); 472 473 /** 474 * 475 * @param c The connection 476 * @return A cookie 477 * 478 * Delivers a request to the X server. 479 * 480 */ 481 xcb_void_cookie_t 482 xcb_shape_mask (xcb_connection_t *c, 483 xcb_shape_op_t operation, 484 xcb_shape_kind_t destination_kind, 485 xcb_window_t destination_window, 486 int16_t x_offset, 487 int16_t y_offset, 488 xcb_pixmap_t source_bitmap); 489 490 /** 491 * 492 * @param c The connection 493 * @return A cookie 494 * 495 * Delivers a request to the X server. 496 * 497 * This form can be used only if the request will not cause 498 * a reply to be generated. Any returned error will be 499 * saved for handling by xcb_request_check(). 500 */ 501 xcb_void_cookie_t 502 xcb_shape_combine_checked (xcb_connection_t *c, 503 xcb_shape_op_t operation, 504 xcb_shape_kind_t destination_kind, 505 xcb_shape_kind_t source_kind, 506 xcb_window_t destination_window, 507 int16_t x_offset, 508 int16_t y_offset, 509 xcb_window_t source_window); 510 511 /** 512 * 513 * @param c The connection 514 * @return A cookie 515 * 516 * Delivers a request to the X server. 517 * 518 */ 519 xcb_void_cookie_t 520 xcb_shape_combine (xcb_connection_t *c, 521 xcb_shape_op_t operation, 522 xcb_shape_kind_t destination_kind, 523 xcb_shape_kind_t source_kind, 524 xcb_window_t destination_window, 525 int16_t x_offset, 526 int16_t y_offset, 527 xcb_window_t source_window); 528 529 /** 530 * 531 * @param c The connection 532 * @return A cookie 533 * 534 * Delivers a request to the X server. 535 * 536 * This form can be used only if the request will not cause 537 * a reply to be generated. Any returned error will be 538 * saved for handling by xcb_request_check(). 539 */ 540 xcb_void_cookie_t 541 xcb_shape_offset_checked (xcb_connection_t *c, 542 xcb_shape_kind_t destination_kind, 543 xcb_window_t destination_window, 544 int16_t x_offset, 545 int16_t y_offset); 546 547 /** 548 * 549 * @param c The connection 550 * @return A cookie 551 * 552 * Delivers a request to the X server. 553 * 554 */ 555 xcb_void_cookie_t 556 xcb_shape_offset (xcb_connection_t *c, 557 xcb_shape_kind_t destination_kind, 558 xcb_window_t destination_window, 559 int16_t x_offset, 560 int16_t y_offset); 561 562 /** 563 * 564 * @param c The connection 565 * @return A cookie 566 * 567 * Delivers a request to the X server. 568 * 569 */ 570 xcb_shape_query_extents_cookie_t 571 xcb_shape_query_extents (xcb_connection_t *c, 572 xcb_window_t destination_window); 573 574 /** 575 * 576 * @param c The connection 577 * @return A cookie 578 * 579 * Delivers a request to the X server. 580 * 581 * This form can be used only if the request will cause 582 * a reply to be generated. Any returned error will be 583 * placed in the event queue. 584 */ 585 xcb_shape_query_extents_cookie_t 586 xcb_shape_query_extents_unchecked (xcb_connection_t *c, 587 xcb_window_t destination_window); 588 589 /** 590 * Return the reply 591 * @param c The connection 592 * @param cookie The cookie 593 * @param e The xcb_generic_error_t supplied 594 * 595 * Returns the reply of the request asked by 596 * 597 * The parameter @p e supplied to this function must be NULL if 598 * xcb_shape_query_extents_unchecked(). is used. 599 * Otherwise, it stores the error if any. 600 * 601 * The returned value must be freed by the caller using free(). 602 */ 603 xcb_shape_query_extents_reply_t * 604 xcb_shape_query_extents_reply (xcb_connection_t *c, 605 xcb_shape_query_extents_cookie_t cookie /**< */, 606 xcb_generic_error_t **e); 607 608 /** 609 * 610 * @param c The connection 611 * @return A cookie 612 * 613 * Delivers a request to the X server. 614 * 615 * This form can be used only if the request will not cause 616 * a reply to be generated. Any returned error will be 617 * saved for handling by xcb_request_check(). 618 */ 619 xcb_void_cookie_t 620 xcb_shape_select_input_checked (xcb_connection_t *c, 621 xcb_window_t destination_window, 622 uint8_t enable); 623 624 /** 625 * 626 * @param c The connection 627 * @return A cookie 628 * 629 * Delivers a request to the X server. 630 * 631 */ 632 xcb_void_cookie_t 633 xcb_shape_select_input (xcb_connection_t *c, 634 xcb_window_t destination_window, 635 uint8_t enable); 636 637 /** 638 * 639 * @param c The connection 640 * @return A cookie 641 * 642 * Delivers a request to the X server. 643 * 644 */ 645 xcb_shape_input_selected_cookie_t 646 xcb_shape_input_selected (xcb_connection_t *c, 647 xcb_window_t destination_window); 648 649 /** 650 * 651 * @param c The connection 652 * @return A cookie 653 * 654 * Delivers a request to the X server. 655 * 656 * This form can be used only if the request will cause 657 * a reply to be generated. Any returned error will be 658 * placed in the event queue. 659 */ 660 xcb_shape_input_selected_cookie_t 661 xcb_shape_input_selected_unchecked (xcb_connection_t *c, 662 xcb_window_t destination_window); 663 664 /** 665 * Return the reply 666 * @param c The connection 667 * @param cookie The cookie 668 * @param e The xcb_generic_error_t supplied 669 * 670 * Returns the reply of the request asked by 671 * 672 * The parameter @p e supplied to this function must be NULL if 673 * xcb_shape_input_selected_unchecked(). is used. 674 * Otherwise, it stores the error if any. 675 * 676 * The returned value must be freed by the caller using free(). 677 */ 678 xcb_shape_input_selected_reply_t * 679 xcb_shape_input_selected_reply (xcb_connection_t *c, 680 xcb_shape_input_selected_cookie_t cookie /**< */, 681 xcb_generic_error_t **e); 682 683 int 684 xcb_shape_get_rectangles_sizeof (const void *_buffer); 685 686 /** 687 * 688 * @param c The connection 689 * @return A cookie 690 * 691 * Delivers a request to the X server. 692 * 693 */ 694 xcb_shape_get_rectangles_cookie_t 695 xcb_shape_get_rectangles (xcb_connection_t *c, 696 xcb_window_t window, 697 xcb_shape_kind_t source_kind); 698 699 /** 700 * 701 * @param c The connection 702 * @return A cookie 703 * 704 * Delivers a request to the X server. 705 * 706 * This form can be used only if the request will cause 707 * a reply to be generated. Any returned error will be 708 * placed in the event queue. 709 */ 710 xcb_shape_get_rectangles_cookie_t 711 xcb_shape_get_rectangles_unchecked (xcb_connection_t *c, 712 xcb_window_t window, 713 xcb_shape_kind_t source_kind); 714 715 xcb_rectangle_t * 716 xcb_shape_get_rectangles_rectangles (const xcb_shape_get_rectangles_reply_t *R); 717 718 int 719 xcb_shape_get_rectangles_rectangles_length (const xcb_shape_get_rectangles_reply_t *R); 720 721 xcb_rectangle_iterator_t 722 xcb_shape_get_rectangles_rectangles_iterator (const xcb_shape_get_rectangles_reply_t *R); 723 724 /** 725 * Return the reply 726 * @param c The connection 727 * @param cookie The cookie 728 * @param e The xcb_generic_error_t supplied 729 * 730 * Returns the reply of the request asked by 731 * 732 * The parameter @p e supplied to this function must be NULL if 733 * xcb_shape_get_rectangles_unchecked(). is used. 734 * Otherwise, it stores the error if any. 735 * 736 * The returned value must be freed by the caller using free(). 737 */ 738 xcb_shape_get_rectangles_reply_t * 739 xcb_shape_get_rectangles_reply (xcb_connection_t *c, 740 xcb_shape_get_rectangles_cookie_t cookie /**< */, 741 xcb_generic_error_t **e); 742 743 744 #ifdef __cplusplus 745 } 746 #endif 747 748 #endif 749 750 /** 751 * @} 752 */