1 /* 2 * This file generated automatically from composite.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6 /** 7 * @defgroup XCB_Composite_API XCB Composite API 8 * @brief Composite XCB Protocol Implementation. 9 * @{ 10 **/ 11 12 #ifndef __COMPOSITE_H 13 #define __COMPOSITE_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_COMPOSITE_MAJOR_VERSION 0 26 #define XCB_COMPOSITE_MINOR_VERSION 3 27 28 extern xcb_extension_t xcb_composite_id; 29 30 typedef enum xcb_composite_redirect_t { 31 XCB_COMPOSITE_REDIRECT_AUTOMATIC, 32 XCB_COMPOSITE_REDIRECT_MANUAL 33 } xcb_composite_redirect_t; 34 35 /** 36 * @brief xcb_composite_query_version_cookie_t 37 **/ 38 typedef struct xcb_composite_query_version_cookie_t { 39 unsigned int sequence; /**< */ 40 } xcb_composite_query_version_cookie_t; 41 42 /** Opcode for xcb_composite_query_version. */ 43 #define XCB_COMPOSITE_QUERY_VERSION 0 44 45 /** 46 * @brief xcb_composite_query_version_request_t 47 **/ 48 typedef struct xcb_composite_query_version_request_t { 49 uint8_t major_opcode; /**< */ 50 uint8_t minor_opcode; /**< */ 51 uint16_t length; /**< */ 52 uint32_t client_major_version; /**< */ 53 uint32_t client_minor_version; /**< */ 54 } xcb_composite_query_version_request_t; 55 56 /** 57 * @brief xcb_composite_query_version_reply_t 58 **/ 59 typedef struct xcb_composite_query_version_reply_t { 60 uint8_t response_type; /**< */ 61 uint8_t pad0; /**< */ 62 uint16_t sequence; /**< */ 63 uint32_t length; /**< */ 64 uint32_t major_version; /**< */ 65 uint32_t minor_version; /**< */ 66 uint8_t pad1[16]; /**< */ 67 } xcb_composite_query_version_reply_t; 68 69 /** Opcode for xcb_composite_redirect_window. */ 70 #define XCB_COMPOSITE_REDIRECT_WINDOW 1 71 72 /** 73 * @brief xcb_composite_redirect_window_request_t 74 **/ 75 typedef struct xcb_composite_redirect_window_request_t { 76 uint8_t major_opcode; /**< */ 77 uint8_t minor_opcode; /**< */ 78 uint16_t length; /**< */ 79 xcb_window_t window; /**< */ 80 uint8_t update; /**< */ 81 uint8_t pad0[3]; /**< */ 82 } xcb_composite_redirect_window_request_t; 83 84 /** Opcode for xcb_composite_redirect_subwindows. */ 85 #define XCB_COMPOSITE_REDIRECT_SUBWINDOWS 2 86 87 /** 88 * @brief xcb_composite_redirect_subwindows_request_t 89 **/ 90 typedef struct xcb_composite_redirect_subwindows_request_t { 91 uint8_t major_opcode; /**< */ 92 uint8_t minor_opcode; /**< */ 93 uint16_t length; /**< */ 94 xcb_window_t window; /**< */ 95 uint8_t update; /**< */ 96 uint8_t pad0[3]; /**< */ 97 } xcb_composite_redirect_subwindows_request_t; 98 99 /** Opcode for xcb_composite_unredirect_window. */ 100 #define XCB_COMPOSITE_UNREDIRECT_WINDOW 3 101 102 /** 103 * @brief xcb_composite_unredirect_window_request_t 104 **/ 105 typedef struct xcb_composite_unredirect_window_request_t { 106 uint8_t major_opcode; /**< */ 107 uint8_t minor_opcode; /**< */ 108 uint16_t length; /**< */ 109 xcb_window_t window; /**< */ 110 uint8_t update; /**< */ 111 uint8_t pad0[3]; /**< */ 112 } xcb_composite_unredirect_window_request_t; 113 114 /** Opcode for xcb_composite_unredirect_subwindows. */ 115 #define XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS 4 116 117 /** 118 * @brief xcb_composite_unredirect_subwindows_request_t 119 **/ 120 typedef struct xcb_composite_unredirect_subwindows_request_t { 121 uint8_t major_opcode; /**< */ 122 uint8_t minor_opcode; /**< */ 123 uint16_t length; /**< */ 124 xcb_window_t window; /**< */ 125 uint8_t update; /**< */ 126 uint8_t pad0[3]; /**< */ 127 } xcb_composite_unredirect_subwindows_request_t; 128 129 /** Opcode for xcb_composite_create_region_from_border_clip. */ 130 #define XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP 5 131 132 /** 133 * @brief xcb_composite_create_region_from_border_clip_request_t 134 **/ 135 typedef struct xcb_composite_create_region_from_border_clip_request_t { 136 uint8_t major_opcode; /**< */ 137 uint8_t minor_opcode; /**< */ 138 uint16_t length; /**< */ 139 xcb_xfixes_region_t region; /**< */ 140 xcb_window_t window; /**< */ 141 } xcb_composite_create_region_from_border_clip_request_t; 142 143 /** Opcode for xcb_composite_name_window_pixmap. */ 144 #define XCB_COMPOSITE_NAME_WINDOW_PIXMAP 6 145 146 /** 147 * @brief xcb_composite_name_window_pixmap_request_t 148 **/ 149 typedef struct xcb_composite_name_window_pixmap_request_t { 150 uint8_t major_opcode; /**< */ 151 uint8_t minor_opcode; /**< */ 152 uint16_t length; /**< */ 153 xcb_window_t window; /**< */ 154 xcb_pixmap_t pixmap; /**< */ 155 } xcb_composite_name_window_pixmap_request_t; 156 157 /** 158 * @brief xcb_composite_get_overlay_window_cookie_t 159 **/ 160 typedef struct xcb_composite_get_overlay_window_cookie_t { 161 unsigned int sequence; /**< */ 162 } xcb_composite_get_overlay_window_cookie_t; 163 164 /** Opcode for xcb_composite_get_overlay_window. */ 165 #define XCB_COMPOSITE_GET_OVERLAY_WINDOW 7 166 167 /** 168 * @brief xcb_composite_get_overlay_window_request_t 169 **/ 170 typedef struct xcb_composite_get_overlay_window_request_t { 171 uint8_t major_opcode; /**< */ 172 uint8_t minor_opcode; /**< */ 173 uint16_t length; /**< */ 174 xcb_window_t window; /**< */ 175 } xcb_composite_get_overlay_window_request_t; 176 177 /** 178 * @brief xcb_composite_get_overlay_window_reply_t 179 **/ 180 typedef struct xcb_composite_get_overlay_window_reply_t { 181 uint8_t response_type; /**< */ 182 uint8_t pad0; /**< */ 183 uint16_t sequence; /**< */ 184 uint32_t length; /**< */ 185 xcb_window_t overlay_win; /**< */ 186 uint8_t pad1[20]; /**< */ 187 } xcb_composite_get_overlay_window_reply_t; 188 189 /** Opcode for xcb_composite_release_overlay_window. */ 190 #define XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW 8 191 192 /** 193 * @brief xcb_composite_release_overlay_window_request_t 194 **/ 195 typedef struct xcb_composite_release_overlay_window_request_t { 196 uint8_t major_opcode; /**< */ 197 uint8_t minor_opcode; /**< */ 198 uint16_t length; /**< */ 199 xcb_window_t window; /**< */ 200 } xcb_composite_release_overlay_window_request_t; 201 202 /** 203 * Delivers a request to the X server 204 * @param c The connection 205 * @return A cookie 206 * 207 * Delivers a request to the X server. 208 * 209 */ 210 211 /***************************************************************************** 212 ** 213 ** xcb_composite_query_version_cookie_t xcb_composite_query_version 214 ** 215 ** @param xcb_connection_t *c 216 ** @param uint32_t client_major_version 217 ** @param uint32_t client_minor_version 218 ** @returns xcb_composite_query_version_cookie_t 219 ** 220 *****************************************************************************/ 221 222 xcb_composite_query_version_cookie_t 223 xcb_composite_query_version (xcb_connection_t *c /**< */, 224 uint32_t client_major_version /**< */, 225 uint32_t client_minor_version /**< */); 226 227 /** 228 * Delivers a request to the X server 229 * @param c The connection 230 * @return A cookie 231 * 232 * Delivers a request to the X server. 233 * 234 * This form can be used only if the request will cause 235 * a reply to be generated. Any returned error will be 236 * placed in the event queue. 237 */ 238 239 /***************************************************************************** 240 ** 241 ** xcb_composite_query_version_cookie_t xcb_composite_query_version_unchecked 242 ** 243 ** @param xcb_connection_t *c 244 ** @param uint32_t client_major_version 245 ** @param uint32_t client_minor_version 246 ** @returns xcb_composite_query_version_cookie_t 247 ** 248 *****************************************************************************/ 249 250 xcb_composite_query_version_cookie_t 251 xcb_composite_query_version_unchecked (xcb_connection_t *c /**< */, 252 uint32_t client_major_version /**< */, 253 uint32_t client_minor_version /**< */); 254 255 /** 256 * Return the reply 257 * @param c The connection 258 * @param cookie The cookie 259 * @param e The xcb_generic_error_t supplied 260 * 261 * Returns the reply of the request asked by 262 * 263 * The parameter @p e supplied to this function must be NULL if 264 * xcb_composite_query_version_unchecked(). is used. 265 * Otherwise, it stores the error if any. 266 * 267 * The returned value must be freed by the caller using free(). 268 */ 269 270 /***************************************************************************** 271 ** 272 ** xcb_composite_query_version_reply_t * xcb_composite_query_version_reply 273 ** 274 ** @param xcb_connection_t *c 275 ** @param xcb_composite_query_version_cookie_t cookie 276 ** @param xcb_generic_error_t **e 277 ** @returns xcb_composite_query_version_reply_t * 278 ** 279 *****************************************************************************/ 280 281 xcb_composite_query_version_reply_t * 282 xcb_composite_query_version_reply (xcb_connection_t *c /**< */, 283 xcb_composite_query_version_cookie_t cookie /**< */, 284 xcb_generic_error_t **e /**< */); 285 286 /** 287 * Delivers a request to the X server 288 * @param c The connection 289 * @return A cookie 290 * 291 * Delivers a request to the X server. 292 * 293 * This form can be used only if the request will not cause 294 * a reply to be generated. Any returned error will be 295 * saved for handling by xcb_request_check(). 296 */ 297 298 /***************************************************************************** 299 ** 300 ** xcb_void_cookie_t xcb_composite_redirect_window_checked 301 ** 302 ** @param xcb_connection_t *c 303 ** @param xcb_window_t window 304 ** @param uint8_t update 305 ** @returns xcb_void_cookie_t 306 ** 307 *****************************************************************************/ 308 309 xcb_void_cookie_t 310 xcb_composite_redirect_window_checked (xcb_connection_t *c /**< */, 311 xcb_window_t window /**< */, 312 uint8_t update /**< */); 313 314 /** 315 * Delivers a request to the X server 316 * @param c The connection 317 * @return A cookie 318 * 319 * Delivers a request to the X server. 320 * 321 */ 322 323 /***************************************************************************** 324 ** 325 ** xcb_void_cookie_t xcb_composite_redirect_window 326 ** 327 ** @param xcb_connection_t *c 328 ** @param xcb_window_t window 329 ** @param uint8_t update 330 ** @returns xcb_void_cookie_t 331 ** 332 *****************************************************************************/ 333 334 xcb_void_cookie_t 335 xcb_composite_redirect_window (xcb_connection_t *c /**< */, 336 xcb_window_t window /**< */, 337 uint8_t update /**< */); 338 339 /** 340 * Delivers a request to the X server 341 * @param c The connection 342 * @return A cookie 343 * 344 * Delivers a request to the X server. 345 * 346 * This form can be used only if the request will not cause 347 * a reply to be generated. Any returned error will be 348 * saved for handling by xcb_request_check(). 349 */ 350 351 /***************************************************************************** 352 ** 353 ** xcb_void_cookie_t xcb_composite_redirect_subwindows_checked 354 ** 355 ** @param xcb_connection_t *c 356 ** @param xcb_window_t window 357 ** @param uint8_t update 358 ** @returns xcb_void_cookie_t 359 ** 360 *****************************************************************************/ 361 362 xcb_void_cookie_t 363 xcb_composite_redirect_subwindows_checked (xcb_connection_t *c /**< */, 364 xcb_window_t window /**< */, 365 uint8_t update /**< */); 366 367 /** 368 * Delivers a request to the X server 369 * @param c The connection 370 * @return A cookie 371 * 372 * Delivers a request to the X server. 373 * 374 */ 375 376 /***************************************************************************** 377 ** 378 ** xcb_void_cookie_t xcb_composite_redirect_subwindows 379 ** 380 ** @param xcb_connection_t *c 381 ** @param xcb_window_t window 382 ** @param uint8_t update 383 ** @returns xcb_void_cookie_t 384 ** 385 *****************************************************************************/ 386 387 xcb_void_cookie_t 388 xcb_composite_redirect_subwindows (xcb_connection_t *c /**< */, 389 xcb_window_t window /**< */, 390 uint8_t update /**< */); 391 392 /** 393 * Delivers a request to the X server 394 * @param c The connection 395 * @return A cookie 396 * 397 * Delivers a request to the X server. 398 * 399 * This form can be used only if the request will not cause 400 * a reply to be generated. Any returned error will be 401 * saved for handling by xcb_request_check(). 402 */ 403 404 /***************************************************************************** 405 ** 406 ** xcb_void_cookie_t xcb_composite_unredirect_window_checked 407 ** 408 ** @param xcb_connection_t *c 409 ** @param xcb_window_t window 410 ** @param uint8_t update 411 ** @returns xcb_void_cookie_t 412 ** 413 *****************************************************************************/ 414 415 xcb_void_cookie_t 416 xcb_composite_unredirect_window_checked (xcb_connection_t *c /**< */, 417 xcb_window_t window /**< */, 418 uint8_t update /**< */); 419 420 /** 421 * Delivers a request to the X server 422 * @param c The connection 423 * @return A cookie 424 * 425 * Delivers a request to the X server. 426 * 427 */ 428 429 /***************************************************************************** 430 ** 431 ** xcb_void_cookie_t xcb_composite_unredirect_window 432 ** 433 ** @param xcb_connection_t *c 434 ** @param xcb_window_t window 435 ** @param uint8_t update 436 ** @returns xcb_void_cookie_t 437 ** 438 *****************************************************************************/ 439 440 xcb_void_cookie_t 441 xcb_composite_unredirect_window (xcb_connection_t *c /**< */, 442 xcb_window_t window /**< */, 443 uint8_t update /**< */); 444 445 /** 446 * Delivers a request to the X server 447 * @param c The connection 448 * @return A cookie 449 * 450 * Delivers a request to the X server. 451 * 452 * This form can be used only if the request will not cause 453 * a reply to be generated. Any returned error will be 454 * saved for handling by xcb_request_check(). 455 */ 456 457 /***************************************************************************** 458 ** 459 ** xcb_void_cookie_t xcb_composite_unredirect_subwindows_checked 460 ** 461 ** @param xcb_connection_t *c 462 ** @param xcb_window_t window 463 ** @param uint8_t update 464 ** @returns xcb_void_cookie_t 465 ** 466 *****************************************************************************/ 467 468 xcb_void_cookie_t 469 xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c /**< */, 470 xcb_window_t window /**< */, 471 uint8_t update /**< */); 472 473 /** 474 * Delivers a request to the X server 475 * @param c The connection 476 * @return A cookie 477 * 478 * Delivers a request to the X server. 479 * 480 */ 481 482 /***************************************************************************** 483 ** 484 ** xcb_void_cookie_t xcb_composite_unredirect_subwindows 485 ** 486 ** @param xcb_connection_t *c 487 ** @param xcb_window_t window 488 ** @param uint8_t update 489 ** @returns xcb_void_cookie_t 490 ** 491 *****************************************************************************/ 492 493 xcb_void_cookie_t 494 xcb_composite_unredirect_subwindows (xcb_connection_t *c /**< */, 495 xcb_window_t window /**< */, 496 uint8_t update /**< */); 497 498 /** 499 * Delivers a request to the X server 500 * @param c The connection 501 * @return A cookie 502 * 503 * Delivers a request to the X server. 504 * 505 * This form can be used only if the request will not cause 506 * a reply to be generated. Any returned error will be 507 * saved for handling by xcb_request_check(). 508 */ 509 510 /***************************************************************************** 511 ** 512 ** xcb_void_cookie_t xcb_composite_create_region_from_border_clip_checked 513 ** 514 ** @param xcb_connection_t *c 515 ** @param xcb_xfixes_region_t region 516 ** @param xcb_window_t window 517 ** @returns xcb_void_cookie_t 518 ** 519 *****************************************************************************/ 520 521 xcb_void_cookie_t 522 xcb_composite_create_region_from_border_clip_checked (xcb_connection_t *c /**< */, 523 xcb_xfixes_region_t region /**< */, 524 xcb_window_t window /**< */); 525 526 /** 527 * Delivers a request to the X server 528 * @param c The connection 529 * @return A cookie 530 * 531 * Delivers a request to the X server. 532 * 533 */ 534 535 /***************************************************************************** 536 ** 537 ** xcb_void_cookie_t xcb_composite_create_region_from_border_clip 538 ** 539 ** @param xcb_connection_t *c 540 ** @param xcb_xfixes_region_t region 541 ** @param xcb_window_t window 542 ** @returns xcb_void_cookie_t 543 ** 544 *****************************************************************************/ 545 546 xcb_void_cookie_t 547 xcb_composite_create_region_from_border_clip (xcb_connection_t *c /**< */, 548 xcb_xfixes_region_t region /**< */, 549 xcb_window_t window /**< */); 550 551 /** 552 * Delivers a request to the X server 553 * @param c The connection 554 * @return A cookie 555 * 556 * Delivers a request to the X server. 557 * 558 * This form can be used only if the request will not cause 559 * a reply to be generated. Any returned error will be 560 * saved for handling by xcb_request_check(). 561 */ 562 563 /***************************************************************************** 564 ** 565 ** xcb_void_cookie_t xcb_composite_name_window_pixmap_checked 566 ** 567 ** @param xcb_connection_t *c 568 ** @param xcb_window_t window 569 ** @param xcb_pixmap_t pixmap 570 ** @returns xcb_void_cookie_t 571 ** 572 *****************************************************************************/ 573 574 xcb_void_cookie_t 575 xcb_composite_name_window_pixmap_checked (xcb_connection_t *c /**< */, 576 xcb_window_t window /**< */, 577 xcb_pixmap_t pixmap /**< */); 578 579 /** 580 * Delivers a request to the X server 581 * @param c The connection 582 * @return A cookie 583 * 584 * Delivers a request to the X server. 585 * 586 */ 587 588 /***************************************************************************** 589 ** 590 ** xcb_void_cookie_t xcb_composite_name_window_pixmap 591 ** 592 ** @param xcb_connection_t *c 593 ** @param xcb_window_t window 594 ** @param xcb_pixmap_t pixmap 595 ** @returns xcb_void_cookie_t 596 ** 597 *****************************************************************************/ 598 599 xcb_void_cookie_t 600 xcb_composite_name_window_pixmap (xcb_connection_t *c /**< */, 601 xcb_window_t window /**< */, 602 xcb_pixmap_t pixmap /**< */); 603 604 /** 605 * Delivers a request to the X server 606 * @param c The connection 607 * @return A cookie 608 * 609 * Delivers a request to the X server. 610 * 611 */ 612 613 /***************************************************************************** 614 ** 615 ** xcb_composite_get_overlay_window_cookie_t xcb_composite_get_overlay_window 616 ** 617 ** @param xcb_connection_t *c 618 ** @param xcb_window_t window 619 ** @returns xcb_composite_get_overlay_window_cookie_t 620 ** 621 *****************************************************************************/ 622 623 xcb_composite_get_overlay_window_cookie_t 624 xcb_composite_get_overlay_window (xcb_connection_t *c /**< */, 625 xcb_window_t window /**< */); 626 627 /** 628 * Delivers a request to the X server 629 * @param c The connection 630 * @return A cookie 631 * 632 * Delivers a request to the X server. 633 * 634 * This form can be used only if the request will cause 635 * a reply to be generated. Any returned error will be 636 * placed in the event queue. 637 */ 638 639 /***************************************************************************** 640 ** 641 ** xcb_composite_get_overlay_window_cookie_t xcb_composite_get_overlay_window_unchecked 642 ** 643 ** @param xcb_connection_t *c 644 ** @param xcb_window_t window 645 ** @returns xcb_composite_get_overlay_window_cookie_t 646 ** 647 *****************************************************************************/ 648 649 xcb_composite_get_overlay_window_cookie_t 650 xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c /**< */, 651 xcb_window_t window /**< */); 652 653 /** 654 * Return the reply 655 * @param c The connection 656 * @param cookie The cookie 657 * @param e The xcb_generic_error_t supplied 658 * 659 * Returns the reply of the request asked by 660 * 661 * The parameter @p e supplied to this function must be NULL if 662 * xcb_composite_get_overlay_window_unchecked(). is used. 663 * Otherwise, it stores the error if any. 664 * 665 * The returned value must be freed by the caller using free(). 666 */ 667 668 /***************************************************************************** 669 ** 670 ** xcb_composite_get_overlay_window_reply_t * xcb_composite_get_overlay_window_reply 671 ** 672 ** @param xcb_connection_t *c 673 ** @param xcb_composite_get_overlay_window_cookie_t cookie 674 ** @param xcb_generic_error_t **e 675 ** @returns xcb_composite_get_overlay_window_reply_t * 676 ** 677 *****************************************************************************/ 678 679 xcb_composite_get_overlay_window_reply_t * 680 xcb_composite_get_overlay_window_reply (xcb_connection_t *c /**< */, 681 xcb_composite_get_overlay_window_cookie_t cookie /**< */, 682 xcb_generic_error_t **e /**< */); 683 684 /** 685 * Delivers a request to the X server 686 * @param c The connection 687 * @return A cookie 688 * 689 * Delivers a request to the X server. 690 * 691 * This form can be used only if the request will not cause 692 * a reply to be generated. Any returned error will be 693 * saved for handling by xcb_request_check(). 694 */ 695 696 /***************************************************************************** 697 ** 698 ** xcb_void_cookie_t xcb_composite_release_overlay_window_checked 699 ** 700 ** @param xcb_connection_t *c 701 ** @param xcb_window_t window 702 ** @returns xcb_void_cookie_t 703 ** 704 *****************************************************************************/ 705 706 xcb_void_cookie_t 707 xcb_composite_release_overlay_window_checked (xcb_connection_t *c /**< */, 708 xcb_window_t window /**< */); 709 710 /** 711 * Delivers a request to the X server 712 * @param c The connection 713 * @return A cookie 714 * 715 * Delivers a request to the X server. 716 * 717 */ 718 719 /***************************************************************************** 720 ** 721 ** xcb_void_cookie_t xcb_composite_release_overlay_window 722 ** 723 ** @param xcb_connection_t *c 724 ** @param xcb_window_t window 725 ** @returns xcb_void_cookie_t 726 ** 727 *****************************************************************************/ 728 729 xcb_void_cookie_t 730 xcb_composite_release_overlay_window (xcb_connection_t *c /**< */, 731 xcb_window_t window /**< */); 732 733 734 #ifdef __cplusplus 735 } 736 #endif 737 738 #endif 739 740 /** 741 * @} 742 */ 743