1 /* 2 * This file generated automatically from xproto.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6 /** 7 * @defgroup XCB__API XCB API 8 * @brief XCB Protocol Implementation. 9 * @{ 10 **/ 11 12 #ifndef __XPROTO_H 13 #define __XPROTO_H 14 15 #include "xcb.h" 16 17 #ifdef __cplusplus 18 extern "C" { 19 #endif 20 21 /** 22 * @brief xcb_char2b_t 23 **/ 24 typedef struct xcb_char2b_t { 25 uint8_t byte1; /**< */ 26 uint8_t byte2; /**< */ 27 } xcb_char2b_t; 28 29 /** 30 * @brief xcb_char2b_iterator_t 31 **/ 32 typedef struct xcb_char2b_iterator_t { 33 xcb_char2b_t *data; /**< */ 34 int rem; /**< */ 35 int index; /**< */ 36 } xcb_char2b_iterator_t; 37 38 typedef uint32_t xcb_window_t; 39 40 /** 41 * @brief xcb_window_iterator_t 42 **/ 43 typedef struct xcb_window_iterator_t { 44 xcb_window_t *data; /**< */ 45 int rem; /**< */ 46 int index; /**< */ 47 } xcb_window_iterator_t; 48 49 typedef uint32_t xcb_pixmap_t; 50 51 /** 52 * @brief xcb_pixmap_iterator_t 53 **/ 54 typedef struct xcb_pixmap_iterator_t { 55 xcb_pixmap_t *data; /**< */ 56 int rem; /**< */ 57 int index; /**< */ 58 } xcb_pixmap_iterator_t; 59 60 typedef uint32_t xcb_cursor_t; 61 62 /** 63 * @brief xcb_cursor_iterator_t 64 **/ 65 typedef struct xcb_cursor_iterator_t { 66 xcb_cursor_t *data; /**< */ 67 int rem; /**< */ 68 int index; /**< */ 69 } xcb_cursor_iterator_t; 70 71 typedef uint32_t xcb_font_t; 72 73 /** 74 * @brief xcb_font_iterator_t 75 **/ 76 typedef struct xcb_font_iterator_t { 77 xcb_font_t *data; /**< */ 78 int rem; /**< */ 79 int index; /**< */ 80 } xcb_font_iterator_t; 81 82 typedef uint32_t xcb_gcontext_t; 83 84 /** 85 * @brief xcb_gcontext_iterator_t 86 **/ 87 typedef struct xcb_gcontext_iterator_t { 88 xcb_gcontext_t *data; /**< */ 89 int rem; /**< */ 90 int index; /**< */ 91 } xcb_gcontext_iterator_t; 92 93 typedef uint32_t xcb_colormap_t; 94 95 /** 96 * @brief xcb_colormap_iterator_t 97 **/ 98 typedef struct xcb_colormap_iterator_t { 99 xcb_colormap_t *data; /**< */ 100 int rem; /**< */ 101 int index; /**< */ 102 } xcb_colormap_iterator_t; 103 104 typedef uint32_t xcb_atom_t; 105 106 /** 107 * @brief xcb_atom_iterator_t 108 **/ 109 typedef struct xcb_atom_iterator_t { 110 xcb_atom_t *data; /**< */ 111 int rem; /**< */ 112 int index; /**< */ 113 } xcb_atom_iterator_t; 114 115 typedef uint32_t xcb_drawable_t; 116 117 /** 118 * @brief xcb_drawable_iterator_t 119 **/ 120 typedef struct xcb_drawable_iterator_t { 121 xcb_drawable_t *data; /**< */ 122 int rem; /**< */ 123 int index; /**< */ 124 } xcb_drawable_iterator_t; 125 126 typedef uint32_t xcb_fontable_t; 127 128 /** 129 * @brief xcb_fontable_iterator_t 130 **/ 131 typedef struct xcb_fontable_iterator_t { 132 xcb_fontable_t *data; /**< */ 133 int rem; /**< */ 134 int index; /**< */ 135 } xcb_fontable_iterator_t; 136 137 typedef uint32_t xcb_visualid_t; 138 139 /** 140 * @brief xcb_visualid_iterator_t 141 **/ 142 typedef struct xcb_visualid_iterator_t { 143 xcb_visualid_t *data; /**< */ 144 int rem; /**< */ 145 int index; /**< */ 146 } xcb_visualid_iterator_t; 147 148 typedef uint32_t xcb_timestamp_t; 149 150 /** 151 * @brief xcb_timestamp_iterator_t 152 **/ 153 typedef struct xcb_timestamp_iterator_t { 154 xcb_timestamp_t *data; /**< */ 155 int rem; /**< */ 156 int index; /**< */ 157 } xcb_timestamp_iterator_t; 158 159 typedef uint32_t xcb_keysym_t; 160 161 /** 162 * @brief xcb_keysym_iterator_t 163 **/ 164 typedef struct xcb_keysym_iterator_t { 165 xcb_keysym_t *data; /**< */ 166 int rem; /**< */ 167 int index; /**< */ 168 } xcb_keysym_iterator_t; 169 170 typedef uint8_t xcb_keycode_t; 171 172 /** 173 * @brief xcb_keycode_iterator_t 174 **/ 175 typedef struct xcb_keycode_iterator_t { 176 xcb_keycode_t *data; /**< */ 177 int rem; /**< */ 178 int index; /**< */ 179 } xcb_keycode_iterator_t; 180 181 typedef uint8_t xcb_button_t; 182 183 /** 184 * @brief xcb_button_iterator_t 185 **/ 186 typedef struct xcb_button_iterator_t { 187 xcb_button_t *data; /**< */ 188 int rem; /**< */ 189 int index; /**< */ 190 } xcb_button_iterator_t; 191 192 /** 193 * @brief xcb_point_t 194 **/ 195 typedef struct xcb_point_t { 196 int16_t x; /**< */ 197 int16_t y; /**< */ 198 } xcb_point_t; 199 200 /** 201 * @brief xcb_point_iterator_t 202 **/ 203 typedef struct xcb_point_iterator_t { 204 xcb_point_t *data; /**< */ 205 int rem; /**< */ 206 int index; /**< */ 207 } xcb_point_iterator_t; 208 209 /** 210 * @brief xcb_rectangle_t 211 **/ 212 typedef struct xcb_rectangle_t { 213 int16_t x; /**< */ 214 int16_t y; /**< */ 215 uint16_t width; /**< */ 216 uint16_t height; /**< */ 217 } xcb_rectangle_t; 218 219 /** 220 * @brief xcb_rectangle_iterator_t 221 **/ 222 typedef struct xcb_rectangle_iterator_t { 223 xcb_rectangle_t *data; /**< */ 224 int rem; /**< */ 225 int index; /**< */ 226 } xcb_rectangle_iterator_t; 227 228 /** 229 * @brief xcb_arc_t 230 **/ 231 typedef struct xcb_arc_t { 232 int16_t x; /**< */ 233 int16_t y; /**< */ 234 uint16_t width; /**< */ 235 uint16_t height; /**< */ 236 int16_t angle1; /**< */ 237 int16_t angle2; /**< */ 238 } xcb_arc_t; 239 240 /** 241 * @brief xcb_arc_iterator_t 242 **/ 243 typedef struct xcb_arc_iterator_t { 244 xcb_arc_t *data; /**< */ 245 int rem; /**< */ 246 int index; /**< */ 247 } xcb_arc_iterator_t; 248 249 /** 250 * @brief xcb_format_t 251 **/ 252 typedef struct xcb_format_t { 253 uint8_t depth; /**< */ 254 uint8_t bits_per_pixel; /**< */ 255 uint8_t scanline_pad; /**< */ 256 uint8_t pad0[5]; /**< */ 257 } xcb_format_t; 258 259 /** 260 * @brief xcb_format_iterator_t 261 **/ 262 typedef struct xcb_format_iterator_t { 263 xcb_format_t *data; /**< */ 264 int rem; /**< */ 265 int index; /**< */ 266 } xcb_format_iterator_t; 267 268 typedef enum xcb_visual_class_t { 269 XCB_VISUAL_CLASS_STATIC_GRAY = 0, 270 XCB_VISUAL_CLASS_GRAY_SCALE = 1, 271 XCB_VISUAL_CLASS_STATIC_COLOR = 2, 272 XCB_VISUAL_CLASS_PSEUDO_COLOR = 3, 273 XCB_VISUAL_CLASS_TRUE_COLOR = 4, 274 XCB_VISUAL_CLASS_DIRECT_COLOR = 5 275 } xcb_visual_class_t; 276 277 /** 278 * @brief xcb_visualtype_t 279 **/ 280 typedef struct xcb_visualtype_t { 281 xcb_visualid_t visual_id; /**< */ 282 uint8_t _class; /**< */ 283 uint8_t bits_per_rgb_value; /**< */ 284 uint16_t colormap_entries; /**< */ 285 uint32_t red_mask; /**< */ 286 uint32_t green_mask; /**< */ 287 uint32_t blue_mask; /**< */ 288 uint8_t pad0[4]; /**< */ 289 } xcb_visualtype_t; 290 291 /** 292 * @brief xcb_visualtype_iterator_t 293 **/ 294 typedef struct xcb_visualtype_iterator_t { 295 xcb_visualtype_t *data; /**< */ 296 int rem; /**< */ 297 int index; /**< */ 298 } xcb_visualtype_iterator_t; 299 300 /** 301 * @brief xcb_depth_t 302 **/ 303 typedef struct xcb_depth_t { 304 uint8_t depth; /**< */ 305 uint8_t pad0; /**< */ 306 uint16_t visuals_len; /**< */ 307 uint8_t pad1[4]; /**< */ 308 } xcb_depth_t; 309 310 /** 311 * @brief xcb_depth_iterator_t 312 **/ 313 typedef struct xcb_depth_iterator_t { 314 xcb_depth_t *data; /**< */ 315 int rem; /**< */ 316 int index; /**< */ 317 } xcb_depth_iterator_t; 318 319 typedef enum xcb_event_mask_t { 320 XCB_EVENT_MASK_NO_EVENT = 0, 321 XCB_EVENT_MASK_KEY_PRESS = 1, 322 XCB_EVENT_MASK_KEY_RELEASE = 2, 323 XCB_EVENT_MASK_BUTTON_PRESS = 4, 324 XCB_EVENT_MASK_BUTTON_RELEASE = 8, 325 XCB_EVENT_MASK_ENTER_WINDOW = 16, 326 XCB_EVENT_MASK_LEAVE_WINDOW = 32, 327 XCB_EVENT_MASK_POINTER_MOTION = 64, 328 XCB_EVENT_MASK_POINTER_MOTION_HINT = 128, 329 XCB_EVENT_MASK_BUTTON_1_MOTION = 256, 330 XCB_EVENT_MASK_BUTTON_2_MOTION = 512, 331 XCB_EVENT_MASK_BUTTON_3_MOTION = 1024, 332 XCB_EVENT_MASK_BUTTON_4_MOTION = 2048, 333 XCB_EVENT_MASK_BUTTON_5_MOTION = 4096, 334 XCB_EVENT_MASK_BUTTON_MOTION = 8192, 335 XCB_EVENT_MASK_KEYMAP_STATE = 16384, 336 XCB_EVENT_MASK_EXPOSURE = 32768, 337 XCB_EVENT_MASK_VISIBILITY_CHANGE = 65536, 338 XCB_EVENT_MASK_STRUCTURE_NOTIFY = 131072, 339 XCB_EVENT_MASK_RESIZE_REDIRECT = 262144, 340 XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY = 524288, 341 XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT = 1048576, 342 XCB_EVENT_MASK_FOCUS_CHANGE = 2097152, 343 XCB_EVENT_MASK_PROPERTY_CHANGE = 4194304, 344 XCB_EVENT_MASK_COLOR_MAP_CHANGE = 8388608, 345 XCB_EVENT_MASK_OWNER_GRAB_BUTTON = 16777216 346 } xcb_event_mask_t; 347 348 typedef enum xcb_backing_store_t { 349 XCB_BACKING_STORE_NOT_USEFUL = 0, 350 XCB_BACKING_STORE_WHEN_MAPPED = 1, 351 XCB_BACKING_STORE_ALWAYS = 2 352 } xcb_backing_store_t; 353 354 /** 355 * @brief xcb_screen_t 356 **/ 357 typedef struct xcb_screen_t { 358 xcb_window_t root; /**< */ 359 xcb_colormap_t default_colormap; /**< */ 360 uint32_t white_pixel; /**< */ 361 uint32_t black_pixel; /**< */ 362 uint32_t current_input_masks; /**< */ 363 uint16_t width_in_pixels; /**< */ 364 uint16_t height_in_pixels; /**< */ 365 uint16_t width_in_millimeters; /**< */ 366 uint16_t height_in_millimeters; /**< */ 367 uint16_t min_installed_maps; /**< */ 368 uint16_t max_installed_maps; /**< */ 369 xcb_visualid_t root_visual; /**< */ 370 uint8_t backing_stores; /**< */ 371 uint8_t save_unders; /**< */ 372 uint8_t root_depth; /**< */ 373 uint8_t allowed_depths_len; /**< */ 374 } xcb_screen_t; 375 376 /** 377 * @brief xcb_screen_iterator_t 378 **/ 379 typedef struct xcb_screen_iterator_t { 380 xcb_screen_t *data; /**< */ 381 int rem; /**< */ 382 int index; /**< */ 383 } xcb_screen_iterator_t; 384 385 /** 386 * @brief xcb_setup_request_t 387 **/ 388 typedef struct xcb_setup_request_t { 389 uint8_t byte_order; /**< */ 390 uint8_t pad0; /**< */ 391 uint16_t protocol_major_version; /**< */ 392 uint16_t protocol_minor_version; /**< */ 393 uint16_t authorization_protocol_name_len; /**< */ 394 uint16_t authorization_protocol_data_len; /**< */ 395 uint8_t pad1[2]; /**< */ 396 } xcb_setup_request_t; 397 398 /** 399 * @brief xcb_setup_request_iterator_t 400 **/ 401 typedef struct xcb_setup_request_iterator_t { 402 xcb_setup_request_t *data; /**< */ 403 int rem; /**< */ 404 int index; /**< */ 405 } xcb_setup_request_iterator_t; 406 407 /** 408 * @brief xcb_setup_failed_t 409 **/ 410 typedef struct xcb_setup_failed_t { 411 uint8_t status; /**< */ 412 uint8_t reason_len; /**< */ 413 uint16_t protocol_major_version; /**< */ 414 uint16_t protocol_minor_version; /**< */ 415 uint16_t length; /**< */ 416 } xcb_setup_failed_t; 417 418 /** 419 * @brief xcb_setup_failed_iterator_t 420 **/ 421 typedef struct xcb_setup_failed_iterator_t { 422 xcb_setup_failed_t *data; /**< */ 423 int rem; /**< */ 424 int index; /**< */ 425 } xcb_setup_failed_iterator_t; 426 427 /** 428 * @brief xcb_setup_authenticate_t 429 **/ 430 typedef struct xcb_setup_authenticate_t { 431 uint8_t status; /**< */ 432 uint8_t pad0[5]; /**< */ 433 uint16_t length; /**< */ 434 } xcb_setup_authenticate_t; 435 436 /** 437 * @brief xcb_setup_authenticate_iterator_t 438 **/ 439 typedef struct xcb_setup_authenticate_iterator_t { 440 xcb_setup_authenticate_t *data; /**< */ 441 int rem; /**< */ 442 int index; /**< */ 443 } xcb_setup_authenticate_iterator_t; 444 445 typedef enum xcb_image_order_t { 446 XCB_IMAGE_ORDER_LSB_FIRST = 0, 447 XCB_IMAGE_ORDER_MSB_FIRST = 1 448 } xcb_image_order_t; 449 450 /** 451 * @brief xcb_setup_t 452 **/ 453 typedef struct xcb_setup_t { 454 uint8_t status; /**< */ 455 uint8_t pad0; /**< */ 456 uint16_t protocol_major_version; /**< */ 457 uint16_t protocol_minor_version; /**< */ 458 uint16_t length; /**< */ 459 uint32_t release_number; /**< */ 460 uint32_t resource_id_base; /**< */ 461 uint32_t resource_id_mask; /**< */ 462 uint32_t motion_buffer_size; /**< */ 463 uint16_t vendor_len; /**< */ 464 uint16_t maximum_request_length; /**< */ 465 uint8_t roots_len; /**< */ 466 uint8_t pixmap_formats_len; /**< */ 467 uint8_t image_byte_order; /**< */ 468 uint8_t bitmap_format_bit_order; /**< */ 469 uint8_t bitmap_format_scanline_unit; /**< */ 470 uint8_t bitmap_format_scanline_pad; /**< */ 471 xcb_keycode_t min_keycode; /**< */ 472 xcb_keycode_t max_keycode; /**< */ 473 uint8_t pad1[4]; /**< */ 474 } xcb_setup_t; 475 476 /** 477 * @brief xcb_setup_iterator_t 478 **/ 479 typedef struct xcb_setup_iterator_t { 480 xcb_setup_t *data; /**< */ 481 int rem; /**< */ 482 int index; /**< */ 483 } xcb_setup_iterator_t; 484 485 typedef enum xcb_mod_mask_t { 486 XCB_MOD_MASK_SHIFT = 1, 487 XCB_MOD_MASK_LOCK = 2, 488 XCB_MOD_MASK_CONTROL = 4, 489 XCB_MOD_MASK_1 = 8, 490 XCB_MOD_MASK_2 = 16, 491 XCB_MOD_MASK_3 = 32, 492 XCB_MOD_MASK_4 = 64, 493 XCB_MOD_MASK_5 = 128, 494 XCB_MOD_MASK_ANY = 32768 495 } xcb_mod_mask_t; 496 497 typedef enum xcb_key_but_mask_t { 498 XCB_KEY_BUT_MASK_SHIFT = 1, 499 XCB_KEY_BUT_MASK_LOCK = 2, 500 XCB_KEY_BUT_MASK_CONTROL = 4, 501 XCB_KEY_BUT_MASK_MOD_1 = 8, 502 XCB_KEY_BUT_MASK_MOD_2 = 16, 503 XCB_KEY_BUT_MASK_MOD_3 = 32, 504 XCB_KEY_BUT_MASK_MOD_4 = 64, 505 XCB_KEY_BUT_MASK_MOD_5 = 128, 506 XCB_KEY_BUT_MASK_BUTTON_1 = 256, 507 XCB_KEY_BUT_MASK_BUTTON_2 = 512, 508 XCB_KEY_BUT_MASK_BUTTON_3 = 1024, 509 XCB_KEY_BUT_MASK_BUTTON_4 = 2048, 510 XCB_KEY_BUT_MASK_BUTTON_5 = 4096 511 } xcb_key_but_mask_t; 512 513 typedef enum xcb_window_enum_t { 514 XCB_WINDOW_NONE = 0 515 } xcb_window_enum_t; 516 517 /** Opcode for xcb_key_press. */ 518 #define XCB_KEY_PRESS 2 519 520 /** 521 * @brief xcb_key_press_event_t 522 **/ 523 typedef struct xcb_key_press_event_t { 524 uint8_t response_type; /**< */ 525 xcb_keycode_t detail; /**< */ 526 uint16_t sequence; /**< */ 527 xcb_timestamp_t time; /**< */ 528 xcb_window_t root; /**< */ 529 xcb_window_t event; /**< */ 530 xcb_window_t child; /**< */ 531 int16_t root_x; /**< */ 532 int16_t root_y; /**< */ 533 int16_t event_x; /**< */ 534 int16_t event_y; /**< */ 535 uint16_t state; /**< */ 536 uint8_t same_screen; /**< */ 537 uint8_t pad0; /**< */ 538 } xcb_key_press_event_t; 539 540 /** Opcode for xcb_key_release. */ 541 #define XCB_KEY_RELEASE 3 542 543 typedef xcb_key_press_event_t xcb_key_release_event_t; 544 545 typedef enum xcb_button_mask_t { 546 XCB_BUTTON_MASK_1 = 256, 547 XCB_BUTTON_MASK_2 = 512, 548 XCB_BUTTON_MASK_3 = 1024, 549 XCB_BUTTON_MASK_4 = 2048, 550 XCB_BUTTON_MASK_5 = 4096, 551 XCB_BUTTON_MASK_ANY = 32768 552 } xcb_button_mask_t; 553 554 /** Opcode for xcb_button_press. */ 555 #define XCB_BUTTON_PRESS 4 556 557 /** 558 * @brief xcb_button_press_event_t 559 **/ 560 typedef struct xcb_button_press_event_t { 561 uint8_t response_type; /**< */ 562 xcb_button_t detail; /**< */ 563 uint16_t sequence; /**< */ 564 xcb_timestamp_t time; /**< */ 565 xcb_window_t root; /**< */ 566 xcb_window_t event; /**< */ 567 xcb_window_t child; /**< */ 568 int16_t root_x; /**< */ 569 int16_t root_y; /**< */ 570 int16_t event_x; /**< */ 571 int16_t event_y; /**< */ 572 uint16_t state; /**< */ 573 uint8_t same_screen; /**< */ 574 uint8_t pad0; /**< */ 575 } xcb_button_press_event_t; 576 577 /** Opcode for xcb_button_release. */ 578 #define XCB_BUTTON_RELEASE 5 579 580 typedef xcb_button_press_event_t xcb_button_release_event_t; 581 582 typedef enum xcb_motion_t { 583 XCB_MOTION_NORMAL = 0, 584 XCB_MOTION_HINT = 1 585 } xcb_motion_t; 586 587 /** Opcode for xcb_motion_notify. */ 588 #define XCB_MOTION_NOTIFY 6 589 590 /** 591 * @brief xcb_motion_notify_event_t 592 **/ 593 typedef struct xcb_motion_notify_event_t { 594 uint8_t response_type; /**< */ 595 uint8_t detail; /**< */ 596 uint16_t sequence; /**< */ 597 xcb_timestamp_t time; /**< */ 598 xcb_window_t root; /**< */ 599 xcb_window_t event; /**< */ 600 xcb_window_t child; /**< */ 601 int16_t root_x; /**< */ 602 int16_t root_y; /**< */ 603 int16_t event_x; /**< */ 604 int16_t event_y; /**< */ 605 uint16_t state; /**< */ 606 uint8_t same_screen; /**< */ 607 uint8_t pad0; /**< */ 608 } xcb_motion_notify_event_t; 609 610 typedef enum xcb_notify_detail_t { 611 XCB_NOTIFY_DETAIL_ANCESTOR = 0, 612 XCB_NOTIFY_DETAIL_VIRTUAL = 1, 613 XCB_NOTIFY_DETAIL_INFERIOR = 2, 614 XCB_NOTIFY_DETAIL_NONLINEAR = 3, 615 XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL = 4, 616 XCB_NOTIFY_DETAIL_POINTER = 5, 617 XCB_NOTIFY_DETAIL_POINTER_ROOT = 6, 618 XCB_NOTIFY_DETAIL_NONE = 7 619 } xcb_notify_detail_t; 620 621 typedef enum xcb_notify_mode_t { 622 XCB_NOTIFY_MODE_NORMAL = 0, 623 XCB_NOTIFY_MODE_GRAB = 1, 624 XCB_NOTIFY_MODE_UNGRAB = 2, 625 XCB_NOTIFY_MODE_WHILE_GRABBED = 3 626 } xcb_notify_mode_t; 627 628 /** Opcode for xcb_enter_notify. */ 629 #define XCB_ENTER_NOTIFY 7 630 631 /** 632 * @brief xcb_enter_notify_event_t 633 **/ 634 typedef struct xcb_enter_notify_event_t { 635 uint8_t response_type; /**< */ 636 uint8_t detail; /**< */ 637 uint16_t sequence; /**< */ 638 xcb_timestamp_t time; /**< */ 639 xcb_window_t root; /**< */ 640 xcb_window_t event; /**< */ 641 xcb_window_t child; /**< */ 642 int16_t root_x; /**< */ 643 int16_t root_y; /**< */ 644 int16_t event_x; /**< */ 645 int16_t event_y; /**< */ 646 uint16_t state; /**< */ 647 uint8_t mode; /**< */ 648 uint8_t same_screen_focus; /**< */ 649 } xcb_enter_notify_event_t; 650 651 /** Opcode for xcb_leave_notify. */ 652 #define XCB_LEAVE_NOTIFY 8 653 654 typedef xcb_enter_notify_event_t xcb_leave_notify_event_t; 655 656 /** Opcode for xcb_focus_in. */ 657 #define XCB_FOCUS_IN 9 658 659 /** 660 * @brief xcb_focus_in_event_t 661 **/ 662 typedef struct xcb_focus_in_event_t { 663 uint8_t response_type; /**< */ 664 uint8_t detail; /**< */ 665 uint16_t sequence; /**< */ 666 xcb_window_t event; /**< */ 667 uint8_t mode; /**< */ 668 uint8_t pad0[3]; /**< */ 669 } xcb_focus_in_event_t; 670 671 /** Opcode for xcb_focus_out. */ 672 #define XCB_FOCUS_OUT 10 673 674 typedef xcb_focus_in_event_t xcb_focus_out_event_t; 675 676 /** Opcode for xcb_keymap_notify. */ 677 #define XCB_KEYMAP_NOTIFY 11 678 679 /** 680 * @brief xcb_keymap_notify_event_t 681 **/ 682 typedef struct xcb_keymap_notify_event_t { 683 uint8_t response_type; /**< */ 684 uint8_t keys[31]; /**< */ 685 } xcb_keymap_notify_event_t; 686 687 /** Opcode for xcb_expose. */ 688 #define XCB_EXPOSE 12 689 690 /** 691 * @brief xcb_expose_event_t 692 **/ 693 typedef struct xcb_expose_event_t { 694 uint8_t response_type; /**< */ 695 uint8_t pad0; /**< */ 696 uint16_t sequence; /**< */ 697 xcb_window_t window; /**< */ 698 uint16_t x; /**< */ 699 uint16_t y; /**< */ 700 uint16_t width; /**< */ 701 uint16_t height; /**< */ 702 uint16_t count; /**< */ 703 uint8_t pad1[2]; /**< */ 704 } xcb_expose_event_t; 705 706 /** Opcode for xcb_graphics_exposure. */ 707 #define XCB_GRAPHICS_EXPOSURE 13 708 709 /** 710 * @brief xcb_graphics_exposure_event_t 711 **/ 712 typedef struct xcb_graphics_exposure_event_t { 713 uint8_t response_type; /**< */ 714 uint8_t pad0; /**< */ 715 uint16_t sequence; /**< */ 716 xcb_drawable_t drawable; /**< */ 717 uint16_t x; /**< */ 718 uint16_t y; /**< */ 719 uint16_t width; /**< */ 720 uint16_t height; /**< */ 721 uint16_t minor_opcode; /**< */ 722 uint16_t count; /**< */ 723 uint8_t major_opcode; /**< */ 724 uint8_t pad1[3]; /**< */ 725 } xcb_graphics_exposure_event_t; 726 727 /** Opcode for xcb_no_exposure. */ 728 #define XCB_NO_EXPOSURE 14 729 730 /** 731 * @brief xcb_no_exposure_event_t 732 **/ 733 typedef struct xcb_no_exposure_event_t { 734 uint8_t response_type; /**< */ 735 uint8_t pad0; /**< */ 736 uint16_t sequence; /**< */ 737 xcb_drawable_t drawable; /**< */ 738 uint16_t minor_opcode; /**< */ 739 uint8_t major_opcode; /**< */ 740 uint8_t pad1; /**< */ 741 } xcb_no_exposure_event_t; 742 743 typedef enum xcb_visibility_t { 744 XCB_VISIBILITY_UNOBSCURED = 0, 745 XCB_VISIBILITY_PARTIALLY_OBSCURED = 1, 746 XCB_VISIBILITY_FULLY_OBSCURED = 2 747 } xcb_visibility_t; 748 749 /** Opcode for xcb_visibility_notify. */ 750 #define XCB_VISIBILITY_NOTIFY 15 751 752 /** 753 * @brief xcb_visibility_notify_event_t 754 **/ 755 typedef struct xcb_visibility_notify_event_t { 756 uint8_t response_type; /**< */ 757 uint8_t pad0; /**< */ 758 uint16_t sequence; /**< */ 759 xcb_window_t window; /**< */ 760 uint8_t state; /**< */ 761 uint8_t pad1[3]; /**< */ 762 } xcb_visibility_notify_event_t; 763 764 /** Opcode for xcb_create_notify. */ 765 #define XCB_CREATE_NOTIFY 16 766 767 /** 768 * @brief xcb_create_notify_event_t 769 **/ 770 typedef struct xcb_create_notify_event_t { 771 uint8_t response_type; /**< */ 772 uint8_t pad0; /**< */ 773 uint16_t sequence; /**< */ 774 xcb_window_t parent; /**< */ 775 xcb_window_t window; /**< */ 776 int16_t x; /**< */ 777 int16_t y; /**< */ 778 uint16_t width; /**< */ 779 uint16_t height; /**< */ 780 uint16_t border_width; /**< */ 781 uint8_t override_redirect; /**< */ 782 uint8_t pad1; /**< */ 783 } xcb_create_notify_event_t; 784 785 /** Opcode for xcb_destroy_notify. */ 786 #define XCB_DESTROY_NOTIFY 17 787 788 /** 789 * @brief xcb_destroy_notify_event_t 790 **/ 791 typedef struct xcb_destroy_notify_event_t { 792 uint8_t response_type; /**< */ 793 uint8_t pad0; /**< */ 794 uint16_t sequence; /**< */ 795 xcb_window_t event; /**< */ 796 xcb_window_t window; /**< */ 797 } xcb_destroy_notify_event_t; 798 799 /** Opcode for xcb_unmap_notify. */ 800 #define XCB_UNMAP_NOTIFY 18 801 802 /** 803 * @brief xcb_unmap_notify_event_t 804 **/ 805 typedef struct xcb_unmap_notify_event_t { 806 uint8_t response_type; /**< */ 807 uint8_t pad0; /**< */ 808 uint16_t sequence; /**< */ 809 xcb_window_t event; /**< */ 810 xcb_window_t window; /**< */ 811 uint8_t from_configure; /**< */ 812 uint8_t pad1[3]; /**< */ 813 } xcb_unmap_notify_event_t; 814 815 /** Opcode for xcb_map_notify. */ 816 #define XCB_MAP_NOTIFY 19 817 818 /** 819 * @brief xcb_map_notify_event_t 820 **/ 821 typedef struct xcb_map_notify_event_t { 822 uint8_t response_type; /**< */ 823 uint8_t pad0; /**< */ 824 uint16_t sequence; /**< */ 825 xcb_window_t event; /**< */ 826 xcb_window_t window; /**< */ 827 uint8_t override_redirect; /**< */ 828 uint8_t pad1[3]; /**< */ 829 } xcb_map_notify_event_t; 830 831 /** Opcode for xcb_map_request. */ 832 #define XCB_MAP_REQUEST 20 833 834 /** 835 * @brief xcb_map_request_event_t 836 **/ 837 typedef struct xcb_map_request_event_t { 838 uint8_t response_type; /**< */ 839 uint8_t pad0; /**< */ 840 uint16_t sequence; /**< */ 841 xcb_window_t parent; /**< */ 842 xcb_window_t window; /**< */ 843 } xcb_map_request_event_t; 844 845 /** Opcode for xcb_reparent_notify. */ 846 #define XCB_REPARENT_NOTIFY 21 847 848 /** 849 * @brief xcb_reparent_notify_event_t 850 **/ 851 typedef struct xcb_reparent_notify_event_t { 852 uint8_t response_type; /**< */ 853 uint8_t pad0; /**< */ 854 uint16_t sequence; /**< */ 855 xcb_window_t event; /**< */ 856 xcb_window_t window; /**< */ 857 xcb_window_t parent; /**< */ 858 int16_t x; /**< */ 859 int16_t y; /**< */ 860 uint8_t override_redirect; /**< */ 861 uint8_t pad1[3]; /**< */ 862 } xcb_reparent_notify_event_t; 863 864 /** Opcode for xcb_configure_notify. */ 865 #define XCB_CONFIGURE_NOTIFY 22 866 867 /** 868 * @brief xcb_configure_notify_event_t 869 **/ 870 typedef struct xcb_configure_notify_event_t { 871 uint8_t response_type; /**< */ 872 uint8_t pad0; /**< */ 873 uint16_t sequence; /**< */ 874 xcb_window_t event; /**< */ 875 xcb_window_t window; /**< */ 876 xcb_window_t above_sibling; /**< */ 877 int16_t x; /**< */ 878 int16_t y; /**< */ 879 uint16_t width; /**< */ 880 uint16_t height; /**< */ 881 uint16_t border_width; /**< */ 882 uint8_t override_redirect; /**< */ 883 uint8_t pad1; /**< */ 884 } xcb_configure_notify_event_t; 885 886 /** Opcode for xcb_configure_request. */ 887 #define XCB_CONFIGURE_REQUEST 23 888 889 /** 890 * @brief xcb_configure_request_event_t 891 **/ 892 typedef struct xcb_configure_request_event_t { 893 uint8_t response_type; /**< */ 894 uint8_t stack_mode; /**< */ 895 uint16_t sequence; /**< */ 896 xcb_window_t parent; /**< */ 897 xcb_window_t window; /**< */ 898 xcb_window_t sibling; /**< */ 899 int16_t x; /**< */ 900 int16_t y; /**< */ 901 uint16_t width; /**< */ 902 uint16_t height; /**< */ 903 uint16_t border_width; /**< */ 904 uint16_t value_mask; /**< */ 905 } xcb_configure_request_event_t; 906 907 /** Opcode for xcb_gravity_notify. */ 908 #define XCB_GRAVITY_NOTIFY 24 909 910 /** 911 * @brief xcb_gravity_notify_event_t 912 **/ 913 typedef struct xcb_gravity_notify_event_t { 914 uint8_t response_type; /**< */ 915 uint8_t pad0; /**< */ 916 uint16_t sequence; /**< */ 917 xcb_window_t event; /**< */ 918 xcb_window_t window; /**< */ 919 int16_t x; /**< */ 920 int16_t y; /**< */ 921 } xcb_gravity_notify_event_t; 922 923 /** Opcode for xcb_resize_request. */ 924 #define XCB_RESIZE_REQUEST 25 925 926 /** 927 * @brief xcb_resize_request_event_t 928 **/ 929 typedef struct xcb_resize_request_event_t { 930 uint8_t response_type; /**< */ 931 uint8_t pad0; /**< */ 932 uint16_t sequence; /**< */ 933 xcb_window_t window; /**< */ 934 uint16_t width; /**< */ 935 uint16_t height; /**< */ 936 } xcb_resize_request_event_t; 937 938 typedef enum xcb_place_t { 939 XCB_PLACE_ON_TOP = 0, 940 /**< The window is now on top of all siblings. */ 941 942 XCB_PLACE_ON_BOTTOM = 1 943 /**< The window is now below all siblings. */ 944 945 } xcb_place_t; 946 947 /** Opcode for xcb_circulate_notify. */ 948 #define XCB_CIRCULATE_NOTIFY 26 949 950 /** 951 * @brief xcb_circulate_notify_event_t 952 **/ 953 typedef struct xcb_circulate_notify_event_t { 954 uint8_t response_type; /**< */ 955 uint8_t pad0; /**< */ 956 uint16_t sequence; /**< */ 957 xcb_window_t event; /**< */ 958 xcb_window_t window; /**< */ 959 uint8_t pad1[4]; /**< */ 960 uint8_t place; /**< */ 961 uint8_t pad2[3]; /**< */ 962 } xcb_circulate_notify_event_t; 963 964 /** Opcode for xcb_circulate_request. */ 965 #define XCB_CIRCULATE_REQUEST 27 966 967 typedef xcb_circulate_notify_event_t xcb_circulate_request_event_t; 968 969 typedef enum xcb_property_t { 970 XCB_PROPERTY_NEW_VALUE = 0, 971 XCB_PROPERTY_DELETE = 1 972 } xcb_property_t; 973 974 /** Opcode for xcb_property_notify. */ 975 #define XCB_PROPERTY_NOTIFY 28 976 977 /** 978 * @brief xcb_property_notify_event_t 979 **/ 980 typedef struct xcb_property_notify_event_t { 981 uint8_t response_type; /**< */ 982 uint8_t pad0; /**< */ 983 uint16_t sequence; /**< */ 984 xcb_window_t window; /**< */ 985 xcb_atom_t atom; /**< */ 986 xcb_timestamp_t time; /**< */ 987 uint8_t state; /**< */ 988 uint8_t pad1[3]; /**< */ 989 } xcb_property_notify_event_t; 990 991 /** Opcode for xcb_selection_clear. */ 992 #define XCB_SELECTION_CLEAR 29 993 994 /** 995 * @brief xcb_selection_clear_event_t 996 **/ 997 typedef struct xcb_selection_clear_event_t { 998 uint8_t response_type; /**< */ 999 uint8_t pad0; /**< */ 1000 uint16_t sequence; /**< */ 1001 xcb_timestamp_t time; /**< */ 1002 xcb_window_t owner; /**< */ 1003 xcb_atom_t selection; /**< */ 1004 } xcb_selection_clear_event_t; 1005 1006 typedef enum xcb_time_t { 1007 XCB_TIME_CURRENT_TIME = 0 1008 } xcb_time_t; 1009 1010 typedef enum xcb_atom_enum_t { 1011 XCB_ATOM_NONE = 0, 1012 XCB_ATOM_ANY = 0, 1013 XCB_ATOM_PRIMARY = 1, 1014 XCB_ATOM_SECONDARY = 2, 1015 XCB_ATOM_ARC = 3, 1016 XCB_ATOM_ATOM = 4, 1017 XCB_ATOM_BITMAP = 5, 1018 XCB_ATOM_CARDINAL = 6, 1019 XCB_ATOM_COLORMAP = 7, 1020 XCB_ATOM_CURSOR = 8, 1021 XCB_ATOM_CUT_BUFFER0 = 9, 1022 XCB_ATOM_CUT_BUFFER1 = 10, 1023 XCB_ATOM_CUT_BUFFER2 = 11, 1024 XCB_ATOM_CUT_BUFFER3 = 12, 1025 XCB_ATOM_CUT_BUFFER4 = 13, 1026 XCB_ATOM_CUT_BUFFER5 = 14, 1027 XCB_ATOM_CUT_BUFFER6 = 15, 1028 XCB_ATOM_CUT_BUFFER7 = 16, 1029 XCB_ATOM_DRAWABLE = 17, 1030 XCB_ATOM_FONT = 18, 1031 XCB_ATOM_INTEGER = 19, 1032 XCB_ATOM_PIXMAP = 20, 1033 XCB_ATOM_POINT = 21, 1034 XCB_ATOM_RECTANGLE = 22, 1035 XCB_ATOM_RESOURCE_MANAGER = 23, 1036 XCB_ATOM_RGB_COLOR_MAP = 24, 1037 XCB_ATOM_RGB_BEST_MAP = 25, 1038 XCB_ATOM_RGB_BLUE_MAP = 26, 1039 XCB_ATOM_RGB_DEFAULT_MAP = 27, 1040 XCB_ATOM_RGB_GRAY_MAP = 28, 1041 XCB_ATOM_RGB_GREEN_MAP = 29, 1042 XCB_ATOM_RGB_RED_MAP = 30, 1043 XCB_ATOM_STRING = 31, 1044 XCB_ATOM_VISUALID = 32, 1045 XCB_ATOM_WINDOW = 33, 1046 XCB_ATOM_WM_COMMAND = 34, 1047 XCB_ATOM_WM_HINTS = 35, 1048 XCB_ATOM_WM_CLIENT_MACHINE = 36, 1049 XCB_ATOM_WM_ICON_NAME = 37, 1050 XCB_ATOM_WM_ICON_SIZE = 38, 1051 XCB_ATOM_WM_NAME = 39, 1052 XCB_ATOM_WM_NORMAL_HINTS = 40, 1053 XCB_ATOM_WM_SIZE_HINTS = 41, 1054 XCB_ATOM_WM_ZOOM_HINTS = 42, 1055 XCB_ATOM_MIN_SPACE = 43, 1056 XCB_ATOM_NORM_SPACE = 44, 1057 XCB_ATOM_MAX_SPACE = 45, 1058 XCB_ATOM_END_SPACE = 46, 1059 XCB_ATOM_SUPERSCRIPT_X = 47, 1060 XCB_ATOM_SUPERSCRIPT_Y = 48, 1061 XCB_ATOM_SUBSCRIPT_X = 49, 1062 XCB_ATOM_SUBSCRIPT_Y = 50, 1063 XCB_ATOM_UNDERLINE_POSITION = 51, 1064 XCB_ATOM_UNDERLINE_THICKNESS = 52, 1065 XCB_ATOM_STRIKEOUT_ASCENT = 53, 1066 XCB_ATOM_STRIKEOUT_DESCENT = 54, 1067 XCB_ATOM_ITALIC_ANGLE = 55, 1068 XCB_ATOM_X_HEIGHT = 56, 1069 XCB_ATOM_QUAD_WIDTH = 57, 1070 XCB_ATOM_WEIGHT = 58, 1071 XCB_ATOM_POINT_SIZE = 59, 1072 XCB_ATOM_RESOLUTION = 60, 1073 XCB_ATOM_COPYRIGHT = 61, 1074 XCB_ATOM_NOTICE = 62, 1075 XCB_ATOM_FONT_NAME = 63, 1076 XCB_ATOM_FAMILY_NAME = 64, 1077 XCB_ATOM_FULL_NAME = 65, 1078 XCB_ATOM_CAP_HEIGHT = 66, 1079 XCB_ATOM_WM_CLASS = 67, 1080 XCB_ATOM_WM_TRANSIENT_FOR = 68 1081 } xcb_atom_enum_t; 1082 1083 /** Opcode for xcb_selection_request. */ 1084 #define XCB_SELECTION_REQUEST 30 1085 1086 /** 1087 * @brief xcb_selection_request_event_t 1088 **/ 1089 typedef struct xcb_selection_request_event_t { 1090 uint8_t response_type; /**< */ 1091 uint8_t pad0; /**< */ 1092 uint16_t sequence; /**< */ 1093 xcb_timestamp_t time; /**< */ 1094 xcb_window_t owner; /**< */ 1095 xcb_window_t requestor; /**< */ 1096 xcb_atom_t selection; /**< */ 1097 xcb_atom_t target; /**< */ 1098 xcb_atom_t property; /**< */ 1099 } xcb_selection_request_event_t; 1100 1101 /** Opcode for xcb_selection_notify. */ 1102 #define XCB_SELECTION_NOTIFY 31 1103 1104 /** 1105 * @brief xcb_selection_notify_event_t 1106 **/ 1107 typedef struct xcb_selection_notify_event_t { 1108 uint8_t response_type; /**< */ 1109 uint8_t pad0; /**< */ 1110 uint16_t sequence; /**< */ 1111 xcb_timestamp_t time; /**< */ 1112 xcb_window_t requestor; /**< */ 1113 xcb_atom_t selection; /**< */ 1114 xcb_atom_t target; /**< */ 1115 xcb_atom_t property; /**< */ 1116 } xcb_selection_notify_event_t; 1117 1118 typedef enum xcb_colormap_state_t { 1119 XCB_COLORMAP_STATE_UNINSTALLED = 0, 1120 /**< The colormap was uninstalled. */ 1121 1122 XCB_COLORMAP_STATE_INSTALLED = 1 1123 /**< The colormap was installed. */ 1124 1125 } xcb_colormap_state_t; 1126 1127 typedef enum xcb_colormap_enum_t { 1128 XCB_COLORMAP_NONE = 0 1129 } xcb_colormap_enum_t; 1130 1131 /** Opcode for xcb_colormap_notify. */ 1132 #define XCB_COLORMAP_NOTIFY 32 1133 1134 /** 1135 * @brief xcb_colormap_notify_event_t 1136 **/ 1137 typedef struct xcb_colormap_notify_event_t { 1138 uint8_t response_type; /**< */ 1139 uint8_t pad0; /**< */ 1140 uint16_t sequence; /**< */ 1141 xcb_window_t window; /**< */ 1142 xcb_colormap_t colormap; /**< */ 1143 uint8_t _new; /**< */ 1144 uint8_t state; /**< */ 1145 uint8_t pad1[2]; /**< */ 1146 } xcb_colormap_notify_event_t; 1147 1148 /** 1149 * @brief xcb_client_message_data_t 1150 **/ 1151 typedef union xcb_client_message_data_t { 1152 uint8_t data8[20]; /**< */ 1153 uint16_t data16[10]; /**< */ 1154 uint32_t data32[5]; /**< */ 1155 } xcb_client_message_data_t; 1156 1157 /** 1158 * @brief xcb_client_message_data_iterator_t 1159 **/ 1160 typedef struct xcb_client_message_data_iterator_t { 1161 xcb_client_message_data_t *data; /**< */ 1162 int rem; /**< */ 1163 int index; /**< */ 1164 } xcb_client_message_data_iterator_t; 1165 1166 /** Opcode for xcb_client_message. */ 1167 #define XCB_CLIENT_MESSAGE 33 1168 1169 /** 1170 * @brief xcb_client_message_event_t 1171 **/ 1172 typedef struct xcb_client_message_event_t { 1173 uint8_t response_type; /**< */ 1174 uint8_t format; /**< */ 1175 uint16_t sequence; /**< */ 1176 xcb_window_t window; /**< */ 1177 xcb_atom_t type; /**< */ 1178 xcb_client_message_data_t data; /**< */ 1179 } xcb_client_message_event_t; 1180 1181 typedef enum xcb_mapping_t { 1182 XCB_MAPPING_MODIFIER = 0, 1183 XCB_MAPPING_KEYBOARD = 1, 1184 XCB_MAPPING_POINTER = 2 1185 } xcb_mapping_t; 1186 1187 /** Opcode for xcb_mapping_notify. */ 1188 #define XCB_MAPPING_NOTIFY 34 1189 1190 /** 1191 * @brief xcb_mapping_notify_event_t 1192 **/ 1193 typedef struct xcb_mapping_notify_event_t { 1194 uint8_t response_type; /**< */ 1195 uint8_t pad0; /**< */ 1196 uint16_t sequence; /**< */ 1197 uint8_t request; /**< */ 1198 xcb_keycode_t first_keycode; /**< */ 1199 uint8_t count; /**< */ 1200 uint8_t pad1; /**< */ 1201 } xcb_mapping_notify_event_t; 1202 1203 /** Opcode for xcb_ge_generic. */ 1204 #define XCB_GE_GENERIC 35 1205 1206 /** 1207 * @brief xcb_ge_generic_event_t 1208 **/ 1209 typedef struct xcb_ge_generic_event_t { 1210 uint8_t response_type; /**< */ 1211 uint8_t extension; /**< */ 1212 uint16_t sequence; /**< */ 1213 uint32_t length; /**< */ 1214 uint16_t event_type; /**< */ 1215 uint8_t pad0[22]; /**< */ 1216 uint32_t full_sequence; /**< */ 1217 } xcb_ge_generic_event_t; 1218 1219 /** Opcode for xcb_request. */ 1220 #define XCB_REQUEST 1 1221 1222 /** 1223 * @brief xcb_request_error_t 1224 **/ 1225 typedef struct xcb_request_error_t { 1226 uint8_t response_type; /**< */ 1227 uint8_t error_code; /**< */ 1228 uint16_t sequence; /**< */ 1229 uint32_t bad_value; /**< */ 1230 uint16_t minor_opcode; /**< */ 1231 uint8_t major_opcode; /**< */ 1232 uint8_t pad0; /**< */ 1233 } xcb_request_error_t; 1234 1235 /** Opcode for xcb_value. */ 1236 #define XCB_VALUE 2 1237 1238 /** 1239 * @brief xcb_value_error_t 1240 **/ 1241 typedef struct xcb_value_error_t { 1242 uint8_t response_type; /**< */ 1243 uint8_t error_code; /**< */ 1244 uint16_t sequence; /**< */ 1245 uint32_t bad_value; /**< */ 1246 uint16_t minor_opcode; /**< */ 1247 uint8_t major_opcode; /**< */ 1248 uint8_t pad0; /**< */ 1249 } xcb_value_error_t; 1250 1251 /** Opcode for xcb_window. */ 1252 #define XCB_WINDOW 3 1253 1254 typedef xcb_value_error_t xcb_window_error_t; 1255 1256 /** Opcode for xcb_pixmap. */ 1257 #define XCB_PIXMAP 4 1258 1259 typedef xcb_value_error_t xcb_pixmap_error_t; 1260 1261 /** Opcode for xcb_atom. */ 1262 #define XCB_ATOM 5 1263 1264 typedef xcb_value_error_t xcb_atom_error_t; 1265 1266 /** Opcode for xcb_cursor. */ 1267 #define XCB_CURSOR 6 1268 1269 typedef xcb_value_error_t xcb_cursor_error_t; 1270 1271 /** Opcode for xcb_font. */ 1272 #define XCB_FONT 7 1273 1274 typedef xcb_value_error_t xcb_font_error_t; 1275 1276 /** Opcode for xcb_match. */ 1277 #define XCB_MATCH 8 1278 1279 typedef xcb_request_error_t xcb_match_error_t; 1280 1281 /** Opcode for xcb_drawable. */ 1282 #define XCB_DRAWABLE 9 1283 1284 typedef xcb_value_error_t xcb_drawable_error_t; 1285 1286 /** Opcode for xcb_access. */ 1287 #define XCB_ACCESS 10 1288 1289 typedef xcb_request_error_t xcb_access_error_t; 1290 1291 /** Opcode for xcb_alloc. */ 1292 #define XCB_ALLOC 11 1293 1294 typedef xcb_request_error_t xcb_alloc_error_t; 1295 1296 /** Opcode for xcb_colormap. */ 1297 #define XCB_COLORMAP 12 1298 1299 typedef xcb_value_error_t xcb_colormap_error_t; 1300 1301 /** Opcode for xcb_g_context. */ 1302 #define XCB_G_CONTEXT 13 1303 1304 typedef xcb_value_error_t xcb_g_context_error_t; 1305 1306 /** Opcode for xcb_id_choice. */ 1307 #define XCB_ID_CHOICE 14 1308 1309 typedef xcb_value_error_t xcb_id_choice_error_t; 1310 1311 /** Opcode for xcb_name. */ 1312 #define XCB_NAME 15 1313 1314 typedef xcb_request_error_t xcb_name_error_t; 1315 1316 /** Opcode for xcb_length. */ 1317 #define XCB_LENGTH 16 1318 1319 typedef xcb_request_error_t xcb_length_error_t; 1320 1321 /** Opcode for xcb_implementation. */ 1322 #define XCB_IMPLEMENTATION 17 1323 1324 typedef xcb_request_error_t xcb_implementation_error_t; 1325 1326 typedef enum xcb_window_class_t { 1327 XCB_WINDOW_CLASS_COPY_FROM_PARENT = 0, 1328 XCB_WINDOW_CLASS_INPUT_OUTPUT = 1, 1329 XCB_WINDOW_CLASS_INPUT_ONLY = 2 1330 } xcb_window_class_t; 1331 1332 typedef enum xcb_cw_t { 1333 XCB_CW_BACK_PIXMAP = 1, 1334 /**< Overrides the default background-pixmap. The background pixmap and window must 1335 have the same root and same depth. Any size pixmap can be used, although some 1336 sizes may be faster than others. 1337 1338 If `XCB_BACK_PIXMAP_NONE` is specified, the window has no defined background. 1339 The server may fill the contents with the previous screen contents or with 1340 contents of its own choosing. 1341 1342 If `XCB_BACK_PIXMAP_PARENT_RELATIVE` is specified, the parent's background is 1343 used, but the window must have the same depth as the parent (or a Match error 1344 results). The parent's background is tracked, and the current version is 1345 used each time the window background is required. */ 1346 1347 XCB_CW_BACK_PIXEL = 2, 1348 /**< Overrides `BackPixmap`. A pixmap of undefined size filled with the specified 1349 background pixel is used for the background. Range-checking is not performed, 1350 the background pixel is truncated to the appropriate number of bits. */ 1351 1352 XCB_CW_BORDER_PIXMAP = 4, 1353 /**< Overrides the default border-pixmap. The border pixmap and window must have the 1354 same root and the same depth. Any size pixmap can be used, although some sizes 1355 may be faster than others. 1356 1357 The special value `XCB_COPY_FROM_PARENT` means the parent's border pixmap is 1358 copied (subsequent changes to the parent's border attribute do not affect the 1359 child), but the window must have the same depth as the parent. */ 1360 1361 XCB_CW_BORDER_PIXEL = 8, 1362 /**< Overrides `BorderPixmap`. A pixmap of undefined size filled with the specified 1363 border pixel is used for the border. Range checking is not performed on the 1364 border-pixel value, it is truncated to the appropriate number of bits. */ 1365 1366 XCB_CW_BIT_GRAVITY = 16, 1367 /**< Defines which region of the window should be retained if the window is resized. */ 1368 1369 XCB_CW_WIN_GRAVITY = 32, 1370 /**< Defines how the window should be repositioned if the parent is resized (see 1371 `ConfigureWindow`). */ 1372 1373 XCB_CW_BACKING_STORE = 64, 1374 /**< A backing-store of `WhenMapped` advises the server that maintaining contents of 1375 obscured regions when the window is mapped would be beneficial. A backing-store 1376 of `Always` advises the server that maintaining contents even when the window 1377 is unmapped would be beneficial. In this case, the server may generate an 1378 exposure event when the window is created. A value of `NotUseful` advises the 1379 server that maintaining contents is unnecessary, although a server may still 1380 choose to maintain contents while the window is mapped. Note that if the server 1381 maintains contents, then the server should maintain complete contents not just 1382 the region within the parent boundaries, even if the window is larger than its 1383 parent. While the server maintains contents, exposure events will not normally 1384 be generated, but the server may stop maintaining contents at any time. */ 1385 1386 XCB_CW_BACKING_PLANES = 128, 1387 /**< The backing-planes indicates (with bits set to 1) which bit planes of the 1388 window hold dynamic data that must be preserved in backing-stores and during 1389 save-unders. */ 1390 1391 XCB_CW_BACKING_PIXEL = 256, 1392 /**< The backing-pixel specifies what value to use in planes not covered by 1393 backing-planes. The server is free to save only the specified bit planes in the 1394 backing-store or save-under and regenerate the remaining planes with the 1395 specified pixel value. Any bits beyond the specified depth of the window in 1396 these values are simply ignored. */ 1397 1398 XCB_CW_OVERRIDE_REDIRECT = 512, 1399 /**< The override-redirect specifies whether map and configure requests on this 1400 window should override a SubstructureRedirect on the parent, typically to 1401 inform a window manager not to tamper with the window. */ 1402 1403 XCB_CW_SAVE_UNDER = 1024, 1404 /**< If 1, the server is advised that when this window is mapped, saving the 1405 contents of windows it obscures would be beneficial. */ 1406 1407 XCB_CW_EVENT_MASK = 2048, 1408 /**< The event-mask defines which events the client is interested in for this window 1409 (or for some event types, inferiors of the window). */ 1410 1411 XCB_CW_DONT_PROPAGATE = 4096, 1412 /**< The do-not-propagate-mask defines which events should not be propagated to 1413 ancestor windows when no client has the event type selected in this window. */ 1414 1415 XCB_CW_COLORMAP = 8192, 1416 /**< The colormap specifies the colormap that best reflects the true colors of the window. Servers 1417 capable of supporting multiple hardware colormaps may use this information, and window man- 1418 agers may use it for InstallColormap requests. The colormap must have the same visual type 1419 and root as the window (or a Match error results). If CopyFromParent is specified, the parent's 1420 colormap is copied (subsequent changes to the parent's colormap attribute do not affect the child). 1421 However, the window must have the same visual type as the parent (or a Match error results), 1422 and the parent must not have a colormap of None (or a Match error results). For an explanation 1423 of None, see FreeColormap request. The colormap is copied by sharing the colormap object 1424 between the child and the parent, not by making a complete copy of the colormap contents. */ 1425 1426 XCB_CW_CURSOR = 16384 1427 /**< If a cursor is specified, it will be used whenever the pointer is in the window. If None is speci- 1428 fied, the parent's cursor will be used when the pointer is in the window, and any change in the 1429 parent's cursor will cause an immediate change in the displayed cursor. */ 1430 1431 } xcb_cw_t; 1432 1433 typedef enum xcb_back_pixmap_t { 1434 XCB_BACK_PIXMAP_NONE = 0, 1435 XCB_BACK_PIXMAP_PARENT_RELATIVE = 1 1436 } xcb_back_pixmap_t; 1437 1438 typedef enum xcb_gravity_t { 1439 XCB_GRAVITY_BIT_FORGET = 0, 1440 XCB_GRAVITY_WIN_UNMAP = 0, 1441 XCB_GRAVITY_NORTH_WEST = 1, 1442 XCB_GRAVITY_NORTH = 2, 1443 XCB_GRAVITY_NORTH_EAST = 3, 1444 XCB_GRAVITY_WEST = 4, 1445 XCB_GRAVITY_CENTER = 5, 1446 XCB_GRAVITY_EAST = 6, 1447 XCB_GRAVITY_SOUTH_WEST = 7, 1448 XCB_GRAVITY_SOUTH = 8, 1449 XCB_GRAVITY_SOUTH_EAST = 9, 1450 XCB_GRAVITY_STATIC = 10 1451 } xcb_gravity_t; 1452 1453 /** Opcode for xcb_create_window. */ 1454 #define XCB_CREATE_WINDOW 1 1455 1456 /** 1457 * @brief xcb_create_window_request_t 1458 **/ 1459 typedef struct xcb_create_window_request_t { 1460 uint8_t major_opcode; /**< */ 1461 uint8_t depth; /**< */ 1462 uint16_t length; /**< */ 1463 xcb_window_t wid; /**< */ 1464 xcb_window_t parent; /**< */ 1465 int16_t x; /**< */ 1466 int16_t y; /**< */ 1467 uint16_t width; /**< */ 1468 uint16_t height; /**< */ 1469 uint16_t border_width; /**< */ 1470 uint16_t _class; /**< */ 1471 xcb_visualid_t visual; /**< */ 1472 uint32_t value_mask; /**< */ 1473 } xcb_create_window_request_t; 1474 1475 /** Opcode for xcb_change_window_attributes. */ 1476 #define XCB_CHANGE_WINDOW_ATTRIBUTES 2 1477 1478 /** 1479 * @brief xcb_change_window_attributes_request_t 1480 **/ 1481 typedef struct xcb_change_window_attributes_request_t { 1482 uint8_t major_opcode; /**< */ 1483 uint8_t pad0; /**< */ 1484 uint16_t length; /**< */ 1485 xcb_window_t window; /**< */ 1486 uint32_t value_mask; /**< */ 1487 } xcb_change_window_attributes_request_t; 1488 1489 typedef enum xcb_map_state_t { 1490 XCB_MAP_STATE_UNMAPPED = 0, 1491 XCB_MAP_STATE_UNVIEWABLE = 1, 1492 XCB_MAP_STATE_VIEWABLE = 2 1493 } xcb_map_state_t; 1494 1495 /** 1496 * @brief xcb_get_window_attributes_cookie_t 1497 **/ 1498 typedef struct xcb_get_window_attributes_cookie_t { 1499 unsigned int sequence; /**< */ 1500 } xcb_get_window_attributes_cookie_t; 1501 1502 /** Opcode for xcb_get_window_attributes. */ 1503 #define XCB_GET_WINDOW_ATTRIBUTES 3 1504 1505 /** 1506 * @brief xcb_get_window_attributes_request_t 1507 **/ 1508 typedef struct xcb_get_window_attributes_request_t { 1509 uint8_t major_opcode; /**< */ 1510 uint8_t pad0; /**< */ 1511 uint16_t length; /**< */ 1512 xcb_window_t window; /**< */ 1513 } xcb_get_window_attributes_request_t; 1514 1515 /** 1516 * @brief xcb_get_window_attributes_reply_t 1517 **/ 1518 typedef struct xcb_get_window_attributes_reply_t { 1519 uint8_t response_type; /**< */ 1520 uint8_t backing_store; /**< */ 1521 uint16_t sequence; /**< */ 1522 uint32_t length; /**< */ 1523 xcb_visualid_t visual; /**< */ 1524 uint16_t _class; /**< */ 1525 uint8_t bit_gravity; /**< */ 1526 uint8_t win_gravity; /**< */ 1527 uint32_t backing_planes; /**< */ 1528 uint32_t backing_pixel; /**< */ 1529 uint8_t save_under; /**< */ 1530 uint8_t map_is_installed; /**< */ 1531 uint8_t map_state; /**< */ 1532 uint8_t override_redirect; /**< */ 1533 xcb_colormap_t colormap; /**< */ 1534 uint32_t all_event_masks; /**< */ 1535 uint32_t your_event_mask; /**< */ 1536 uint16_t do_not_propagate_mask; /**< */ 1537 uint8_t pad0[2]; /**< */ 1538 } xcb_get_window_attributes_reply_t; 1539 1540 /** Opcode for xcb_destroy_window. */ 1541 #define XCB_DESTROY_WINDOW 4 1542 1543 /** 1544 * @brief xcb_destroy_window_request_t 1545 **/ 1546 typedef struct xcb_destroy_window_request_t { 1547 uint8_t major_opcode; /**< */ 1548 uint8_t pad0; /**< */ 1549 uint16_t length; /**< */ 1550 xcb_window_t window; /**< */ 1551 } xcb_destroy_window_request_t; 1552 1553 /** Opcode for xcb_destroy_subwindows. */ 1554 #define XCB_DESTROY_SUBWINDOWS 5 1555 1556 /** 1557 * @brief xcb_destroy_subwindows_request_t 1558 **/ 1559 typedef struct xcb_destroy_subwindows_request_t { 1560 uint8_t major_opcode; /**< */ 1561 uint8_t pad0; /**< */ 1562 uint16_t length; /**< */ 1563 xcb_window_t window; /**< */ 1564 } xcb_destroy_subwindows_request_t; 1565 1566 typedef enum xcb_set_mode_t { 1567 XCB_SET_MODE_INSERT = 0, 1568 XCB_SET_MODE_DELETE = 1 1569 } xcb_set_mode_t; 1570 1571 /** Opcode for xcb_change_save_set. */ 1572 #define XCB_CHANGE_SAVE_SET 6 1573 1574 /** 1575 * @brief xcb_change_save_set_request_t 1576 **/ 1577 typedef struct xcb_change_save_set_request_t { 1578 uint8_t major_opcode; /**< */ 1579 uint8_t mode; /**< */ 1580 uint16_t length; /**< */ 1581 xcb_window_t window; /**< */ 1582 } xcb_change_save_set_request_t; 1583 1584 /** Opcode for xcb_reparent_window. */ 1585 #define XCB_REPARENT_WINDOW 7 1586 1587 /** 1588 * @brief xcb_reparent_window_request_t 1589 **/ 1590 typedef struct xcb_reparent_window_request_t { 1591 uint8_t major_opcode; /**< */ 1592 uint8_t pad0; /**< */ 1593 uint16_t length; /**< */ 1594 xcb_window_t window; /**< */ 1595 xcb_window_t parent; /**< */ 1596 int16_t x; /**< */ 1597 int16_t y; /**< */ 1598 } xcb_reparent_window_request_t; 1599 1600 /** Opcode for xcb_map_window. */ 1601 #define XCB_MAP_WINDOW 8 1602 1603 /** 1604 * @brief xcb_map_window_request_t 1605 **/ 1606 typedef struct xcb_map_window_request_t { 1607 uint8_t major_opcode; /**< */ 1608 uint8_t pad0; /**< */ 1609 uint16_t length; /**< */ 1610 xcb_window_t window; /**< */ 1611 } xcb_map_window_request_t; 1612 1613 /** Opcode for xcb_map_subwindows. */ 1614 #define XCB_MAP_SUBWINDOWS 9 1615 1616 /** 1617 * @brief xcb_map_subwindows_request_t 1618 **/ 1619 typedef struct xcb_map_subwindows_request_t { 1620 uint8_t major_opcode; /**< */ 1621 uint8_t pad0; /**< */ 1622 uint16_t length; /**< */ 1623 xcb_window_t window; /**< */ 1624 } xcb_map_subwindows_request_t; 1625 1626 /** Opcode for xcb_unmap_window. */ 1627 #define XCB_UNMAP_WINDOW 10 1628 1629 /** 1630 * @brief xcb_unmap_window_request_t 1631 **/ 1632 typedef struct xcb_unmap_window_request_t { 1633 uint8_t major_opcode; /**< */ 1634 uint8_t pad0; /**< */ 1635 uint16_t length; /**< */ 1636 xcb_window_t window; /**< */ 1637 } xcb_unmap_window_request_t; 1638 1639 /** Opcode for xcb_unmap_subwindows. */ 1640 #define XCB_UNMAP_SUBWINDOWS 11 1641 1642 /** 1643 * @brief xcb_unmap_subwindows_request_t 1644 **/ 1645 typedef struct xcb_unmap_subwindows_request_t { 1646 uint8_t major_opcode; /**< */ 1647 uint8_t pad0; /**< */ 1648 uint16_t length; /**< */ 1649 xcb_window_t window; /**< */ 1650 } xcb_unmap_subwindows_request_t; 1651 1652 typedef enum xcb_config_window_t { 1653 XCB_CONFIG_WINDOW_X = 1, 1654 XCB_CONFIG_WINDOW_Y = 2, 1655 XCB_CONFIG_WINDOW_WIDTH = 4, 1656 XCB_CONFIG_WINDOW_HEIGHT = 8, 1657 XCB_CONFIG_WINDOW_BORDER_WIDTH = 16, 1658 XCB_CONFIG_WINDOW_SIBLING = 32, 1659 XCB_CONFIG_WINDOW_STACK_MODE = 64 1660 } xcb_config_window_t; 1661 1662 typedef enum xcb_stack_mode_t { 1663 XCB_STACK_MODE_ABOVE = 0, 1664 XCB_STACK_MODE_BELOW = 1, 1665 XCB_STACK_MODE_TOP_IF = 2, 1666 XCB_STACK_MODE_BOTTOM_IF = 3, 1667 XCB_STACK_MODE_OPPOSITE = 4 1668 } xcb_stack_mode_t; 1669 1670 /** Opcode for xcb_configure_window. */ 1671 #define XCB_CONFIGURE_WINDOW 12 1672 1673 /** 1674 * @brief xcb_configure_window_request_t 1675 **/ 1676 typedef struct xcb_configure_window_request_t { 1677 uint8_t major_opcode; /**< */ 1678 uint8_t pad0; /**< */ 1679 uint16_t length; /**< */ 1680 xcb_window_t window; /**< */ 1681 uint16_t value_mask; /**< */ 1682 uint8_t pad1[2]; /**< */ 1683 } xcb_configure_window_request_t; 1684 1685 typedef enum xcb_circulate_t { 1686 XCB_CIRCULATE_RAISE_LOWEST = 0, 1687 XCB_CIRCULATE_LOWER_HIGHEST = 1 1688 } xcb_circulate_t; 1689 1690 /** Opcode for xcb_circulate_window. */ 1691 #define XCB_CIRCULATE_WINDOW 13 1692 1693 /** 1694 * @brief xcb_circulate_window_request_t 1695 **/ 1696 typedef struct xcb_circulate_window_request_t { 1697 uint8_t major_opcode; /**< */ 1698 uint8_t direction; /**< */ 1699 uint16_t length; /**< */ 1700 xcb_window_t window; /**< */ 1701 } xcb_circulate_window_request_t; 1702 1703 /** 1704 * @brief xcb_get_geometry_cookie_t 1705 **/ 1706 typedef struct xcb_get_geometry_cookie_t { 1707 unsigned int sequence; /**< */ 1708 } xcb_get_geometry_cookie_t; 1709 1710 /** Opcode for xcb_get_geometry. */ 1711 #define XCB_GET_GEOMETRY 14 1712 1713 /** 1714 * @brief xcb_get_geometry_request_t 1715 **/ 1716 typedef struct xcb_get_geometry_request_t { 1717 uint8_t major_opcode; /**< */ 1718 uint8_t pad0; /**< */ 1719 uint16_t length; /**< */ 1720 xcb_drawable_t drawable; /**< */ 1721 } xcb_get_geometry_request_t; 1722 1723 /** 1724 * @brief xcb_get_geometry_reply_t 1725 **/ 1726 typedef struct xcb_get_geometry_reply_t { 1727 uint8_t response_type; /**< */ 1728 uint8_t depth; /**< */ 1729 uint16_t sequence; /**< */ 1730 uint32_t length; /**< */ 1731 xcb_window_t root; /**< */ 1732 int16_t x; /**< */ 1733 int16_t y; /**< */ 1734 uint16_t width; /**< */ 1735 uint16_t height; /**< */ 1736 uint16_t border_width; /**< */ 1737 uint8_t pad0[2]; /**< */ 1738 } xcb_get_geometry_reply_t; 1739 1740 /** 1741 * @brief xcb_query_tree_cookie_t 1742 **/ 1743 typedef struct xcb_query_tree_cookie_t { 1744 unsigned int sequence; /**< */ 1745 } xcb_query_tree_cookie_t; 1746 1747 /** Opcode for xcb_query_tree. */ 1748 #define XCB_QUERY_TREE 15 1749 1750 /** 1751 * @brief xcb_query_tree_request_t 1752 **/ 1753 typedef struct xcb_query_tree_request_t { 1754 uint8_t major_opcode; /**< */ 1755 uint8_t pad0; /**< */ 1756 uint16_t length; /**< */ 1757 xcb_window_t window; /**< */ 1758 } xcb_query_tree_request_t; 1759 1760 /** 1761 * @brief xcb_query_tree_reply_t 1762 **/ 1763 typedef struct xcb_query_tree_reply_t { 1764 uint8_t response_type; /**< */ 1765 uint8_t pad0; /**< */ 1766 uint16_t sequence; /**< */ 1767 uint32_t length; /**< */ 1768 xcb_window_t root; /**< */ 1769 xcb_window_t parent; /**< */ 1770 uint16_t children_len; /**< */ 1771 uint8_t pad1[14]; /**< */ 1772 } xcb_query_tree_reply_t; 1773 1774 /** 1775 * @brief xcb_intern_atom_cookie_t 1776 **/ 1777 typedef struct xcb_intern_atom_cookie_t { 1778 unsigned int sequence; /**< */ 1779 } xcb_intern_atom_cookie_t; 1780 1781 /** Opcode for xcb_intern_atom. */ 1782 #define XCB_INTERN_ATOM 16 1783 1784 /** 1785 * @brief xcb_intern_atom_request_t 1786 **/ 1787 typedef struct xcb_intern_atom_request_t { 1788 uint8_t major_opcode; /**< */ 1789 uint8_t only_if_exists; /**< */ 1790 uint16_t length; /**< */ 1791 uint16_t name_len; /**< */ 1792 uint8_t pad0[2]; /**< */ 1793 } xcb_intern_atom_request_t; 1794 1795 /** 1796 * @brief xcb_intern_atom_reply_t 1797 **/ 1798 typedef struct xcb_intern_atom_reply_t { 1799 uint8_t response_type; /**< */ 1800 uint8_t pad0; /**< */ 1801 uint16_t sequence; /**< */ 1802 uint32_t length; /**< */ 1803 xcb_atom_t atom; /**< */ 1804 } xcb_intern_atom_reply_t; 1805 1806 /** 1807 * @brief xcb_get_atom_name_cookie_t 1808 **/ 1809 typedef struct xcb_get_atom_name_cookie_t { 1810 unsigned int sequence; /**< */ 1811 } xcb_get_atom_name_cookie_t; 1812 1813 /** Opcode for xcb_get_atom_name. */ 1814 #define XCB_GET_ATOM_NAME 17 1815 1816 /** 1817 * @brief xcb_get_atom_name_request_t 1818 **/ 1819 typedef struct xcb_get_atom_name_request_t { 1820 uint8_t major_opcode; /**< */ 1821 uint8_t pad0; /**< */ 1822 uint16_t length; /**< */ 1823 xcb_atom_t atom; /**< */ 1824 } xcb_get_atom_name_request_t; 1825 1826 /** 1827 * @brief xcb_get_atom_name_reply_t 1828 **/ 1829 typedef struct xcb_get_atom_name_reply_t { 1830 uint8_t response_type; /**< */ 1831 uint8_t pad0; /**< */ 1832 uint16_t sequence; /**< */ 1833 uint32_t length; /**< */ 1834 uint16_t name_len; /**< */ 1835 uint8_t pad1[22]; /**< */ 1836 } xcb_get_atom_name_reply_t; 1837 1838 typedef enum xcb_prop_mode_t { 1839 XCB_PROP_MODE_REPLACE = 0, 1840 /**< Discard the previous property value and store the new data. */ 1841 1842 XCB_PROP_MODE_PREPEND = 1, 1843 /**< Insert the new data before the beginning of existing data. The `format` must 1844 match existing property value. If the property is undefined, it is treated as 1845 defined with the correct type and format with zero-length data. */ 1846 1847 XCB_PROP_MODE_APPEND = 2 1848 /**< Insert the new data after the beginning of existing data. The `format` must 1849 match existing property value. If the property is undefined, it is treated as 1850 defined with the correct type and format with zero-length data. */ 1851 1852 } xcb_prop_mode_t; 1853 1854 /** Opcode for xcb_change_property. */ 1855 #define XCB_CHANGE_PROPERTY 18 1856 1857 /** 1858 * @brief xcb_change_property_request_t 1859 **/ 1860 typedef struct xcb_change_property_request_t { 1861 uint8_t major_opcode; /**< */ 1862 uint8_t mode; /**< */ 1863 uint16_t length; /**< */ 1864 xcb_window_t window; /**< */ 1865 xcb_atom_t property; /**< */ 1866 xcb_atom_t type; /**< */ 1867 uint8_t format; /**< */ 1868 uint8_t pad0[3]; /**< */ 1869 uint32_t data_len; /**< */ 1870 } xcb_change_property_request_t; 1871 1872 /** Opcode for xcb_delete_property. */ 1873 #define XCB_DELETE_PROPERTY 19 1874 1875 /** 1876 * @brief xcb_delete_property_request_t 1877 **/ 1878 typedef struct xcb_delete_property_request_t { 1879 uint8_t major_opcode; /**< */ 1880 uint8_t pad0; /**< */ 1881 uint16_t length; /**< */ 1882 xcb_window_t window; /**< */ 1883 xcb_atom_t property; /**< */ 1884 } xcb_delete_property_request_t; 1885 1886 typedef enum xcb_get_property_type_t { 1887 XCB_GET_PROPERTY_TYPE_ANY = 0 1888 } xcb_get_property_type_t; 1889 1890 /** 1891 * @brief xcb_get_property_cookie_t 1892 **/ 1893 typedef struct xcb_get_property_cookie_t { 1894 unsigned int sequence; /**< */ 1895 } xcb_get_property_cookie_t; 1896 1897 /** Opcode for xcb_get_property. */ 1898 #define XCB_GET_PROPERTY 20 1899 1900 /** 1901 * @brief xcb_get_property_request_t 1902 **/ 1903 typedef struct xcb_get_property_request_t { 1904 uint8_t major_opcode; /**< */ 1905 uint8_t _delete; /**< */ 1906 uint16_t length; /**< */ 1907 xcb_window_t window; /**< */ 1908 xcb_atom_t property; /**< */ 1909 xcb_atom_t type; /**< */ 1910 uint32_t long_offset; /**< */ 1911 uint32_t long_length; /**< */ 1912 } xcb_get_property_request_t; 1913 1914 /** 1915 * @brief xcb_get_property_reply_t 1916 **/ 1917 typedef struct xcb_get_property_reply_t { 1918 uint8_t response_type; /**< */ 1919 uint8_t format; /**< */ 1920 uint16_t sequence; /**< */ 1921 uint32_t length; /**< */ 1922 xcb_atom_t type; /**< */ 1923 uint32_t bytes_after; /**< */ 1924 uint32_t value_len; /**< */ 1925 uint8_t pad0[12]; /**< */ 1926 } xcb_get_property_reply_t; 1927 1928 /** 1929 * @brief xcb_list_properties_cookie_t 1930 **/ 1931 typedef struct xcb_list_properties_cookie_t { 1932 unsigned int sequence; /**< */ 1933 } xcb_list_properties_cookie_t; 1934 1935 /** Opcode for xcb_list_properties. */ 1936 #define XCB_LIST_PROPERTIES 21 1937 1938 /** 1939 * @brief xcb_list_properties_request_t 1940 **/ 1941 typedef struct xcb_list_properties_request_t { 1942 uint8_t major_opcode; /**< */ 1943 uint8_t pad0; /**< */ 1944 uint16_t length; /**< */ 1945 xcb_window_t window; /**< */ 1946 } xcb_list_properties_request_t; 1947 1948 /** 1949 * @brief xcb_list_properties_reply_t 1950 **/ 1951 typedef struct xcb_list_properties_reply_t { 1952 uint8_t response_type; /**< */ 1953 uint8_t pad0; /**< */ 1954 uint16_t sequence; /**< */ 1955 uint32_t length; /**< */ 1956 uint16_t atoms_len; /**< */ 1957 uint8_t pad1[22]; /**< */ 1958 } xcb_list_properties_reply_t; 1959 1960 /** Opcode for xcb_set_selection_owner. */ 1961 #define XCB_SET_SELECTION_OWNER 22 1962 1963 /** 1964 * @brief xcb_set_selection_owner_request_t 1965 **/ 1966 typedef struct xcb_set_selection_owner_request_t { 1967 uint8_t major_opcode; /**< */ 1968 uint8_t pad0; /**< */ 1969 uint16_t length; /**< */ 1970 xcb_window_t owner; /**< */ 1971 xcb_atom_t selection; /**< */ 1972 xcb_timestamp_t time; /**< */ 1973 } xcb_set_selection_owner_request_t; 1974 1975 /** 1976 * @brief xcb_get_selection_owner_cookie_t 1977 **/ 1978 typedef struct xcb_get_selection_owner_cookie_t { 1979 unsigned int sequence; /**< */ 1980 } xcb_get_selection_owner_cookie_t; 1981 1982 /** Opcode for xcb_get_selection_owner. */ 1983 #define XCB_GET_SELECTION_OWNER 23 1984 1985 /** 1986 * @brief xcb_get_selection_owner_request_t 1987 **/ 1988 typedef struct xcb_get_selection_owner_request_t { 1989 uint8_t major_opcode; /**< */ 1990 uint8_t pad0; /**< */ 1991 uint16_t length; /**< */ 1992 xcb_atom_t selection; /**< */ 1993 } xcb_get_selection_owner_request_t; 1994 1995 /** 1996 * @brief xcb_get_selection_owner_reply_t 1997 **/ 1998 typedef struct xcb_get_selection_owner_reply_t { 1999 uint8_t response_type; /**< */ 2000 uint8_t pad0; /**< */ 2001 uint16_t sequence; /**< */ 2002 uint32_t length; /**< */ 2003 xcb_window_t owner; /**< */ 2004 } xcb_get_selection_owner_reply_t; 2005 2006 /** Opcode for xcb_convert_selection. */ 2007 #define XCB_CONVERT_SELECTION 24 2008 2009 /** 2010 * @brief xcb_convert_selection_request_t 2011 **/ 2012 typedef struct xcb_convert_selection_request_t { 2013 uint8_t major_opcode; /**< */ 2014 uint8_t pad0; /**< */ 2015 uint16_t length; /**< */ 2016 xcb_window_t requestor; /**< */ 2017 xcb_atom_t selection; /**< */ 2018 xcb_atom_t target; /**< */ 2019 xcb_atom_t property; /**< */ 2020 xcb_timestamp_t time; /**< */ 2021 } xcb_convert_selection_request_t; 2022 2023 typedef enum xcb_send_event_dest_t { 2024 XCB_SEND_EVENT_DEST_POINTER_WINDOW = 0, 2025 XCB_SEND_EVENT_DEST_ITEM_FOCUS = 1 2026 } xcb_send_event_dest_t; 2027 2028 /** Opcode for xcb_send_event. */ 2029 #define XCB_SEND_EVENT 25 2030 2031 /** 2032 * @brief xcb_send_event_request_t 2033 **/ 2034 typedef struct xcb_send_event_request_t { 2035 uint8_t major_opcode; /**< */ 2036 uint8_t propagate; /**< */ 2037 uint16_t length; /**< */ 2038 xcb_window_t destination; /**< */ 2039 uint32_t event_mask; /**< */ 2040 char event[32]; /**< */ 2041 } xcb_send_event_request_t; 2042 2043 typedef enum xcb_grab_mode_t { 2044 XCB_GRAB_MODE_SYNC = 0, 2045 /**< The state of the keyboard appears to freeze: No further keyboard events are 2046 generated by the server until the grabbing client issues a releasing 2047 `AllowEvents` request or until the keyboard grab is released. */ 2048 2049 XCB_GRAB_MODE_ASYNC = 1 2050 /**< Keyboard event processing continues normally. */ 2051 2052 } xcb_grab_mode_t; 2053 2054 typedef enum xcb_grab_status_t { 2055 XCB_GRAB_STATUS_SUCCESS = 0, 2056 XCB_GRAB_STATUS_ALREADY_GRABBED = 1, 2057 XCB_GRAB_STATUS_INVALID_TIME = 2, 2058 XCB_GRAB_STATUS_NOT_VIEWABLE = 3, 2059 XCB_GRAB_STATUS_FROZEN = 4 2060 } xcb_grab_status_t; 2061 2062 typedef enum xcb_cursor_enum_t { 2063 XCB_CURSOR_NONE = 0 2064 } xcb_cursor_enum_t; 2065 2066 /** 2067 * @brief xcb_grab_pointer_cookie_t 2068 **/ 2069 typedef struct xcb_grab_pointer_cookie_t { 2070 unsigned int sequence; /**< */ 2071 } xcb_grab_pointer_cookie_t; 2072 2073 /** Opcode for xcb_grab_pointer. */ 2074 #define XCB_GRAB_POINTER 26 2075 2076 /** 2077 * @brief xcb_grab_pointer_request_t 2078 **/ 2079 typedef struct xcb_grab_pointer_request_t { 2080 uint8_t major_opcode; /**< */ 2081 uint8_t owner_events; /**< */ 2082 uint16_t length; /**< */ 2083 xcb_window_t grab_window; /**< */ 2084 uint16_t event_mask; /**< */ 2085 uint8_t pointer_mode; /**< */ 2086 uint8_t keyboard_mode; /**< */ 2087 xcb_window_t confine_to; /**< */ 2088 xcb_cursor_t cursor; /**< */ 2089 xcb_timestamp_t time; /**< */ 2090 } xcb_grab_pointer_request_t; 2091 2092 /** 2093 * @brief xcb_grab_pointer_reply_t 2094 **/ 2095 typedef struct xcb_grab_pointer_reply_t { 2096 uint8_t response_type; /**< */ 2097 uint8_t status; /**< */ 2098 uint16_t sequence; /**< */ 2099 uint32_t length; /**< */ 2100 } xcb_grab_pointer_reply_t; 2101 2102 /** Opcode for xcb_ungrab_pointer. */ 2103 #define XCB_UNGRAB_POINTER 27 2104 2105 /** 2106 * @brief xcb_ungrab_pointer_request_t 2107 **/ 2108 typedef struct xcb_ungrab_pointer_request_t { 2109 uint8_t major_opcode; /**< */ 2110 uint8_t pad0; /**< */ 2111 uint16_t length; /**< */ 2112 xcb_timestamp_t time; /**< */ 2113 } xcb_ungrab_pointer_request_t; 2114 2115 typedef enum xcb_button_index_t { 2116 XCB_BUTTON_INDEX_ANY = 0, 2117 /**< Any of the following (or none): */ 2118 2119 XCB_BUTTON_INDEX_1 = 1, 2120 /**< The left mouse button. */ 2121 2122 XCB_BUTTON_INDEX_2 = 2, 2123 /**< The right mouse button. */ 2124 2125 XCB_BUTTON_INDEX_3 = 3, 2126 /**< The middle mouse button. */ 2127 2128 XCB_BUTTON_INDEX_4 = 4, 2129 /**< Scroll wheel. TODO: direction? */ 2130 2131 XCB_BUTTON_INDEX_5 = 5 2132 /**< Scroll wheel. TODO: direction? */ 2133 2134 } xcb_button_index_t; 2135 2136 /** Opcode for xcb_grab_button. */ 2137 #define XCB_GRAB_BUTTON 28 2138 2139 /** 2140 * @brief xcb_grab_button_request_t 2141 **/ 2142 typedef struct xcb_grab_button_request_t { 2143 uint8_t major_opcode; /**< */ 2144 uint8_t owner_events; /**< */ 2145 uint16_t length; /**< */ 2146 xcb_window_t grab_window; /**< */ 2147 uint16_t event_mask; /**< */ 2148 uint8_t pointer_mode; /**< */ 2149 uint8_t keyboard_mode; /**< */ 2150 xcb_window_t confine_to; /**< */ 2151 xcb_cursor_t cursor; /**< */ 2152 uint8_t button; /**< */ 2153 uint8_t pad0; /**< */ 2154 uint16_t modifiers; /**< */ 2155 } xcb_grab_button_request_t; 2156 2157 /** Opcode for xcb_ungrab_button. */ 2158 #define XCB_UNGRAB_BUTTON 29 2159 2160 /** 2161 * @brief xcb_ungrab_button_request_t 2162 **/ 2163 typedef struct xcb_ungrab_button_request_t { 2164 uint8_t major_opcode; /**< */ 2165 uint8_t button; /**< */ 2166 uint16_t length; /**< */ 2167 xcb_window_t grab_window; /**< */ 2168 uint16_t modifiers; /**< */ 2169 uint8_t pad0[2]; /**< */ 2170 } xcb_ungrab_button_request_t; 2171 2172 /** Opcode for xcb_change_active_pointer_grab. */ 2173 #define XCB_CHANGE_ACTIVE_POINTER_GRAB 30 2174 2175 /** 2176 * @brief xcb_change_active_pointer_grab_request_t 2177 **/ 2178 typedef struct xcb_change_active_pointer_grab_request_t { 2179 uint8_t major_opcode; /**< */ 2180 uint8_t pad0; /**< */ 2181 uint16_t length; /**< */ 2182 xcb_cursor_t cursor; /**< */ 2183 xcb_timestamp_t time; /**< */ 2184 uint16_t event_mask; /**< */ 2185 uint8_t pad1[2]; /**< */ 2186 } xcb_change_active_pointer_grab_request_t; 2187 2188 /** 2189 * @brief xcb_grab_keyboard_cookie_t 2190 **/ 2191 typedef struct xcb_grab_keyboard_cookie_t { 2192 unsigned int sequence; /**< */ 2193 } xcb_grab_keyboard_cookie_t; 2194 2195 /** Opcode for xcb_grab_keyboard. */ 2196 #define XCB_GRAB_KEYBOARD 31 2197 2198 /** 2199 * @brief xcb_grab_keyboard_request_t 2200 **/ 2201 typedef struct xcb_grab_keyboard_request_t { 2202 uint8_t major_opcode; /**< */ 2203 uint8_t owner_events; /**< */ 2204 uint16_t length; /**< */ 2205 xcb_window_t grab_window; /**< */ 2206 xcb_timestamp_t time; /**< */ 2207 uint8_t pointer_mode; /**< */ 2208 uint8_t keyboard_mode; /**< */ 2209 uint8_t pad0[2]; /**< */ 2210 } xcb_grab_keyboard_request_t; 2211 2212 /** 2213 * @brief xcb_grab_keyboard_reply_t 2214 **/ 2215 typedef struct xcb_grab_keyboard_reply_t { 2216 uint8_t response_type; /**< */ 2217 uint8_t status; /**< */ 2218 uint16_t sequence; /**< */ 2219 uint32_t length; /**< */ 2220 } xcb_grab_keyboard_reply_t; 2221 2222 /** Opcode for xcb_ungrab_keyboard. */ 2223 #define XCB_UNGRAB_KEYBOARD 32 2224 2225 /** 2226 * @brief xcb_ungrab_keyboard_request_t 2227 **/ 2228 typedef struct xcb_ungrab_keyboard_request_t { 2229 uint8_t major_opcode; /**< */ 2230 uint8_t pad0; /**< */ 2231 uint16_t length; /**< */ 2232 xcb_timestamp_t time; /**< */ 2233 } xcb_ungrab_keyboard_request_t; 2234 2235 typedef enum xcb_grab_t { 2236 XCB_GRAB_ANY = 0 2237 } xcb_grab_t; 2238 2239 /** Opcode for xcb_grab_key. */ 2240 #define XCB_GRAB_KEY 33 2241 2242 /** 2243 * @brief xcb_grab_key_request_t 2244 **/ 2245 typedef struct xcb_grab_key_request_t { 2246 uint8_t major_opcode; /**< */ 2247 uint8_t owner_events; /**< */ 2248 uint16_t length; /**< */ 2249 xcb_window_t grab_window; /**< */ 2250 uint16_t modifiers; /**< */ 2251 xcb_keycode_t key; /**< */ 2252 uint8_t pointer_mode; /**< */ 2253 uint8_t keyboard_mode; /**< */ 2254 uint8_t pad0[3]; /**< */ 2255 } xcb_grab_key_request_t; 2256 2257 /** Opcode for xcb_ungrab_key. */ 2258 #define XCB_UNGRAB_KEY 34 2259 2260 /** 2261 * @brief xcb_ungrab_key_request_t 2262 **/ 2263 typedef struct xcb_ungrab_key_request_t { 2264 uint8_t major_opcode; /**< */ 2265 xcb_keycode_t key; /**< */ 2266 uint16_t length; /**< */ 2267 xcb_window_t grab_window; /**< */ 2268 uint16_t modifiers; /**< */ 2269 uint8_t pad0[2]; /**< */ 2270 } xcb_ungrab_key_request_t; 2271 2272 typedef enum xcb_allow_t { 2273 XCB_ALLOW_ASYNC_POINTER = 0, 2274 /**< For AsyncPointer, if the pointer is frozen by the client, pointer event 2275 processing continues normally. If the pointer is frozen twice by the client on 2276 behalf of two separate grabs, AsyncPointer thaws for both. AsyncPointer has no 2277 effect if the pointer is not frozen by the client, but the pointer need not be 2278 grabbed by the client. 2279 2280 TODO: rewrite this in more understandable terms. */ 2281 2282 XCB_ALLOW_SYNC_POINTER = 1, 2283 /**< For SyncPointer, if the pointer is frozen and actively grabbed by the client, 2284 pointer event processing continues normally until the next ButtonPress or 2285 ButtonRelease event is reported to the client, at which time the pointer again 2286 appears to freeze. However, if the reported event causes the pointer grab to be 2287 released, then the pointer does not freeze. SyncPointer has no effect if the 2288 pointer is not frozen by the client or if the pointer is not grabbed by the 2289 client. */ 2290 2291 XCB_ALLOW_REPLAY_POINTER = 2, 2292 /**< For ReplayPointer, if the pointer is actively grabbed by the client and is 2293 frozen as the result of an event having been sent to the client (either from 2294 the activation of a GrabButton or from a previous AllowEvents with mode 2295 SyncPointer but not from a GrabPointer), then the pointer grab is released and 2296 that event is completely reprocessed, this time ignoring any passive grabs at 2297 or above (towards the root) the grab-window of the grab just released. The 2298 request has no effect if the pointer is not grabbed by the client or if the 2299 pointer is not frozen as the result of an event. */ 2300 2301 XCB_ALLOW_ASYNC_KEYBOARD = 3, 2302 /**< For AsyncKeyboard, if the keyboard is frozen by the client, keyboard event 2303 processing continues normally. If the keyboard is frozen twice by the client on 2304 behalf of two separate grabs, AsyncKeyboard thaws for both. AsyncKeyboard has 2305 no effect if the keyboard is not frozen by the client, but the keyboard need 2306 not be grabbed by the client. */ 2307 2308 XCB_ALLOW_SYNC_KEYBOARD = 4, 2309 /**< For SyncKeyboard, if the keyboard is frozen and actively grabbed by the client, 2310 keyboard event processing continues normally until the next KeyPress or 2311 KeyRelease event is reported to the client, at which time the keyboard again 2312 appears to freeze. However, if the reported event causes the keyboard grab to 2313 be released, then the keyboard does not freeze. SyncKeyboard has no effect if 2314 the keyboard is not frozen by the client or if the keyboard is not grabbed by 2315 the client. */ 2316 2317 XCB_ALLOW_REPLAY_KEYBOARD = 5, 2318 /**< For ReplayKeyboard, if the keyboard is actively grabbed by the client and is 2319 frozen as the result of an event having been sent to the client (either from 2320 the activation of a GrabKey or from a previous AllowEvents with mode 2321 SyncKeyboard but not from a GrabKeyboard), then the keyboard grab is released 2322 and that event is completely reprocessed, this time ignoring any passive grabs 2323 at or above (towards the root) the grab-window of the grab just released. The 2324 request has no effect if the keyboard is not grabbed by the client or if the 2325 keyboard is not frozen as the result of an event. */ 2326 2327 XCB_ALLOW_ASYNC_BOTH = 6, 2328 /**< For AsyncBoth, if the pointer and the keyboard are frozen by the client, event 2329 processing for both devices continues normally. If a device is frozen twice by 2330 the client on behalf of two separate grabs, AsyncBoth thaws for both. AsyncBoth 2331 has no effect unless both pointer and keyboard are frozen by the client. */ 2332 2333 XCB_ALLOW_SYNC_BOTH = 7 2334 /**< For SyncBoth, if both pointer and keyboard are frozen by the client, event 2335 processing (for both devices) continues normally until the next ButtonPress, 2336 ButtonRelease, KeyPress, or KeyRelease event is reported to the client for a 2337 grabbed device (button event for the pointer, key event for the keyboard), at 2338 which time the devices again appear to freeze. However, if the reported event 2339 causes the grab to be released, then the devices do not freeze (but if the 2340 other device is still grabbed, then a subsequent event for it will still cause 2341 both devices to freeze). SyncBoth has no effect unless both pointer and 2342 keyboard are frozen by the client. If the pointer or keyboard is frozen twice 2343 by the client on behalf of two separate grabs, SyncBoth thaws for both (but a 2344 subsequent freeze for SyncBoth will only freeze each device once). */ 2345 2346 } xcb_allow_t; 2347 2348 /** Opcode for xcb_allow_events. */ 2349 #define XCB_ALLOW_EVENTS 35 2350 2351 /** 2352 * @brief xcb_allow_events_request_t 2353 **/ 2354 typedef struct xcb_allow_events_request_t { 2355 uint8_t major_opcode; /**< */ 2356 uint8_t mode; /**< */ 2357 uint16_t length; /**< */ 2358 xcb_timestamp_t time; /**< */ 2359 } xcb_allow_events_request_t; 2360 2361 /** Opcode for xcb_grab_server. */ 2362 #define XCB_GRAB_SERVER 36 2363 2364 /** 2365 * @brief xcb_grab_server_request_t 2366 **/ 2367 typedef struct xcb_grab_server_request_t { 2368 uint8_t major_opcode; /**< */ 2369 uint8_t pad0; /**< */ 2370 uint16_t length; /**< */ 2371 } xcb_grab_server_request_t; 2372 2373 /** Opcode for xcb_ungrab_server. */ 2374 #define XCB_UNGRAB_SERVER 37 2375 2376 /** 2377 * @brief xcb_ungrab_server_request_t 2378 **/ 2379 typedef struct xcb_ungrab_server_request_t { 2380 uint8_t major_opcode; /**< */ 2381 uint8_t pad0; /**< */ 2382 uint16_t length; /**< */ 2383 } xcb_ungrab_server_request_t; 2384 2385 /** 2386 * @brief xcb_query_pointer_cookie_t 2387 **/ 2388 typedef struct xcb_query_pointer_cookie_t { 2389 unsigned int sequence; /**< */ 2390 } xcb_query_pointer_cookie_t; 2391 2392 /** Opcode for xcb_query_pointer. */ 2393 #define XCB_QUERY_POINTER 38 2394 2395 /** 2396 * @brief xcb_query_pointer_request_t 2397 **/ 2398 typedef struct xcb_query_pointer_request_t { 2399 uint8_t major_opcode; /**< */ 2400 uint8_t pad0; /**< */ 2401 uint16_t length; /**< */ 2402 xcb_window_t window; /**< */ 2403 } xcb_query_pointer_request_t; 2404 2405 /** 2406 * @brief xcb_query_pointer_reply_t 2407 **/ 2408 typedef struct xcb_query_pointer_reply_t { 2409 uint8_t response_type; /**< */ 2410 uint8_t same_screen; /**< */ 2411 uint16_t sequence; /**< */ 2412 uint32_t length; /**< */ 2413 xcb_window_t root; /**< */ 2414 xcb_window_t child; /**< */ 2415 int16_t root_x; /**< */ 2416 int16_t root_y; /**< */ 2417 int16_t win_x; /**< */ 2418 int16_t win_y; /**< */ 2419 uint16_t mask; /**< */ 2420 uint8_t pad0[2]; /**< */ 2421 } xcb_query_pointer_reply_t; 2422 2423 /** 2424 * @brief xcb_timecoord_t 2425 **/ 2426 typedef struct xcb_timecoord_t { 2427 xcb_timestamp_t time; /**< */ 2428 int16_t x; /**< */ 2429 int16_t y; /**< */ 2430 } xcb_timecoord_t; 2431 2432 /** 2433 * @brief xcb_timecoord_iterator_t 2434 **/ 2435 typedef struct xcb_timecoord_iterator_t { 2436 xcb_timecoord_t *data; /**< */ 2437 int rem; /**< */ 2438 int index; /**< */ 2439 } xcb_timecoord_iterator_t; 2440 2441 /** 2442 * @brief xcb_get_motion_events_cookie_t 2443 **/ 2444 typedef struct xcb_get_motion_events_cookie_t { 2445 unsigned int sequence; /**< */ 2446 } xcb_get_motion_events_cookie_t; 2447 2448 /** Opcode for xcb_get_motion_events. */ 2449 #define XCB_GET_MOTION_EVENTS 39 2450 2451 /** 2452 * @brief xcb_get_motion_events_request_t 2453 **/ 2454 typedef struct xcb_get_motion_events_request_t { 2455 uint8_t major_opcode; /**< */ 2456 uint8_t pad0; /**< */ 2457 uint16_t length; /**< */ 2458 xcb_window_t window; /**< */ 2459 xcb_timestamp_t start; /**< */ 2460 xcb_timestamp_t stop; /**< */ 2461 } xcb_get_motion_events_request_t; 2462 2463 /** 2464 * @brief xcb_get_motion_events_reply_t 2465 **/ 2466 typedef struct xcb_get_motion_events_reply_t { 2467 uint8_t response_type; /**< */ 2468 uint8_t pad0; /**< */ 2469 uint16_t sequence; /**< */ 2470 uint32_t length; /**< */ 2471 uint32_t events_len; /**< */ 2472 uint8_t pad1[20]; /**< */ 2473 } xcb_get_motion_events_reply_t; 2474 2475 /** 2476 * @brief xcb_translate_coordinates_cookie_t 2477 **/ 2478 typedef struct xcb_translate_coordinates_cookie_t { 2479 unsigned int sequence; /**< */ 2480 } xcb_translate_coordinates_cookie_t; 2481 2482 /** Opcode for xcb_translate_coordinates. */ 2483 #define XCB_TRANSLATE_COORDINATES 40 2484 2485 /** 2486 * @brief xcb_translate_coordinates_request_t 2487 **/ 2488 typedef struct xcb_translate_coordinates_request_t { 2489 uint8_t major_opcode; /**< */ 2490 uint8_t pad0; /**< */ 2491 uint16_t length; /**< */ 2492 xcb_window_t src_window; /**< */ 2493 xcb_window_t dst_window; /**< */ 2494 int16_t src_x; /**< */ 2495 int16_t src_y; /**< */ 2496 } xcb_translate_coordinates_request_t; 2497 2498 /** 2499 * @brief xcb_translate_coordinates_reply_t 2500 **/ 2501 typedef struct xcb_translate_coordinates_reply_t { 2502 uint8_t response_type; /**< */ 2503 uint8_t same_screen; /**< */ 2504 uint16_t sequence; /**< */ 2505 uint32_t length; /**< */ 2506 xcb_window_t child; /**< */ 2507 int16_t dst_x; /**< */ 2508 int16_t dst_y; /**< */ 2509 } xcb_translate_coordinates_reply_t; 2510 2511 /** Opcode for xcb_warp_pointer. */ 2512 #define XCB_WARP_POINTER 41 2513 2514 /** 2515 * @brief xcb_warp_pointer_request_t 2516 **/ 2517 typedef struct xcb_warp_pointer_request_t { 2518 uint8_t major_opcode; /**< */ 2519 uint8_t pad0; /**< */ 2520 uint16_t length; /**< */ 2521 xcb_window_t src_window; /**< */ 2522 xcb_window_t dst_window; /**< */ 2523 int16_t src_x; /**< */ 2524 int16_t src_y; /**< */ 2525 uint16_t src_width; /**< */ 2526 uint16_t src_height; /**< */ 2527 int16_t dst_x; /**< */ 2528 int16_t dst_y; /**< */ 2529 } xcb_warp_pointer_request_t; 2530 2531 typedef enum xcb_input_focus_t { 2532 XCB_INPUT_FOCUS_NONE = 0, 2533 /**< The focus reverts to `XCB_NONE`, so no window will have the input focus. */ 2534 2535 XCB_INPUT_FOCUS_POINTER_ROOT = 1, 2536 /**< The focus reverts to `XCB_POINTER_ROOT` respectively. When the focus reverts, 2537 FocusIn and FocusOut events are generated, but the last-focus-change time is 2538 not changed. */ 2539 2540 XCB_INPUT_FOCUS_PARENT = 2, 2541 /**< The focus reverts to the parent (or closest viewable ancestor) and the new 2542 revert_to value is `XCB_INPUT_FOCUS_NONE`. */ 2543 2544 XCB_INPUT_FOCUS_FOLLOW_KEYBOARD = 3 2545 /**< NOT YET DOCUMENTED. Only relevant for the xinput extension. */ 2546 2547 } xcb_input_focus_t; 2548 2549 /** Opcode for xcb_set_input_focus. */ 2550 #define XCB_SET_INPUT_FOCUS 42 2551 2552 /** 2553 * @brief xcb_set_input_focus_request_t 2554 **/ 2555 typedef struct xcb_set_input_focus_request_t { 2556 uint8_t major_opcode; /**< */ 2557 uint8_t revert_to; /**< */ 2558 uint16_t length; /**< */ 2559 xcb_window_t focus; /**< */ 2560 xcb_timestamp_t time; /**< */ 2561 } xcb_set_input_focus_request_t; 2562 2563 /** 2564 * @brief xcb_get_input_focus_cookie_t 2565 **/ 2566 typedef struct xcb_get_input_focus_cookie_t { 2567 unsigned int sequence; /**< */ 2568 } xcb_get_input_focus_cookie_t; 2569 2570 /** Opcode for xcb_get_input_focus. */ 2571 #define XCB_GET_INPUT_FOCUS 43 2572 2573 /** 2574 * @brief xcb_get_input_focus_request_t 2575 **/ 2576 typedef struct xcb_get_input_focus_request_t { 2577 uint8_t major_opcode; /**< */ 2578 uint8_t pad0; /**< */ 2579 uint16_t length; /**< */ 2580 } xcb_get_input_focus_request_t; 2581 2582 /** 2583 * @brief xcb_get_input_focus_reply_t 2584 **/ 2585 typedef struct xcb_get_input_focus_reply_t { 2586 uint8_t response_type; /**< */ 2587 uint8_t revert_to; /**< */ 2588 uint16_t sequence; /**< */ 2589 uint32_t length; /**< */ 2590 xcb_window_t focus; /**< */ 2591 } xcb_get_input_focus_reply_t; 2592 2593 /** 2594 * @brief xcb_query_keymap_cookie_t 2595 **/ 2596 typedef struct xcb_query_keymap_cookie_t { 2597 unsigned int sequence; /**< */ 2598 } xcb_query_keymap_cookie_t; 2599 2600 /** Opcode for xcb_query_keymap. */ 2601 #define XCB_QUERY_KEYMAP 44 2602 2603 /** 2604 * @brief xcb_query_keymap_request_t 2605 **/ 2606 typedef struct xcb_query_keymap_request_t { 2607 uint8_t major_opcode; /**< */ 2608 uint8_t pad0; /**< */ 2609 uint16_t length; /**< */ 2610 } xcb_query_keymap_request_t; 2611 2612 /** 2613 * @brief xcb_query_keymap_reply_t 2614 **/ 2615 typedef struct xcb_query_keymap_reply_t { 2616 uint8_t response_type; /**< */ 2617 uint8_t pad0; /**< */ 2618 uint16_t sequence; /**< */ 2619 uint32_t length; /**< */ 2620 uint8_t keys[32]; /**< */ 2621 } xcb_query_keymap_reply_t; 2622 2623 /** Opcode for xcb_open_font. */ 2624 #define XCB_OPEN_FONT 45 2625 2626 /** 2627 * @brief xcb_open_font_request_t 2628 **/ 2629 typedef struct xcb_open_font_request_t { 2630 uint8_t major_opcode; /**< */ 2631 uint8_t pad0; /**< */ 2632 uint16_t length; /**< */ 2633 xcb_font_t fid; /**< */ 2634 uint16_t name_len; /**< */ 2635 uint8_t pad1[2]; /**< */ 2636 } xcb_open_font_request_t; 2637 2638 /** Opcode for xcb_close_font. */ 2639 #define XCB_CLOSE_FONT 46 2640 2641 /** 2642 * @brief xcb_close_font_request_t 2643 **/ 2644 typedef struct xcb_close_font_request_t { 2645 uint8_t major_opcode; /**< */ 2646 uint8_t pad0; /**< */ 2647 uint16_t length; /**< */ 2648 xcb_font_t font; /**< */ 2649 } xcb_close_font_request_t; 2650 2651 typedef enum xcb_font_draw_t { 2652 XCB_FONT_DRAW_LEFT_TO_RIGHT = 0, 2653 XCB_FONT_DRAW_RIGHT_TO_LEFT = 1 2654 } xcb_font_draw_t; 2655 2656 /** 2657 * @brief xcb_fontprop_t 2658 **/ 2659 typedef struct xcb_fontprop_t { 2660 xcb_atom_t name; /**< */ 2661 uint32_t value; /**< */ 2662 } xcb_fontprop_t; 2663 2664 /** 2665 * @brief xcb_fontprop_iterator_t 2666 **/ 2667 typedef struct xcb_fontprop_iterator_t { 2668 xcb_fontprop_t *data; /**< */ 2669 int rem; /**< */ 2670 int index; /**< */ 2671 } xcb_fontprop_iterator_t; 2672 2673 /** 2674 * @brief xcb_charinfo_t 2675 **/ 2676 typedef struct xcb_charinfo_t { 2677 int16_t left_side_bearing; /**< */ 2678 int16_t right_side_bearing; /**< */ 2679 int16_t character_width; /**< */ 2680 int16_t ascent; /**< */ 2681 int16_t descent; /**< */ 2682 uint16_t attributes; /**< */ 2683 } xcb_charinfo_t; 2684 2685 /** 2686 * @brief xcb_charinfo_iterator_t 2687 **/ 2688 typedef struct xcb_charinfo_iterator_t { 2689 xcb_charinfo_t *data; /**< */ 2690 int rem; /**< */ 2691 int index; /**< */ 2692 } xcb_charinfo_iterator_t; 2693 2694 /** 2695 * @brief xcb_query_font_cookie_t 2696 **/ 2697 typedef struct xcb_query_font_cookie_t { 2698 unsigned int sequence; /**< */ 2699 } xcb_query_font_cookie_t; 2700 2701 /** Opcode for xcb_query_font. */ 2702 #define XCB_QUERY_FONT 47 2703 2704 /** 2705 * @brief xcb_query_font_request_t 2706 **/ 2707 typedef struct xcb_query_font_request_t { 2708 uint8_t major_opcode; /**< */ 2709 uint8_t pad0; /**< */ 2710 uint16_t length; /**< */ 2711 xcb_fontable_t font; /**< */ 2712 } xcb_query_font_request_t; 2713 2714 /** 2715 * @brief xcb_query_font_reply_t 2716 **/ 2717 typedef struct xcb_query_font_reply_t { 2718 uint8_t response_type; /**< */ 2719 uint8_t pad0; /**< */ 2720 uint16_t sequence; /**< */ 2721 uint32_t length; /**< */ 2722 xcb_charinfo_t min_bounds; /**< */ 2723 uint8_t pad1[4]; /**< */ 2724 xcb_charinfo_t max_bounds; /**< */ 2725 uint8_t pad2[4]; /**< */ 2726 uint16_t min_char_or_byte2; /**< */ 2727 uint16_t max_char_or_byte2; /**< */ 2728 uint16_t default_char; /**< */ 2729 uint16_t properties_len; /**< */ 2730 uint8_t draw_direction; /**< */ 2731 uint8_t min_byte1; /**< */ 2732 uint8_t max_byte1; /**< */ 2733 uint8_t all_chars_exist; /**< */ 2734 int16_t font_ascent; /**< */ 2735 int16_t font_descent; /**< */ 2736 uint32_t char_infos_len; /**< */ 2737 } xcb_query_font_reply_t; 2738 2739 /** 2740 * @brief xcb_query_text_extents_cookie_t 2741 **/ 2742 typedef struct xcb_query_text_extents_cookie_t { 2743 unsigned int sequence; /**< */ 2744 } xcb_query_text_extents_cookie_t; 2745 2746 /** Opcode for xcb_query_text_extents. */ 2747 #define XCB_QUERY_TEXT_EXTENTS 48 2748 2749 /** 2750 * @brief xcb_query_text_extents_request_t 2751 **/ 2752 typedef struct xcb_query_text_extents_request_t { 2753 uint8_t major_opcode; /**< */ 2754 uint8_t odd_length; /**< */ 2755 uint16_t length; /**< */ 2756 xcb_fontable_t font; /**< */ 2757 } xcb_query_text_extents_request_t; 2758 2759 /** 2760 * @brief xcb_query_text_extents_reply_t 2761 **/ 2762 typedef struct xcb_query_text_extents_reply_t { 2763 uint8_t response_type; /**< */ 2764 uint8_t draw_direction; /**< */ 2765 uint16_t sequence; /**< */ 2766 uint32_t length; /**< */ 2767 int16_t font_ascent; /**< */ 2768 int16_t font_descent; /**< */ 2769 int16_t overall_ascent; /**< */ 2770 int16_t overall_descent; /**< */ 2771 int32_t overall_width; /**< */ 2772 int32_t overall_left; /**< */ 2773 int32_t overall_right; /**< */ 2774 } xcb_query_text_extents_reply_t; 2775 2776 /** 2777 * @brief xcb_str_t 2778 **/ 2779 typedef struct xcb_str_t { 2780 uint8_t name_len; /**< */ 2781 } xcb_str_t; 2782 2783 /** 2784 * @brief xcb_str_iterator_t 2785 **/ 2786 typedef struct xcb_str_iterator_t { 2787 xcb_str_t *data; /**< */ 2788 int rem; /**< */ 2789 int index; /**< */ 2790 } xcb_str_iterator_t; 2791 2792 /** 2793 * @brief xcb_list_fonts_cookie_t 2794 **/ 2795 typedef struct xcb_list_fonts_cookie_t { 2796 unsigned int sequence; /**< */ 2797 } xcb_list_fonts_cookie_t; 2798 2799 /** Opcode for xcb_list_fonts. */ 2800 #define XCB_LIST_FONTS 49 2801 2802 /** 2803 * @brief xcb_list_fonts_request_t 2804 **/ 2805 typedef struct xcb_list_fonts_request_t { 2806 uint8_t major_opcode; /**< */ 2807 uint8_t pad0; /**< */ 2808 uint16_t length; /**< */ 2809 uint16_t max_names; /**< */ 2810 uint16_t pattern_len; /**< */ 2811 } xcb_list_fonts_request_t; 2812 2813 /** 2814 * @brief xcb_list_fonts_reply_t 2815 **/ 2816 typedef struct xcb_list_fonts_reply_t { 2817 uint8_t response_type; /**< */ 2818 uint8_t pad0; /**< */ 2819 uint16_t sequence; /**< */ 2820 uint32_t length; /**< */ 2821 uint16_t names_len; /**< */ 2822 uint8_t pad1[22]; /**< */ 2823 } xcb_list_fonts_reply_t; 2824 2825 /** 2826 * @brief xcb_list_fonts_with_info_cookie_t 2827 **/ 2828 typedef struct xcb_list_fonts_with_info_cookie_t { 2829 unsigned int sequence; /**< */ 2830 } xcb_list_fonts_with_info_cookie_t; 2831 2832 /** Opcode for xcb_list_fonts_with_info. */ 2833 #define XCB_LIST_FONTS_WITH_INFO 50 2834 2835 /** 2836 * @brief xcb_list_fonts_with_info_request_t 2837 **/ 2838 typedef struct xcb_list_fonts_with_info_request_t { 2839 uint8_t major_opcode; /**< */ 2840 uint8_t pad0; /**< */ 2841 uint16_t length; /**< */ 2842 uint16_t max_names; /**< */ 2843 uint16_t pattern_len; /**< */ 2844 } xcb_list_fonts_with_info_request_t; 2845 2846 /** 2847 * @brief xcb_list_fonts_with_info_reply_t 2848 **/ 2849 typedef struct xcb_list_fonts_with_info_reply_t { 2850 uint8_t response_type; /**< */ 2851 uint8_t name_len; /**< */ 2852 uint16_t sequence; /**< */ 2853 uint32_t length; /**< */ 2854 xcb_charinfo_t min_bounds; /**< */ 2855 uint8_t pad0[4]; /**< */ 2856 xcb_charinfo_t max_bounds; /**< */ 2857 uint8_t pad1[4]; /**< */ 2858 uint16_t min_char_or_byte2; /**< */ 2859 uint16_t max_char_or_byte2; /**< */ 2860 uint16_t default_char; /**< */ 2861 uint16_t properties_len; /**< */ 2862 uint8_t draw_direction; /**< */ 2863 uint8_t min_byte1; /**< */ 2864 uint8_t max_byte1; /**< */ 2865 uint8_t all_chars_exist; /**< */ 2866 int16_t font_ascent; /**< */ 2867 int16_t font_descent; /**< */ 2868 uint32_t replies_hint; /**< */ 2869 } xcb_list_fonts_with_info_reply_t; 2870 2871 /** Opcode for xcb_set_font_path. */ 2872 #define XCB_SET_FONT_PATH 51 2873 2874 /** 2875 * @brief xcb_set_font_path_request_t 2876 **/ 2877 typedef struct xcb_set_font_path_request_t { 2878 uint8_t major_opcode; /**< */ 2879 uint8_t pad0; /**< */ 2880 uint16_t length; /**< */ 2881 uint16_t font_qty; /**< */ 2882 uint8_t pad1[2]; /**< */ 2883 } xcb_set_font_path_request_t; 2884 2885 /** 2886 * @brief xcb_get_font_path_cookie_t 2887 **/ 2888 typedef struct xcb_get_font_path_cookie_t { 2889 unsigned int sequence; /**< */ 2890 } xcb_get_font_path_cookie_t; 2891 2892 /** Opcode for xcb_get_font_path. */ 2893 #define XCB_GET_FONT_PATH 52 2894 2895 /** 2896 * @brief xcb_get_font_path_request_t 2897 **/ 2898 typedef struct xcb_get_font_path_request_t { 2899 uint8_t major_opcode; /**< */ 2900 uint8_t pad0; /**< */ 2901 uint16_t length; /**< */ 2902 } xcb_get_font_path_request_t; 2903 2904 /** 2905 * @brief xcb_get_font_path_reply_t 2906 **/ 2907 typedef struct xcb_get_font_path_reply_t { 2908 uint8_t response_type; /**< */ 2909 uint8_t pad0; /**< */ 2910 uint16_t sequence; /**< */ 2911 uint32_t length; /**< */ 2912 uint16_t path_len; /**< */ 2913 uint8_t pad1[22]; /**< */ 2914 } xcb_get_font_path_reply_t; 2915 2916 /** Opcode for xcb_create_pixmap. */ 2917 #define XCB_CREATE_PIXMAP 53 2918 2919 /** 2920 * @brief xcb_create_pixmap_request_t 2921 **/ 2922 typedef struct xcb_create_pixmap_request_t { 2923 uint8_t major_opcode; /**< */ 2924 uint8_t depth; /**< */ 2925 uint16_t length; /**< */ 2926 xcb_pixmap_t pid; /**< */ 2927 xcb_drawable_t drawable; /**< */ 2928 uint16_t width; /**< */ 2929 uint16_t height; /**< */ 2930 } xcb_create_pixmap_request_t; 2931 2932 /** Opcode for xcb_free_pixmap. */ 2933 #define XCB_FREE_PIXMAP 54 2934 2935 /** 2936 * @brief xcb_free_pixmap_request_t 2937 **/ 2938 typedef struct xcb_free_pixmap_request_t { 2939 uint8_t major_opcode; /**< */ 2940 uint8_t pad0; /**< */ 2941 uint16_t length; /**< */ 2942 xcb_pixmap_t pixmap; /**< */ 2943 } xcb_free_pixmap_request_t; 2944 2945 typedef enum xcb_gc_t { 2946 XCB_GC_FUNCTION = 1, 2947 /**< TODO: Refer to GX */ 2948 2949 XCB_GC_PLANE_MASK = 2, 2950 /**< In graphics operations, given a source and destination pixel, the result is 2951 computed bitwise on corresponding bits of the pixels; that is, a Boolean 2952 operation is performed in each bit plane. The plane-mask restricts the 2953 operation to a subset of planes, so the result is: 2954 2955 ((src FUNC dst) AND plane-mask) OR (dst AND (NOT plane-mask)) */ 2956 2957 XCB_GC_FOREGROUND = 4, 2958 /**< Foreground colorpixel. */ 2959 2960 XCB_GC_BACKGROUND = 8, 2961 /**< Background colorpixel. */ 2962 2963 XCB_GC_LINE_WIDTH = 16, 2964 /**< The line-width is measured in pixels and can be greater than or equal to one, a wide line, or the 2965 special value zero, a thin line. */ 2966 2967 XCB_GC_LINE_STYLE = 32, 2968 /**< The line-style defines which sections of a line are drawn: 2969 Solid The full path of the line is drawn. 2970 DoubleDash The full path of the line is drawn, but the even dashes are filled differently 2971 than the odd dashes (see fill-style), with Butt cap-style used where even and 2972 odd dashes meet. 2973 OnOffDash Only the even dashes are drawn, and cap-style applies to all internal ends of 2974 the individual dashes (except NotLast is treated as Butt). */ 2975 2976 XCB_GC_CAP_STYLE = 64, 2977 /**< The cap-style defines how the endpoints of a path are drawn: 2978 NotLast The result is equivalent to Butt, except that for a line-width of zero the final 2979 endpoint is not drawn. 2980 Butt The result is square at the endpoint (perpendicular to the slope of the line) 2981 with no projection beyond. 2982 Round The result is a circular arc with its diameter equal to the line-width, centered 2983 on the endpoint; it is equivalent to Butt for line-width zero. 2984 Projecting The result is square at the end, but the path continues beyond the endpoint for 2985 a distance equal to half the line-width; it is equivalent to Butt for line-width 2986 zero. */ 2987 2988 XCB_GC_JOIN_STYLE = 128, 2989 /**< The join-style defines how corners are drawn for wide lines: 2990 Miter The outer edges of the two lines extend to meet at an angle. However, if the 2991 angle is less than 11 degrees, a Bevel join-style is used instead. 2992 Round The result is a circular arc with a diameter equal to the line-width, centered 2993 on the joinpoint. 2994 Bevel The result is Butt endpoint styles, and then the triangular notch is filled. */ 2995 2996 XCB_GC_FILL_STYLE = 256, 2997 /**< The fill-style defines the contents of the source for line, text, and fill requests. For all text and fill 2998 requests (for example, PolyText8, PolyText16, PolyFillRectangle, FillPoly, and PolyFillArc) 2999 as well as for line requests with line-style Solid, (for example, PolyLine, PolySegment, 3000 PolyRectangle, PolyArc) and for the even dashes for line requests with line-style OnOffDash 3001 or DoubleDash: 3002 Solid Foreground 3003 Tiled Tile 3004 OpaqueStippled A tile with the same width and height as stipple but with background 3005 everywhere stipple has a zero and with foreground everywhere stipple 3006 has a one 3007 Stippled Foreground masked by stipple 3008 For the odd dashes for line requests with line-style DoubleDash: 3009 Solid Background 3010 Tiled Same as for even dashes 3011 OpaqueStippled Same as for even dashes 3012 Stippled Background masked by stipple */ 3013 3014 XCB_GC_FILL_RULE = 512, 3015 /**< */ 3016 3017 XCB_GC_TILE = 1024, 3018 /**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all 3019 dimensions. When that plane is superimposed on the drawable for use in a graphics operation, 3020 the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable 3021 specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the 3022 origin of whatever destination drawable is specified in a graphics request. 3023 The tile pixmap must have the same root and depth as the gcontext (or a Match error results). 3024 The stipple pixmap must have depth one and must have the same root as the gcontext (or a 3025 Match error results). For fill-style Stippled (but not fill-style 3026 OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an 3027 additional clip mask to be ANDed with the clip-mask. 3028 Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than 3029 others. */ 3030 3031 XCB_GC_STIPPLE = 2048, 3032 /**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all 3033 dimensions. When that plane is superimposed on the drawable for use in a graphics operation, 3034 the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable 3035 specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the 3036 origin of whatever destination drawable is specified in a graphics request. 3037 The tile pixmap must have the same root and depth as the gcontext (or a Match error results). 3038 The stipple pixmap must have depth one and must have the same root as the gcontext (or a 3039 Match error results). For fill-style Stippled (but not fill-style 3040 OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an 3041 additional clip mask to be ANDed with the clip-mask. 3042 Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than 3043 others. */ 3044 3045 XCB_GC_TILE_STIPPLE_ORIGIN_X = 4096, 3046 /**< TODO */ 3047 3048 XCB_GC_TILE_STIPPLE_ORIGIN_Y = 8192, 3049 /**< TODO */ 3050 3051 XCB_GC_FONT = 16384, 3052 /**< Which font to use for the `ImageText8` and `ImageText16` requests. */ 3053 3054 XCB_GC_SUBWINDOW_MODE = 32768, 3055 /**< For ClipByChildren, both source and destination windows are additionally 3056 clipped by all viewable InputOutput children. For IncludeInferiors, neither 3057 source nor destination window is 3058 clipped by inferiors. This will result in including subwindow contents in the source and drawing 3059 through subwindow boundaries of the destination. The use of IncludeInferiors with a source or 3060 destination window of one depth with mapped inferiors of differing depth is not illegal, but the 3061 semantics is undefined by the core protocol. */ 3062 3063 XCB_GC_GRAPHICS_EXPOSURES = 65536, 3064 /**< Whether ExposureEvents should be generated (1) or not (0). 3065 3066 The default is 1. */ 3067 3068 XCB_GC_CLIP_ORIGIN_X = 131072, 3069 /**< TODO */ 3070 3071 XCB_GC_CLIP_ORIGIN_Y = 262144, 3072 /**< TODO */ 3073 3074 XCB_GC_CLIP_MASK = 524288, 3075 /**< The clip-mask restricts writes to the destination drawable. Only pixels where the clip-mask has 3076 bits set to 1 are drawn. Pixels are not drawn outside the area covered by the clip-mask or where 3077 the clip-mask has bits set to 0. The clip-mask affects all graphics requests, but it does not clip 3078 sources. The clip-mask origin is interpreted relative to the origin of whatever destination drawable is specified in a graphics request. If a pixmap is specified as the clip-mask, it must have 3079 depth 1 and have the same root as the gcontext (or a Match error results). If clip-mask is None, 3080 then pixels are always drawn, regardless of the clip origin. The clip-mask can also be set with the 3081 SetClipRectangles request. */ 3082 3083 XCB_GC_DASH_OFFSET = 1048576, 3084 /**< TODO */ 3085 3086 XCB_GC_DASH_LIST = 2097152, 3087 /**< TODO */ 3088 3089 XCB_GC_ARC_MODE = 4194304 3090 /**< TODO */ 3091 3092 } xcb_gc_t; 3093 3094 typedef enum xcb_gx_t { 3095 XCB_GX_CLEAR = 0, 3096 XCB_GX_AND = 1, 3097 XCB_GX_AND_REVERSE = 2, 3098 XCB_GX_COPY = 3, 3099 XCB_GX_AND_INVERTED = 4, 3100 XCB_GX_NOOP = 5, 3101 XCB_GX_XOR = 6, 3102 XCB_GX_OR = 7, 3103 XCB_GX_NOR = 8, 3104 XCB_GX_EQUIV = 9, 3105 XCB_GX_INVERT = 10, 3106 XCB_GX_OR_REVERSE = 11, 3107 XCB_GX_COPY_INVERTED = 12, 3108 XCB_GX_OR_INVERTED = 13, 3109 XCB_GX_NAND = 14, 3110 XCB_GX_SET = 15 3111 } xcb_gx_t; 3112 3113 typedef enum xcb_line_style_t { 3114 XCB_LINE_STYLE_SOLID = 0, 3115 XCB_LINE_STYLE_ON_OFF_DASH = 1, 3116 XCB_LINE_STYLE_DOUBLE_DASH = 2 3117 } xcb_line_style_t; 3118 3119 typedef enum xcb_cap_style_t { 3120 XCB_CAP_STYLE_NOT_LAST = 0, 3121 XCB_CAP_STYLE_BUTT = 1, 3122 XCB_CAP_STYLE_ROUND = 2, 3123 XCB_CAP_STYLE_PROJECTING = 3 3124 } xcb_cap_style_t; 3125 3126 typedef enum xcb_join_style_t { 3127 XCB_JOIN_STYLE_MITER = 0, 3128 XCB_JOIN_STYLE_ROUND = 1, 3129 XCB_JOIN_STYLE_BEVEL = 2 3130 } xcb_join_style_t; 3131 3132 typedef enum xcb_fill_style_t { 3133 XCB_FILL_STYLE_SOLID = 0, 3134 XCB_FILL_STYLE_TILED = 1, 3135 XCB_FILL_STYLE_STIPPLED = 2, 3136 XCB_FILL_STYLE_OPAQUE_STIPPLED = 3 3137 } xcb_fill_style_t; 3138 3139 typedef enum xcb_fill_rule_t { 3140 XCB_FILL_RULE_EVEN_ODD = 0, 3141 XCB_FILL_RULE_WINDING = 1 3142 } xcb_fill_rule_t; 3143 3144 typedef enum xcb_subwindow_mode_t { 3145 XCB_SUBWINDOW_MODE_CLIP_BY_CHILDREN = 0, 3146 XCB_SUBWINDOW_MODE_INCLUDE_INFERIORS = 1 3147 } xcb_subwindow_mode_t; 3148 3149 typedef enum xcb_arc_mode_t { 3150 XCB_ARC_MODE_CHORD = 0, 3151 XCB_ARC_MODE_PIE_SLICE = 1 3152 } xcb_arc_mode_t; 3153 3154 /** Opcode for xcb_create_gc. */ 3155 #define XCB_CREATE_GC 55 3156 3157 /** 3158 * @brief xcb_create_gc_request_t 3159 **/ 3160 typedef struct xcb_create_gc_request_t { 3161 uint8_t major_opcode; /**< */ 3162 uint8_t pad0; /**< */ 3163 uint16_t length; /**< */ 3164 xcb_gcontext_t cid; /**< */ 3165 xcb_drawable_t drawable; /**< */ 3166 uint32_t value_mask; /**< */ 3167 } xcb_create_gc_request_t; 3168 3169 /** Opcode for xcb_change_gc. */ 3170 #define XCB_CHANGE_GC 56 3171 3172 /** 3173 * @brief xcb_change_gc_request_t 3174 **/ 3175 typedef struct xcb_change_gc_request_t { 3176 uint8_t major_opcode; /**< */ 3177 uint8_t pad0; /**< */ 3178 uint16_t length; /**< */ 3179 xcb_gcontext_t gc; /**< */ 3180 uint32_t value_mask; /**< */ 3181 } xcb_change_gc_request_t; 3182 3183 /** Opcode for xcb_copy_gc. */ 3184 #define XCB_COPY_GC 57 3185 3186 /** 3187 * @brief xcb_copy_gc_request_t 3188 **/ 3189 typedef struct xcb_copy_gc_request_t { 3190 uint8_t major_opcode; /**< */ 3191 uint8_t pad0; /**< */ 3192 uint16_t length; /**< */ 3193 xcb_gcontext_t src_gc; /**< */ 3194 xcb_gcontext_t dst_gc; /**< */ 3195 uint32_t value_mask; /**< */ 3196 } xcb_copy_gc_request_t; 3197 3198 /** Opcode for xcb_set_dashes. */ 3199 #define XCB_SET_DASHES 58 3200 3201 /** 3202 * @brief xcb_set_dashes_request_t 3203 **/ 3204 typedef struct xcb_set_dashes_request_t { 3205 uint8_t major_opcode; /**< */ 3206 uint8_t pad0; /**< */ 3207 uint16_t length; /**< */ 3208 xcb_gcontext_t gc; /**< */ 3209 uint16_t dash_offset; /**< */ 3210 uint16_t dashes_len; /**< */ 3211 } xcb_set_dashes_request_t; 3212 3213 typedef enum xcb_clip_ordering_t { 3214 XCB_CLIP_ORDERING_UNSORTED = 0, 3215 XCB_CLIP_ORDERING_Y_SORTED = 1, 3216 XCB_CLIP_ORDERING_YX_SORTED = 2, 3217 XCB_CLIP_ORDERING_YX_BANDED = 3 3218 } xcb_clip_ordering_t; 3219 3220 /** Opcode for xcb_set_clip_rectangles. */ 3221 #define XCB_SET_CLIP_RECTANGLES 59 3222 3223 /** 3224 * @brief xcb_set_clip_rectangles_request_t 3225 **/ 3226 typedef struct xcb_set_clip_rectangles_request_t { 3227 uint8_t major_opcode; /**< */ 3228 uint8_t ordering; /**< */ 3229 uint16_t length; /**< */ 3230 xcb_gcontext_t gc; /**< */ 3231 int16_t clip_x_origin; /**< */ 3232 int16_t clip_y_origin; /**< */ 3233 } xcb_set_clip_rectangles_request_t; 3234 3235 /** Opcode for xcb_free_gc. */ 3236 #define XCB_FREE_GC 60 3237 3238 /** 3239 * @brief xcb_free_gc_request_t 3240 **/ 3241 typedef struct xcb_free_gc_request_t { 3242 uint8_t major_opcode; /**< */ 3243 uint8_t pad0; /**< */ 3244 uint16_t length; /**< */ 3245 xcb_gcontext_t gc; /**< */ 3246 } xcb_free_gc_request_t; 3247 3248 /** Opcode for xcb_clear_area. */ 3249 #define XCB_CLEAR_AREA 61 3250 3251 /** 3252 * @brief xcb_clear_area_request_t 3253 **/ 3254 typedef struct xcb_clear_area_request_t { 3255 uint8_t major_opcode; /**< */ 3256 uint8_t exposures; /**< */ 3257 uint16_t length; /**< */ 3258 xcb_window_t window; /**< */ 3259 int16_t x; /**< */ 3260 int16_t y; /**< */ 3261 uint16_t width; /**< */ 3262 uint16_t height; /**< */ 3263 } xcb_clear_area_request_t; 3264 3265 /** Opcode for xcb_copy_area. */ 3266 #define XCB_COPY_AREA 62 3267 3268 /** 3269 * @brief xcb_copy_area_request_t 3270 **/ 3271 typedef struct xcb_copy_area_request_t { 3272 uint8_t major_opcode; /**< */ 3273 uint8_t pad0; /**< */ 3274 uint16_t length; /**< */ 3275 xcb_drawable_t src_drawable; /**< */ 3276 xcb_drawable_t dst_drawable; /**< */ 3277 xcb_gcontext_t gc; /**< */ 3278 int16_t src_x; /**< */ 3279 int16_t src_y; /**< */ 3280 int16_t dst_x; /**< */ 3281 int16_t dst_y; /**< */ 3282 uint16_t width; /**< */ 3283 uint16_t height; /**< */ 3284 } xcb_copy_area_request_t; 3285 3286 /** Opcode for xcb_copy_plane. */ 3287 #define XCB_COPY_PLANE 63 3288 3289 /** 3290 * @brief xcb_copy_plane_request_t 3291 **/ 3292 typedef struct xcb_copy_plane_request_t { 3293 uint8_t major_opcode; /**< */ 3294 uint8_t pad0; /**< */ 3295 uint16_t length; /**< */ 3296 xcb_drawable_t src_drawable; /**< */ 3297 xcb_drawable_t dst_drawable; /**< */ 3298 xcb_gcontext_t gc; /**< */ 3299 int16_t src_x; /**< */ 3300 int16_t src_y; /**< */ 3301 int16_t dst_x; /**< */ 3302 int16_t dst_y; /**< */ 3303 uint16_t width; /**< */ 3304 uint16_t height; /**< */ 3305 uint32_t bit_plane; /**< */ 3306 } xcb_copy_plane_request_t; 3307 3308 typedef enum xcb_coord_mode_t { 3309 XCB_COORD_MODE_ORIGIN = 0, 3310 /**< Treats all coordinates as relative to the origin. */ 3311 3312 XCB_COORD_MODE_PREVIOUS = 1 3313 /**< Treats all coordinates after the first as relative to the previous coordinate. */ 3314 3315 } xcb_coord_mode_t; 3316 3317 /** Opcode for xcb_poly_point. */ 3318 #define XCB_POLY_POINT 64 3319 3320 /** 3321 * @brief xcb_poly_point_request_t 3322 **/ 3323 typedef struct xcb_poly_point_request_t { 3324 uint8_t major_opcode; /**< */ 3325 uint8_t coordinate_mode; /**< */ 3326 uint16_t length; /**< */ 3327 xcb_drawable_t drawable; /**< */ 3328 xcb_gcontext_t gc; /**< */ 3329 } xcb_poly_point_request_t; 3330 3331 /** Opcode for xcb_poly_line. */ 3332 #define XCB_POLY_LINE 65 3333 3334 /** 3335 * @brief xcb_poly_line_request_t 3336 **/ 3337 typedef struct xcb_poly_line_request_t { 3338 uint8_t major_opcode; /**< */ 3339 uint8_t coordinate_mode; /**< */ 3340 uint16_t length; /**< */ 3341 xcb_drawable_t drawable; /**< */ 3342 xcb_gcontext_t gc; /**< */ 3343 } xcb_poly_line_request_t; 3344 3345 /** 3346 * @brief xcb_segment_t 3347 **/ 3348 typedef struct xcb_segment_t { 3349 int16_t x1; /**< */ 3350 int16_t y1; /**< */ 3351 int16_t x2; /**< */ 3352 int16_t y2; /**< */ 3353 } xcb_segment_t; 3354 3355 /** 3356 * @brief xcb_segment_iterator_t 3357 **/ 3358 typedef struct xcb_segment_iterator_t { 3359 xcb_segment_t *data; /**< */ 3360 int rem; /**< */ 3361 int index; /**< */ 3362 } xcb_segment_iterator_t; 3363 3364 /** Opcode for xcb_poly_segment. */ 3365 #define XCB_POLY_SEGMENT 66 3366 3367 /** 3368 * @brief xcb_poly_segment_request_t 3369 **/ 3370 typedef struct xcb_poly_segment_request_t { 3371 uint8_t major_opcode; /**< */ 3372 uint8_t pad0; /**< */ 3373 uint16_t length; /**< */ 3374 xcb_drawable_t drawable; /**< */ 3375 xcb_gcontext_t gc; /**< */ 3376 } xcb_poly_segment_request_t; 3377 3378 /** Opcode for xcb_poly_rectangle. */ 3379 #define XCB_POLY_RECTANGLE 67 3380 3381 /** 3382 * @brief xcb_poly_rectangle_request_t 3383 **/ 3384 typedef struct xcb_poly_rectangle_request_t { 3385 uint8_t major_opcode; /**< */ 3386 uint8_t pad0; /**< */ 3387 uint16_t length; /**< */ 3388 xcb_drawable_t drawable; /**< */ 3389 xcb_gcontext_t gc; /**< */ 3390 } xcb_poly_rectangle_request_t; 3391 3392 /** Opcode for xcb_poly_arc. */ 3393 #define XCB_POLY_ARC 68 3394 3395 /** 3396 * @brief xcb_poly_arc_request_t 3397 **/ 3398 typedef struct xcb_poly_arc_request_t { 3399 uint8_t major_opcode; /**< */ 3400 uint8_t pad0; /**< */ 3401 uint16_t length; /**< */ 3402 xcb_drawable_t drawable; /**< */ 3403 xcb_gcontext_t gc; /**< */ 3404 } xcb_poly_arc_request_t; 3405 3406 typedef enum xcb_poly_shape_t { 3407 XCB_POLY_SHAPE_COMPLEX = 0, 3408 XCB_POLY_SHAPE_NONCONVEX = 1, 3409 XCB_POLY_SHAPE_CONVEX = 2 3410 } xcb_poly_shape_t; 3411 3412 /** Opcode for xcb_fill_poly. */ 3413 #define XCB_FILL_POLY 69 3414 3415 /** 3416 * @brief xcb_fill_poly_request_t 3417 **/ 3418 typedef struct xcb_fill_poly_request_t { 3419 uint8_t major_opcode; /**< */ 3420 uint8_t pad0; /**< */ 3421 uint16_t length; /**< */ 3422 xcb_drawable_t drawable; /**< */ 3423 xcb_gcontext_t gc; /**< */ 3424 uint8_t shape; /**< */ 3425 uint8_t coordinate_mode; /**< */ 3426 uint8_t pad1[2]; /**< */ 3427 } xcb_fill_poly_request_t; 3428 3429 /** Opcode for xcb_poly_fill_rectangle. */ 3430 #define XCB_POLY_FILL_RECTANGLE 70 3431 3432 /** 3433 * @brief xcb_poly_fill_rectangle_request_t 3434 **/ 3435 typedef struct xcb_poly_fill_rectangle_request_t { 3436 uint8_t major_opcode; /**< */ 3437 uint8_t pad0; /**< */ 3438 uint16_t length; /**< */ 3439 xcb_drawable_t drawable; /**< */ 3440 xcb_gcontext_t gc; /**< */ 3441 } xcb_poly_fill_rectangle_request_t; 3442 3443 /** Opcode for xcb_poly_fill_arc. */ 3444 #define XCB_POLY_FILL_ARC 71 3445 3446 /** 3447 * @brief xcb_poly_fill_arc_request_t 3448 **/ 3449 typedef struct xcb_poly_fill_arc_request_t { 3450 uint8_t major_opcode; /**< */ 3451 uint8_t pad0; /**< */ 3452 uint16_t length; /**< */ 3453 xcb_drawable_t drawable; /**< */ 3454 xcb_gcontext_t gc; /**< */ 3455 } xcb_poly_fill_arc_request_t; 3456 3457 typedef enum xcb_image_format_t { 3458 XCB_IMAGE_FORMAT_XY_BITMAP = 0, 3459 XCB_IMAGE_FORMAT_XY_PIXMAP = 1, 3460 XCB_IMAGE_FORMAT_Z_PIXMAP = 2 3461 } xcb_image_format_t; 3462 3463 /** Opcode for xcb_put_image. */ 3464 #define XCB_PUT_IMAGE 72 3465 3466 /** 3467 * @brief xcb_put_image_request_t 3468 **/ 3469 typedef struct xcb_put_image_request_t { 3470 uint8_t major_opcode; /**< */ 3471 uint8_t format; /**< */ 3472 uint16_t length; /**< */ 3473 xcb_drawable_t drawable; /**< */ 3474 xcb_gcontext_t gc; /**< */ 3475 uint16_t width; /**< */ 3476 uint16_t height; /**< */ 3477 int16_t dst_x; /**< */ 3478 int16_t dst_y; /**< */ 3479 uint8_t left_pad; /**< */ 3480 uint8_t depth; /**< */ 3481 uint8_t pad0[2]; /**< */ 3482 } xcb_put_image_request_t; 3483 3484 /** 3485 * @brief xcb_get_image_cookie_t 3486 **/ 3487 typedef struct xcb_get_image_cookie_t { 3488 unsigned int sequence; /**< */ 3489 } xcb_get_image_cookie_t; 3490 3491 /** Opcode for xcb_get_image. */ 3492 #define XCB_GET_IMAGE 73 3493 3494 /** 3495 * @brief xcb_get_image_request_t 3496 **/ 3497 typedef struct xcb_get_image_request_t { 3498 uint8_t major_opcode; /**< */ 3499 uint8_t format; /**< */ 3500 uint16_t length; /**< */ 3501 xcb_drawable_t drawable; /**< */ 3502 int16_t x; /**< */ 3503 int16_t y; /**< */ 3504 uint16_t width; /**< */ 3505 uint16_t height; /**< */ 3506 uint32_t plane_mask; /**< */ 3507 } xcb_get_image_request_t; 3508 3509 /** 3510 * @brief xcb_get_image_reply_t 3511 **/ 3512 typedef struct xcb_get_image_reply_t { 3513 uint8_t response_type; /**< */ 3514 uint8_t depth; /**< */ 3515 uint16_t sequence; /**< */ 3516 uint32_t length; /**< */ 3517 xcb_visualid_t visual; /**< */ 3518 uint8_t pad0[20]; /**< */ 3519 } xcb_get_image_reply_t; 3520 3521 /** Opcode for xcb_poly_text_8. */ 3522 #define XCB_POLY_TEXT_8 74 3523 3524 /** 3525 * @brief xcb_poly_text_8_request_t 3526 **/ 3527 typedef struct xcb_poly_text_8_request_t { 3528 uint8_t major_opcode; /**< */ 3529 uint8_t pad0; /**< */ 3530 uint16_t length; /**< */ 3531 xcb_drawable_t drawable; /**< */ 3532 xcb_gcontext_t gc; /**< */ 3533 int16_t x; /**< */ 3534 int16_t y; /**< */ 3535 } xcb_poly_text_8_request_t; 3536 3537 /** Opcode for xcb_poly_text_16. */ 3538 #define XCB_POLY_TEXT_16 75 3539 3540 /** 3541 * @brief xcb_poly_text_16_request_t 3542 **/ 3543 typedef struct xcb_poly_text_16_request_t { 3544 uint8_t major_opcode; /**< */ 3545 uint8_t pad0; /**< */ 3546 uint16_t length; /**< */ 3547 xcb_drawable_t drawable; /**< */ 3548 xcb_gcontext_t gc; /**< */ 3549 int16_t x; /**< */ 3550 int16_t y; /**< */ 3551 } xcb_poly_text_16_request_t; 3552 3553 /** Opcode for xcb_image_text_8. */ 3554 #define XCB_IMAGE_TEXT_8 76 3555 3556 /** 3557 * @brief xcb_image_text_8_request_t 3558 **/ 3559 typedef struct xcb_image_text_8_request_t { 3560 uint8_t major_opcode; /**< */ 3561 uint8_t string_len; /**< */ 3562 uint16_t length; /**< */ 3563 xcb_drawable_t drawable; /**< */ 3564 xcb_gcontext_t gc; /**< */ 3565 int16_t x; /**< */ 3566 int16_t y; /**< */ 3567 } xcb_image_text_8_request_t; 3568 3569 /** Opcode for xcb_image_text_16. */ 3570 #define XCB_IMAGE_TEXT_16 77 3571 3572 /** 3573 * @brief xcb_image_text_16_request_t 3574 **/ 3575 typedef struct xcb_image_text_16_request_t { 3576 uint8_t major_opcode; /**< */ 3577 uint8_t string_len; /**< */ 3578 uint16_t length; /**< */ 3579 xcb_drawable_t drawable; /**< */ 3580 xcb_gcontext_t gc; /**< */ 3581 int16_t x; /**< */ 3582 int16_t y; /**< */ 3583 } xcb_image_text_16_request_t; 3584 3585 typedef enum xcb_colormap_alloc_t { 3586 XCB_COLORMAP_ALLOC_NONE = 0, 3587 XCB_COLORMAP_ALLOC_ALL = 1 3588 } xcb_colormap_alloc_t; 3589 3590 /** Opcode for xcb_create_colormap. */ 3591 #define XCB_CREATE_COLORMAP 78 3592 3593 /** 3594 * @brief xcb_create_colormap_request_t 3595 **/ 3596 typedef struct xcb_create_colormap_request_t { 3597 uint8_t major_opcode; /**< */ 3598 uint8_t alloc; /**< */ 3599 uint16_t length; /**< */ 3600 xcb_colormap_t mid; /**< */ 3601 xcb_window_t window; /**< */ 3602 xcb_visualid_t visual; /**< */ 3603 } xcb_create_colormap_request_t; 3604 3605 /** Opcode for xcb_free_colormap. */ 3606 #define XCB_FREE_COLORMAP 79 3607 3608 /** 3609 * @brief xcb_free_colormap_request_t 3610 **/ 3611 typedef struct xcb_free_colormap_request_t { 3612 uint8_t major_opcode; /**< */ 3613 uint8_t pad0; /**< */ 3614 uint16_t length; /**< */ 3615 xcb_colormap_t cmap; /**< */ 3616 } xcb_free_colormap_request_t; 3617 3618 /** Opcode for xcb_copy_colormap_and_free. */ 3619 #define XCB_COPY_COLORMAP_AND_FREE 80 3620 3621 /** 3622 * @brief xcb_copy_colormap_and_free_request_t 3623 **/ 3624 typedef struct xcb_copy_colormap_and_free_request_t { 3625 uint8_t major_opcode; /**< */ 3626 uint8_t pad0; /**< */ 3627 uint16_t length; /**< */ 3628 xcb_colormap_t mid; /**< */ 3629 xcb_colormap_t src_cmap; /**< */ 3630 } xcb_copy_colormap_and_free_request_t; 3631 3632 /** Opcode for xcb_install_colormap. */ 3633 #define XCB_INSTALL_COLORMAP 81 3634 3635 /** 3636 * @brief xcb_install_colormap_request_t 3637 **/ 3638 typedef struct xcb_install_colormap_request_t { 3639 uint8_t major_opcode; /**< */ 3640 uint8_t pad0; /**< */ 3641 uint16_t length; /**< */ 3642 xcb_colormap_t cmap; /**< */ 3643 } xcb_install_colormap_request_t; 3644 3645 /** Opcode for xcb_uninstall_colormap. */ 3646 #define XCB_UNINSTALL_COLORMAP 82 3647 3648 /** 3649 * @brief xcb_uninstall_colormap_request_t 3650 **/ 3651 typedef struct xcb_uninstall_colormap_request_t { 3652 uint8_t major_opcode; /**< */ 3653 uint8_t pad0; /**< */ 3654 uint16_t length; /**< */ 3655 xcb_colormap_t cmap; /**< */ 3656 } xcb_uninstall_colormap_request_t; 3657 3658 /** 3659 * @brief xcb_list_installed_colormaps_cookie_t 3660 **/ 3661 typedef struct xcb_list_installed_colormaps_cookie_t { 3662 unsigned int sequence; /**< */ 3663 } xcb_list_installed_colormaps_cookie_t; 3664 3665 /** Opcode for xcb_list_installed_colormaps. */ 3666 #define XCB_LIST_INSTALLED_COLORMAPS 83 3667 3668 /** 3669 * @brief xcb_list_installed_colormaps_request_t 3670 **/ 3671 typedef struct xcb_list_installed_colormaps_request_t { 3672 uint8_t major_opcode; /**< */ 3673 uint8_t pad0; /**< */ 3674 uint16_t length; /**< */ 3675 xcb_window_t window; /**< */ 3676 } xcb_list_installed_colormaps_request_t; 3677 3678 /** 3679 * @brief xcb_list_installed_colormaps_reply_t 3680 **/ 3681 typedef struct xcb_list_installed_colormaps_reply_t { 3682 uint8_t response_type; /**< */ 3683 uint8_t pad0; /**< */ 3684 uint16_t sequence; /**< */ 3685 uint32_t length; /**< */ 3686 uint16_t cmaps_len; /**< */ 3687 uint8_t pad1[22]; /**< */ 3688 } xcb_list_installed_colormaps_reply_t; 3689 3690 /** 3691 * @brief xcb_alloc_color_cookie_t 3692 **/ 3693 typedef struct xcb_alloc_color_cookie_t { 3694 unsigned int sequence; /**< */ 3695 } xcb_alloc_color_cookie_t; 3696 3697 /** Opcode for xcb_alloc_color. */ 3698 #define XCB_ALLOC_COLOR 84 3699 3700 /** 3701 * @brief xcb_alloc_color_request_t 3702 **/ 3703 typedef struct xcb_alloc_color_request_t { 3704 uint8_t major_opcode; /**< */ 3705 uint8_t pad0; /**< */ 3706 uint16_t length; /**< */ 3707 xcb_colormap_t cmap; /**< */ 3708 uint16_t red; /**< */ 3709 uint16_t green; /**< */ 3710 uint16_t blue; /**< */ 3711 uint8_t pad1[2]; /**< */ 3712 } xcb_alloc_color_request_t; 3713 3714 /** 3715 * @brief xcb_alloc_color_reply_t 3716 **/ 3717 typedef struct xcb_alloc_color_reply_t { 3718 uint8_t response_type; /**< */ 3719 uint8_t pad0; /**< */ 3720 uint16_t sequence; /**< */ 3721 uint32_t length; /**< */ 3722 uint16_t red; /**< */ 3723 uint16_t green; /**< */ 3724 uint16_t blue; /**< */ 3725 uint8_t pad1[2]; /**< */ 3726 uint32_t pixel; /**< */ 3727 } xcb_alloc_color_reply_t; 3728 3729 /** 3730 * @brief xcb_alloc_named_color_cookie_t 3731 **/ 3732 typedef struct xcb_alloc_named_color_cookie_t { 3733 unsigned int sequence; /**< */ 3734 } xcb_alloc_named_color_cookie_t; 3735 3736 /** Opcode for xcb_alloc_named_color. */ 3737 #define XCB_ALLOC_NAMED_COLOR 85 3738 3739 /** 3740 * @brief xcb_alloc_named_color_request_t 3741 **/ 3742 typedef struct xcb_alloc_named_color_request_t { 3743 uint8_t major_opcode; /**< */ 3744 uint8_t pad0; /**< */ 3745 uint16_t length; /**< */ 3746 xcb_colormap_t cmap; /**< */ 3747 uint16_t name_len; /**< */ 3748 uint8_t pad1[2]; /**< */ 3749 } xcb_alloc_named_color_request_t; 3750 3751 /** 3752 * @brief xcb_alloc_named_color_reply_t 3753 **/ 3754 typedef struct xcb_alloc_named_color_reply_t { 3755 uint8_t response_type; /**< */ 3756 uint8_t pad0; /**< */ 3757 uint16_t sequence; /**< */ 3758 uint32_t length; /**< */ 3759 uint32_t pixel; /**< */ 3760 uint16_t exact_red; /**< */ 3761 uint16_t exact_green; /**< */ 3762 uint16_t exact_blue; /**< */ 3763 uint16_t visual_red; /**< */ 3764 uint16_t visual_green; /**< */ 3765 uint16_t visual_blue; /**< */ 3766 } xcb_alloc_named_color_reply_t; 3767 3768 /** 3769 * @brief xcb_alloc_color_cells_cookie_t 3770 **/ 3771 typedef struct xcb_alloc_color_cells_cookie_t { 3772 unsigned int sequence; /**< */ 3773 } xcb_alloc_color_cells_cookie_t; 3774 3775 /** Opcode for xcb_alloc_color_cells. */ 3776 #define XCB_ALLOC_COLOR_CELLS 86 3777 3778 /** 3779 * @brief xcb_alloc_color_cells_request_t 3780 **/ 3781 typedef struct xcb_alloc_color_cells_request_t { 3782 uint8_t major_opcode; /**< */ 3783 uint8_t contiguous; /**< */ 3784 uint16_t length; /**< */ 3785 xcb_colormap_t cmap; /**< */ 3786 uint16_t colors; /**< */ 3787 uint16_t planes; /**< */ 3788 } xcb_alloc_color_cells_request_t; 3789 3790 /** 3791 * @brief xcb_alloc_color_cells_reply_t 3792 **/ 3793 typedef struct xcb_alloc_color_cells_reply_t { 3794 uint8_t response_type; /**< */ 3795 uint8_t pad0; /**< */ 3796 uint16_t sequence; /**< */ 3797 uint32_t length; /**< */ 3798 uint16_t pixels_len; /**< */ 3799 uint16_t masks_len; /**< */ 3800 uint8_t pad1[20]; /**< */ 3801 } xcb_alloc_color_cells_reply_t; 3802 3803 /** 3804 * @brief xcb_alloc_color_planes_cookie_t 3805 **/ 3806 typedef struct xcb_alloc_color_planes_cookie_t { 3807 unsigned int sequence; /**< */ 3808 } xcb_alloc_color_planes_cookie_t; 3809 3810 /** Opcode for xcb_alloc_color_planes. */ 3811 #define XCB_ALLOC_COLOR_PLANES 87 3812 3813 /** 3814 * @brief xcb_alloc_color_planes_request_t 3815 **/ 3816 typedef struct xcb_alloc_color_planes_request_t { 3817 uint8_t major_opcode; /**< */ 3818 uint8_t contiguous; /**< */ 3819 uint16_t length; /**< */ 3820 xcb_colormap_t cmap; /**< */ 3821 uint16_t colors; /**< */ 3822 uint16_t reds; /**< */ 3823 uint16_t greens; /**< */ 3824 uint16_t blues; /**< */ 3825 } xcb_alloc_color_planes_request_t; 3826 3827 /** 3828 * @brief xcb_alloc_color_planes_reply_t 3829 **/ 3830 typedef struct xcb_alloc_color_planes_reply_t { 3831 uint8_t response_type; /**< */ 3832 uint8_t pad0; /**< */ 3833 uint16_t sequence; /**< */ 3834 uint32_t length; /**< */ 3835 uint16_t pixels_len; /**< */ 3836 uint8_t pad1[2]; /**< */ 3837 uint32_t red_mask; /**< */ 3838 uint32_t green_mask; /**< */ 3839 uint32_t blue_mask; /**< */ 3840 uint8_t pad2[8]; /**< */ 3841 } xcb_alloc_color_planes_reply_t; 3842 3843 /** Opcode for xcb_free_colors. */ 3844 #define XCB_FREE_COLORS 88 3845 3846 /** 3847 * @brief xcb_free_colors_request_t 3848 **/ 3849 typedef struct xcb_free_colors_request_t { 3850 uint8_t major_opcode; /**< */ 3851 uint8_t pad0; /**< */ 3852 uint16_t length; /**< */ 3853 xcb_colormap_t cmap; /**< */ 3854 uint32_t plane_mask; /**< */ 3855 } xcb_free_colors_request_t; 3856 3857 typedef enum xcb_color_flag_t { 3858 XCB_COLOR_FLAG_RED = 1, 3859 XCB_COLOR_FLAG_GREEN = 2, 3860 XCB_COLOR_FLAG_BLUE = 4 3861 } xcb_color_flag_t; 3862 3863 /** 3864 * @brief xcb_coloritem_t 3865 **/ 3866 typedef struct xcb_coloritem_t { 3867 uint32_t pixel; /**< */ 3868 uint16_t red; /**< */ 3869 uint16_t green; /**< */ 3870 uint16_t blue; /**< */ 3871 uint8_t flags; /**< */ 3872 uint8_t pad0; /**< */ 3873 } xcb_coloritem_t; 3874 3875 /** 3876 * @brief xcb_coloritem_iterator_t 3877 **/ 3878 typedef struct xcb_coloritem_iterator_t { 3879 xcb_coloritem_t *data; /**< */ 3880 int rem; /**< */ 3881 int index; /**< */ 3882 } xcb_coloritem_iterator_t; 3883 3884 /** Opcode for xcb_store_colors. */ 3885 #define XCB_STORE_COLORS 89 3886 3887 /** 3888 * @brief xcb_store_colors_request_t 3889 **/ 3890 typedef struct xcb_store_colors_request_t { 3891 uint8_t major_opcode; /**< */ 3892 uint8_t pad0; /**< */ 3893 uint16_t length; /**< */ 3894 xcb_colormap_t cmap; /**< */ 3895 } xcb_store_colors_request_t; 3896 3897 /** Opcode for xcb_store_named_color. */ 3898 #define XCB_STORE_NAMED_COLOR 90 3899 3900 /** 3901 * @brief xcb_store_named_color_request_t 3902 **/ 3903 typedef struct xcb_store_named_color_request_t { 3904 uint8_t major_opcode; /**< */ 3905 uint8_t flags; /**< */ 3906 uint16_t length; /**< */ 3907 xcb_colormap_t cmap; /**< */ 3908 uint32_t pixel; /**< */ 3909 uint16_t name_len; /**< */ 3910 uint8_t pad0[2]; /**< */ 3911 } xcb_store_named_color_request_t; 3912 3913 /** 3914 * @brief xcb_rgb_t 3915 **/ 3916 typedef struct xcb_rgb_t { 3917 uint16_t red; /**< */ 3918 uint16_t green; /**< */ 3919 uint16_t blue; /**< */ 3920 uint8_t pad0[2]; /**< */ 3921 } xcb_rgb_t; 3922 3923 /** 3924 * @brief xcb_rgb_iterator_t 3925 **/ 3926 typedef struct xcb_rgb_iterator_t { 3927 xcb_rgb_t *data; /**< */ 3928 int rem; /**< */ 3929 int index; /**< */ 3930 } xcb_rgb_iterator_t; 3931 3932 /** 3933 * @brief xcb_query_colors_cookie_t 3934 **/ 3935 typedef struct xcb_query_colors_cookie_t { 3936 unsigned int sequence; /**< */ 3937 } xcb_query_colors_cookie_t; 3938 3939 /** Opcode for xcb_query_colors. */ 3940 #define XCB_QUERY_COLORS 91 3941 3942 /** 3943 * @brief xcb_query_colors_request_t 3944 **/ 3945 typedef struct xcb_query_colors_request_t { 3946 uint8_t major_opcode; /**< */ 3947 uint8_t pad0; /**< */ 3948 uint16_t length; /**< */ 3949 xcb_colormap_t cmap; /**< */ 3950 } xcb_query_colors_request_t; 3951 3952 /** 3953 * @brief xcb_query_colors_reply_t 3954 **/ 3955 typedef struct xcb_query_colors_reply_t { 3956 uint8_t response_type; /**< */ 3957 uint8_t pad0; /**< */ 3958 uint16_t sequence; /**< */ 3959 uint32_t length; /**< */ 3960 uint16_t colors_len; /**< */ 3961 uint8_t pad1[22]; /**< */ 3962 } xcb_query_colors_reply_t; 3963 3964 /** 3965 * @brief xcb_lookup_color_cookie_t 3966 **/ 3967 typedef struct xcb_lookup_color_cookie_t { 3968 unsigned int sequence; /**< */ 3969 } xcb_lookup_color_cookie_t; 3970 3971 /** Opcode for xcb_lookup_color. */ 3972 #define XCB_LOOKUP_COLOR 92 3973 3974 /** 3975 * @brief xcb_lookup_color_request_t 3976 **/ 3977 typedef struct xcb_lookup_color_request_t { 3978 uint8_t major_opcode; /**< */ 3979 uint8_t pad0; /**< */ 3980 uint16_t length; /**< */ 3981 xcb_colormap_t cmap; /**< */ 3982 uint16_t name_len; /**< */ 3983 uint8_t pad1[2]; /**< */ 3984 } xcb_lookup_color_request_t; 3985 3986 /** 3987 * @brief xcb_lookup_color_reply_t 3988 **/ 3989 typedef struct xcb_lookup_color_reply_t { 3990 uint8_t response_type; /**< */ 3991 uint8_t pad0; /**< */ 3992 uint16_t sequence; /**< */ 3993 uint32_t length; /**< */ 3994 uint16_t exact_red; /**< */ 3995 uint16_t exact_green; /**< */ 3996 uint16_t exact_blue; /**< */ 3997 uint16_t visual_red; /**< */ 3998 uint16_t visual_green; /**< */ 3999 uint16_t visual_blue; /**< */ 4000 } xcb_lookup_color_reply_t; 4001 4002 typedef enum xcb_pixmap_enum_t { 4003 XCB_PIXMAP_NONE = 0 4004 } xcb_pixmap_enum_t; 4005 4006 /** Opcode for xcb_create_cursor. */ 4007 #define XCB_CREATE_CURSOR 93 4008 4009 /** 4010 * @brief xcb_create_cursor_request_t 4011 **/ 4012 typedef struct xcb_create_cursor_request_t { 4013 uint8_t major_opcode; /**< */ 4014 uint8_t pad0; /**< */ 4015 uint16_t length; /**< */ 4016 xcb_cursor_t cid; /**< */ 4017 xcb_pixmap_t source; /**< */ 4018 xcb_pixmap_t mask; /**< */ 4019 uint16_t fore_red; /**< */ 4020 uint16_t fore_green; /**< */ 4021 uint16_t fore_blue; /**< */ 4022 uint16_t back_red; /**< */ 4023 uint16_t back_green; /**< */ 4024 uint16_t back_blue; /**< */ 4025 uint16_t x; /**< */ 4026 uint16_t y; /**< */ 4027 } xcb_create_cursor_request_t; 4028 4029 typedef enum xcb_font_enum_t { 4030 XCB_FONT_NONE = 0 4031 } xcb_font_enum_t; 4032 4033 /** Opcode for xcb_create_glyph_cursor. */ 4034 #define XCB_CREATE_GLYPH_CURSOR 94 4035 4036 /** 4037 * @brief xcb_create_glyph_cursor_request_t 4038 **/ 4039 typedef struct xcb_create_glyph_cursor_request_t { 4040 uint8_t major_opcode; /**< */ 4041 uint8_t pad0; /**< */ 4042 uint16_t length; /**< */ 4043 xcb_cursor_t cid; /**< */ 4044 xcb_font_t source_font; /**< */ 4045 xcb_font_t mask_font; /**< */ 4046 uint16_t source_char; /**< */ 4047 uint16_t mask_char; /**< */ 4048 uint16_t fore_red; /**< */ 4049 uint16_t fore_green; /**< */ 4050 uint16_t fore_blue; /**< */ 4051 uint16_t back_red; /**< */ 4052 uint16_t back_green; /**< */ 4053 uint16_t back_blue; /**< */ 4054 } xcb_create_glyph_cursor_request_t; 4055 4056 /** Opcode for xcb_free_cursor. */ 4057 #define XCB_FREE_CURSOR 95 4058 4059 /** 4060 * @brief xcb_free_cursor_request_t 4061 **/ 4062 typedef struct xcb_free_cursor_request_t { 4063 uint8_t major_opcode; /**< */ 4064 uint8_t pad0; /**< */ 4065 uint16_t length; /**< */ 4066 xcb_cursor_t cursor; /**< */ 4067 } xcb_free_cursor_request_t; 4068 4069 /** Opcode for xcb_recolor_cursor. */ 4070 #define XCB_RECOLOR_CURSOR 96 4071 4072 /** 4073 * @brief xcb_recolor_cursor_request_t 4074 **/ 4075 typedef struct xcb_recolor_cursor_request_t { 4076 uint8_t major_opcode; /**< */ 4077 uint8_t pad0; /**< */ 4078 uint16_t length; /**< */ 4079 xcb_cursor_t cursor; /**< */ 4080 uint16_t fore_red; /**< */ 4081 uint16_t fore_green; /**< */ 4082 uint16_t fore_blue; /**< */ 4083 uint16_t back_red; /**< */ 4084 uint16_t back_green; /**< */ 4085 uint16_t back_blue; /**< */ 4086 } xcb_recolor_cursor_request_t; 4087 4088 typedef enum xcb_query_shape_of_t { 4089 XCB_QUERY_SHAPE_OF_LARGEST_CURSOR = 0, 4090 XCB_QUERY_SHAPE_OF_FASTEST_TILE = 1, 4091 XCB_QUERY_SHAPE_OF_FASTEST_STIPPLE = 2 4092 } xcb_query_shape_of_t; 4093 4094 /** 4095 * @brief xcb_query_best_size_cookie_t 4096 **/ 4097 typedef struct xcb_query_best_size_cookie_t { 4098 unsigned int sequence; /**< */ 4099 } xcb_query_best_size_cookie_t; 4100 4101 /** Opcode for xcb_query_best_size. */ 4102 #define XCB_QUERY_BEST_SIZE 97 4103 4104 /** 4105 * @brief xcb_query_best_size_request_t 4106 **/ 4107 typedef struct xcb_query_best_size_request_t { 4108 uint8_t major_opcode; /**< */ 4109 uint8_t _class; /**< */ 4110 uint16_t length; /**< */ 4111 xcb_drawable_t drawable; /**< */ 4112 uint16_t width; /**< */ 4113 uint16_t height; /**< */ 4114 } xcb_query_best_size_request_t; 4115 4116 /** 4117 * @brief xcb_query_best_size_reply_t 4118 **/ 4119 typedef struct xcb_query_best_size_reply_t { 4120 uint8_t response_type; /**< */ 4121 uint8_t pad0; /**< */ 4122 uint16_t sequence; /**< */ 4123 uint32_t length; /**< */ 4124 uint16_t width; /**< */ 4125 uint16_t height; /**< */ 4126 } xcb_query_best_size_reply_t; 4127 4128 /** 4129 * @brief xcb_query_extension_cookie_t 4130 **/ 4131 typedef struct xcb_query_extension_cookie_t { 4132 unsigned int sequence; /**< */ 4133 } xcb_query_extension_cookie_t; 4134 4135 /** Opcode for xcb_query_extension. */ 4136 #define XCB_QUERY_EXTENSION 98 4137 4138 /** 4139 * @brief xcb_query_extension_request_t 4140 **/ 4141 typedef struct xcb_query_extension_request_t { 4142 uint8_t major_opcode; /**< */ 4143 uint8_t pad0; /**< */ 4144 uint16_t length; /**< */ 4145 uint16_t name_len; /**< */ 4146 uint8_t pad1[2]; /**< */ 4147 } xcb_query_extension_request_t; 4148 4149 /** 4150 * @brief xcb_query_extension_reply_t 4151 **/ 4152 typedef struct xcb_query_extension_reply_t { 4153 uint8_t response_type; /**< */ 4154 uint8_t pad0; /**< */ 4155 uint16_t sequence; /**< */ 4156 uint32_t length; /**< */ 4157 uint8_t present; /**< */ 4158 uint8_t major_opcode; /**< */ 4159 uint8_t first_event; /**< */ 4160 uint8_t first_error; /**< */ 4161 } xcb_query_extension_reply_t; 4162 4163 /** 4164 * @brief xcb_list_extensions_cookie_t 4165 **/ 4166 typedef struct xcb_list_extensions_cookie_t { 4167 unsigned int sequence; /**< */ 4168 } xcb_list_extensions_cookie_t; 4169 4170 /** Opcode for xcb_list_extensions. */ 4171 #define XCB_LIST_EXTENSIONS 99 4172 4173 /** 4174 * @brief xcb_list_extensions_request_t 4175 **/ 4176 typedef struct xcb_list_extensions_request_t { 4177 uint8_t major_opcode; /**< */ 4178 uint8_t pad0; /**< */ 4179 uint16_t length; /**< */ 4180 } xcb_list_extensions_request_t; 4181 4182 /** 4183 * @brief xcb_list_extensions_reply_t 4184 **/ 4185 typedef struct xcb_list_extensions_reply_t { 4186 uint8_t response_type; /**< */ 4187 uint8_t names_len; /**< */ 4188 uint16_t sequence; /**< */ 4189 uint32_t length; /**< */ 4190 uint8_t pad0[24]; /**< */ 4191 } xcb_list_extensions_reply_t; 4192 4193 /** Opcode for xcb_change_keyboard_mapping. */ 4194 #define XCB_CHANGE_KEYBOARD_MAPPING 100 4195 4196 /** 4197 * @brief xcb_change_keyboard_mapping_request_t 4198 **/ 4199 typedef struct xcb_change_keyboard_mapping_request_t { 4200 uint8_t major_opcode; /**< */ 4201 uint8_t keycode_count; /**< */ 4202 uint16_t length; /**< */ 4203 xcb_keycode_t first_keycode; /**< */ 4204 uint8_t keysyms_per_keycode; /**< */ 4205 uint8_t pad0[2]; /**< */ 4206 } xcb_change_keyboard_mapping_request_t; 4207 4208 /** 4209 * @brief xcb_get_keyboard_mapping_cookie_t 4210 **/ 4211 typedef struct xcb_get_keyboard_mapping_cookie_t { 4212 unsigned int sequence; /**< */ 4213 } xcb_get_keyboard_mapping_cookie_t; 4214 4215 /** Opcode for xcb_get_keyboard_mapping. */ 4216 #define XCB_GET_KEYBOARD_MAPPING 101 4217 4218 /** 4219 * @brief xcb_get_keyboard_mapping_request_t 4220 **/ 4221 typedef struct xcb_get_keyboard_mapping_request_t { 4222 uint8_t major_opcode; /**< */ 4223 uint8_t pad0; /**< */ 4224 uint16_t length; /**< */ 4225 xcb_keycode_t first_keycode; /**< */ 4226 uint8_t count; /**< */ 4227 } xcb_get_keyboard_mapping_request_t; 4228 4229 /** 4230 * @brief xcb_get_keyboard_mapping_reply_t 4231 **/ 4232 typedef struct xcb_get_keyboard_mapping_reply_t { 4233 uint8_t response_type; /**< */ 4234 uint8_t keysyms_per_keycode; /**< */ 4235 uint16_t sequence; /**< */ 4236 uint32_t length; /**< */ 4237 uint8_t pad0[24]; /**< */ 4238 } xcb_get_keyboard_mapping_reply_t; 4239 4240 typedef enum xcb_kb_t { 4241 XCB_KB_KEY_CLICK_PERCENT = 1, 4242 XCB_KB_BELL_PERCENT = 2, 4243 XCB_KB_BELL_PITCH = 4, 4244 XCB_KB_BELL_DURATION = 8, 4245 XCB_KB_LED = 16, 4246 XCB_KB_LED_MODE = 32, 4247 XCB_KB_KEY = 64, 4248 XCB_KB_AUTO_REPEAT_MODE = 128 4249 } xcb_kb_t; 4250 4251 typedef enum xcb_led_mode_t { 4252 XCB_LED_MODE_OFF = 0, 4253 XCB_LED_MODE_ON = 1 4254 } xcb_led_mode_t; 4255 4256 typedef enum xcb_auto_repeat_mode_t { 4257 XCB_AUTO_REPEAT_MODE_OFF = 0, 4258 XCB_AUTO_REPEAT_MODE_ON = 1, 4259 XCB_AUTO_REPEAT_MODE_DEFAULT = 2 4260 } xcb_auto_repeat_mode_t; 4261 4262 /** Opcode for xcb_change_keyboard_control. */ 4263 #define XCB_CHANGE_KEYBOARD_CONTROL 102 4264 4265 /** 4266 * @brief xcb_change_keyboard_control_request_t 4267 **/ 4268 typedef struct xcb_change_keyboard_control_request_t { 4269 uint8_t major_opcode; /**< */ 4270 uint8_t pad0; /**< */ 4271 uint16_t length; /**< */ 4272 uint32_t value_mask; /**< */ 4273 } xcb_change_keyboard_control_request_t; 4274 4275 /** 4276 * @brief xcb_get_keyboard_control_cookie_t 4277 **/ 4278 typedef struct xcb_get_keyboard_control_cookie_t { 4279 unsigned int sequence; /**< */ 4280 } xcb_get_keyboard_control_cookie_t; 4281 4282 /** Opcode for xcb_get_keyboard_control. */ 4283 #define XCB_GET_KEYBOARD_CONTROL 103 4284 4285 /** 4286 * @brief xcb_get_keyboard_control_request_t 4287 **/ 4288 typedef struct xcb_get_keyboard_control_request_t { 4289 uint8_t major_opcode; /**< */ 4290 uint8_t pad0; /**< */ 4291 uint16_t length; /**< */ 4292 } xcb_get_keyboard_control_request_t; 4293 4294 /** 4295 * @brief xcb_get_keyboard_control_reply_t 4296 **/ 4297 typedef struct xcb_get_keyboard_control_reply_t { 4298 uint8_t response_type; /**< */ 4299 uint8_t global_auto_repeat; /**< */ 4300 uint16_t sequence; /**< */ 4301 uint32_t length; /**< */ 4302 uint32_t led_mask; /**< */ 4303 uint8_t key_click_percent; /**< */ 4304 uint8_t bell_percent; /**< */ 4305 uint16_t bell_pitch; /**< */ 4306 uint16_t bell_duration; /**< */ 4307 uint8_t pad0[2]; /**< */ 4308 uint8_t auto_repeats[32]; /**< */ 4309 } xcb_get_keyboard_control_reply_t; 4310 4311 /** Opcode for xcb_bell. */ 4312 #define XCB_BELL 104 4313 4314 /** 4315 * @brief xcb_bell_request_t 4316 **/ 4317 typedef struct xcb_bell_request_t { 4318 uint8_t major_opcode; /**< */ 4319 int8_t percent; /**< */ 4320 uint16_t length; /**< */ 4321 } xcb_bell_request_t; 4322 4323 /** Opcode for xcb_change_pointer_control. */ 4324 #define XCB_CHANGE_POINTER_CONTROL 105 4325 4326 /** 4327 * @brief xcb_change_pointer_control_request_t 4328 **/ 4329 typedef struct xcb_change_pointer_control_request_t { 4330 uint8_t major_opcode; /**< */ 4331 uint8_t pad0; /**< */ 4332 uint16_t length; /**< */ 4333 int16_t acceleration_numerator; /**< */ 4334 int16_t acceleration_denominator; /**< */ 4335 int16_t threshold; /**< */ 4336 uint8_t do_acceleration; /**< */ 4337 uint8_t do_threshold; /**< */ 4338 } xcb_change_pointer_control_request_t; 4339 4340 /** 4341 * @brief xcb_get_pointer_control_cookie_t 4342 **/ 4343 typedef struct xcb_get_pointer_control_cookie_t { 4344 unsigned int sequence; /**< */ 4345 } xcb_get_pointer_control_cookie_t; 4346 4347 /** Opcode for xcb_get_pointer_control. */ 4348 #define XCB_GET_POINTER_CONTROL 106 4349 4350 /** 4351 * @brief xcb_get_pointer_control_request_t 4352 **/ 4353 typedef struct xcb_get_pointer_control_request_t { 4354 uint8_t major_opcode; /**< */ 4355 uint8_t pad0; /**< */ 4356 uint16_t length; /**< */ 4357 } xcb_get_pointer_control_request_t; 4358 4359 /** 4360 * @brief xcb_get_pointer_control_reply_t 4361 **/ 4362 typedef struct xcb_get_pointer_control_reply_t { 4363 uint8_t response_type; /**< */ 4364 uint8_t pad0; /**< */ 4365 uint16_t sequence; /**< */ 4366 uint32_t length; /**< */ 4367 uint16_t acceleration_numerator; /**< */ 4368 uint16_t acceleration_denominator; /**< */ 4369 uint16_t threshold; /**< */ 4370 uint8_t pad1[18]; /**< */ 4371 } xcb_get_pointer_control_reply_t; 4372 4373 typedef enum xcb_blanking_t { 4374 XCB_BLANKING_NOT_PREFERRED = 0, 4375 XCB_BLANKING_PREFERRED = 1, 4376 XCB_BLANKING_DEFAULT = 2 4377 } xcb_blanking_t; 4378 4379 typedef enum xcb_exposures_t { 4380 XCB_EXPOSURES_NOT_ALLOWED = 0, 4381 XCB_EXPOSURES_ALLOWED = 1, 4382 XCB_EXPOSURES_DEFAULT = 2 4383 } xcb_exposures_t; 4384 4385 /** Opcode for xcb_set_screen_saver. */ 4386 #define XCB_SET_SCREEN_SAVER 107 4387 4388 /** 4389 * @brief xcb_set_screen_saver_request_t 4390 **/ 4391 typedef struct xcb_set_screen_saver_request_t { 4392 uint8_t major_opcode; /**< */ 4393 uint8_t pad0; /**< */ 4394 uint16_t length; /**< */ 4395 int16_t timeout; /**< */ 4396 int16_t interval; /**< */ 4397 uint8_t prefer_blanking; /**< */ 4398 uint8_t allow_exposures; /**< */ 4399 } xcb_set_screen_saver_request_t; 4400 4401 /** 4402 * @brief xcb_get_screen_saver_cookie_t 4403 **/ 4404 typedef struct xcb_get_screen_saver_cookie_t { 4405 unsigned int sequence; /**< */ 4406 } xcb_get_screen_saver_cookie_t; 4407 4408 /** Opcode for xcb_get_screen_saver. */ 4409 #define XCB_GET_SCREEN_SAVER 108 4410 4411 /** 4412 * @brief xcb_get_screen_saver_request_t 4413 **/ 4414 typedef struct xcb_get_screen_saver_request_t { 4415 uint8_t major_opcode; /**< */ 4416 uint8_t pad0; /**< */ 4417 uint16_t length; /**< */ 4418 } xcb_get_screen_saver_request_t; 4419 4420 /** 4421 * @brief xcb_get_screen_saver_reply_t 4422 **/ 4423 typedef struct xcb_get_screen_saver_reply_t { 4424 uint8_t response_type; /**< */ 4425 uint8_t pad0; /**< */ 4426 uint16_t sequence; /**< */ 4427 uint32_t length; /**< */ 4428 uint16_t timeout; /**< */ 4429 uint16_t interval; /**< */ 4430 uint8_t prefer_blanking; /**< */ 4431 uint8_t allow_exposures; /**< */ 4432 uint8_t pad1[18]; /**< */ 4433 } xcb_get_screen_saver_reply_t; 4434 4435 typedef enum xcb_host_mode_t { 4436 XCB_HOST_MODE_INSERT = 0, 4437 XCB_HOST_MODE_DELETE = 1 4438 } xcb_host_mode_t; 4439 4440 typedef enum xcb_family_t { 4441 XCB_FAMILY_INTERNET = 0, 4442 XCB_FAMILY_DECNET = 1, 4443 XCB_FAMILY_CHAOS = 2, 4444 XCB_FAMILY_SERVER_INTERPRETED = 5, 4445 XCB_FAMILY_INTERNET_6 = 6 4446 } xcb_family_t; 4447 4448 /** Opcode for xcb_change_hosts. */ 4449 #define XCB_CHANGE_HOSTS 109 4450 4451 /** 4452 * @brief xcb_change_hosts_request_t 4453 **/ 4454 typedef struct xcb_change_hosts_request_t { 4455 uint8_t major_opcode; /**< */ 4456 uint8_t mode; /**< */ 4457 uint16_t length; /**< */ 4458 uint8_t family; /**< */ 4459 uint8_t pad0; /**< */ 4460 uint16_t address_len; /**< */ 4461 } xcb_change_hosts_request_t; 4462 4463 /** 4464 * @brief xcb_host_t 4465 **/ 4466 typedef struct xcb_host_t { 4467 uint8_t family; /**< */ 4468 uint8_t pad0; /**< */ 4469 uint16_t address_len; /**< */ 4470 } xcb_host_t; 4471 4472 /** 4473 * @brief xcb_host_iterator_t 4474 **/ 4475 typedef struct xcb_host_iterator_t { 4476 xcb_host_t *data; /**< */ 4477 int rem; /**< */ 4478 int index; /**< */ 4479 } xcb_host_iterator_t; 4480 4481 /** 4482 * @brief xcb_list_hosts_cookie_t 4483 **/ 4484 typedef struct xcb_list_hosts_cookie_t { 4485 unsigned int sequence; /**< */ 4486 } xcb_list_hosts_cookie_t; 4487 4488 /** Opcode for xcb_list_hosts. */ 4489 #define XCB_LIST_HOSTS 110 4490 4491 /** 4492 * @brief xcb_list_hosts_request_t 4493 **/ 4494 typedef struct xcb_list_hosts_request_t { 4495 uint8_t major_opcode; /**< */ 4496 uint8_t pad0; /**< */ 4497 uint16_t length; /**< */ 4498 } xcb_list_hosts_request_t; 4499 4500 /** 4501 * @brief xcb_list_hosts_reply_t 4502 **/ 4503 typedef struct xcb_list_hosts_reply_t { 4504 uint8_t response_type; /**< */ 4505 uint8_t mode; /**< */ 4506 uint16_t sequence; /**< */ 4507 uint32_t length; /**< */ 4508 uint16_t hosts_len; /**< */ 4509 uint8_t pad0[22]; /**< */ 4510 } xcb_list_hosts_reply_t; 4511 4512 typedef enum xcb_access_control_t { 4513 XCB_ACCESS_CONTROL_DISABLE = 0, 4514 XCB_ACCESS_CONTROL_ENABLE = 1 4515 } xcb_access_control_t; 4516 4517 /** Opcode for xcb_set_access_control. */ 4518 #define XCB_SET_ACCESS_CONTROL 111 4519 4520 /** 4521 * @brief xcb_set_access_control_request_t 4522 **/ 4523 typedef struct xcb_set_access_control_request_t { 4524 uint8_t major_opcode; /**< */ 4525 uint8_t mode; /**< */ 4526 uint16_t length; /**< */ 4527 } xcb_set_access_control_request_t; 4528 4529 typedef enum xcb_close_down_t { 4530 XCB_CLOSE_DOWN_DESTROY_ALL = 0, 4531 XCB_CLOSE_DOWN_RETAIN_PERMANENT = 1, 4532 XCB_CLOSE_DOWN_RETAIN_TEMPORARY = 2 4533 } xcb_close_down_t; 4534 4535 /** Opcode for xcb_set_close_down_mode. */ 4536 #define XCB_SET_CLOSE_DOWN_MODE 112 4537 4538 /** 4539 * @brief xcb_set_close_down_mode_request_t 4540 **/ 4541 typedef struct xcb_set_close_down_mode_request_t { 4542 uint8_t major_opcode; /**< */ 4543 uint8_t mode; /**< */ 4544 uint16_t length; /**< */ 4545 } xcb_set_close_down_mode_request_t; 4546 4547 typedef enum xcb_kill_t { 4548 XCB_KILL_ALL_TEMPORARY = 0 4549 } xcb_kill_t; 4550 4551 /** Opcode for xcb_kill_client. */ 4552 #define XCB_KILL_CLIENT 113 4553 4554 /** 4555 * @brief xcb_kill_client_request_t 4556 **/ 4557 typedef struct xcb_kill_client_request_t { 4558 uint8_t major_opcode; /**< */ 4559 uint8_t pad0; /**< */ 4560 uint16_t length; /**< */ 4561 uint32_t resource; /**< */ 4562 } xcb_kill_client_request_t; 4563 4564 /** Opcode for xcb_rotate_properties. */ 4565 #define XCB_ROTATE_PROPERTIES 114 4566 4567 /** 4568 * @brief xcb_rotate_properties_request_t 4569 **/ 4570 typedef struct xcb_rotate_properties_request_t { 4571 uint8_t major_opcode; /**< */ 4572 uint8_t pad0; /**< */ 4573 uint16_t length; /**< */ 4574 xcb_window_t window; /**< */ 4575 uint16_t atoms_len; /**< */ 4576 int16_t delta; /**< */ 4577 } xcb_rotate_properties_request_t; 4578 4579 typedef enum xcb_screen_saver_t { 4580 XCB_SCREEN_SAVER_RESET = 0, 4581 XCB_SCREEN_SAVER_ACTIVE = 1 4582 } xcb_screen_saver_t; 4583 4584 /** Opcode for xcb_force_screen_saver. */ 4585 #define XCB_FORCE_SCREEN_SAVER 115 4586 4587 /** 4588 * @brief xcb_force_screen_saver_request_t 4589 **/ 4590 typedef struct xcb_force_screen_saver_request_t { 4591 uint8_t major_opcode; /**< */ 4592 uint8_t mode; /**< */ 4593 uint16_t length; /**< */ 4594 } xcb_force_screen_saver_request_t; 4595 4596 typedef enum xcb_mapping_status_t { 4597 XCB_MAPPING_STATUS_SUCCESS = 0, 4598 XCB_MAPPING_STATUS_BUSY = 1, 4599 XCB_MAPPING_STATUS_FAILURE = 2 4600 } xcb_mapping_status_t; 4601 4602 /** 4603 * @brief xcb_set_pointer_mapping_cookie_t 4604 **/ 4605 typedef struct xcb_set_pointer_mapping_cookie_t { 4606 unsigned int sequence; /**< */ 4607 } xcb_set_pointer_mapping_cookie_t; 4608 4609 /** Opcode for xcb_set_pointer_mapping. */ 4610 #define XCB_SET_POINTER_MAPPING 116 4611 4612 /** 4613 * @brief xcb_set_pointer_mapping_request_t 4614 **/ 4615 typedef struct xcb_set_pointer_mapping_request_t { 4616 uint8_t major_opcode; /**< */ 4617 uint8_t map_len; /**< */ 4618 uint16_t length; /**< */ 4619 } xcb_set_pointer_mapping_request_t; 4620 4621 /** 4622 * @brief xcb_set_pointer_mapping_reply_t 4623 **/ 4624 typedef struct xcb_set_pointer_mapping_reply_t { 4625 uint8_t response_type; /**< */ 4626 uint8_t status; /**< */ 4627 uint16_t sequence; /**< */ 4628 uint32_t length; /**< */ 4629 } xcb_set_pointer_mapping_reply_t; 4630 4631 /** 4632 * @brief xcb_get_pointer_mapping_cookie_t 4633 **/ 4634 typedef struct xcb_get_pointer_mapping_cookie_t { 4635 unsigned int sequence; /**< */ 4636 } xcb_get_pointer_mapping_cookie_t; 4637 4638 /** Opcode for xcb_get_pointer_mapping. */ 4639 #define XCB_GET_POINTER_MAPPING 117 4640 4641 /** 4642 * @brief xcb_get_pointer_mapping_request_t 4643 **/ 4644 typedef struct xcb_get_pointer_mapping_request_t { 4645 uint8_t major_opcode; /**< */ 4646 uint8_t pad0; /**< */ 4647 uint16_t length; /**< */ 4648 } xcb_get_pointer_mapping_request_t; 4649 4650 /** 4651 * @brief xcb_get_pointer_mapping_reply_t 4652 **/ 4653 typedef struct xcb_get_pointer_mapping_reply_t { 4654 uint8_t response_type; /**< */ 4655 uint8_t map_len; /**< */ 4656 uint16_t sequence; /**< */ 4657 uint32_t length; /**< */ 4658 uint8_t pad0[24]; /**< */ 4659 } xcb_get_pointer_mapping_reply_t; 4660 4661 typedef enum xcb_map_index_t { 4662 XCB_MAP_INDEX_SHIFT = 0, 4663 XCB_MAP_INDEX_LOCK = 1, 4664 XCB_MAP_INDEX_CONTROL = 2, 4665 XCB_MAP_INDEX_1 = 3, 4666 XCB_MAP_INDEX_2 = 4, 4667 XCB_MAP_INDEX_3 = 5, 4668 XCB_MAP_INDEX_4 = 6, 4669 XCB_MAP_INDEX_5 = 7 4670 } xcb_map_index_t; 4671 4672 /** 4673 * @brief xcb_set_modifier_mapping_cookie_t 4674 **/ 4675 typedef struct xcb_set_modifier_mapping_cookie_t { 4676 unsigned int sequence; /**< */ 4677 } xcb_set_modifier_mapping_cookie_t; 4678 4679 /** Opcode for xcb_set_modifier_mapping. */ 4680 #define XCB_SET_MODIFIER_MAPPING 118 4681 4682 /** 4683 * @brief xcb_set_modifier_mapping_request_t 4684 **/ 4685 typedef struct xcb_set_modifier_mapping_request_t { 4686 uint8_t major_opcode; /**< */ 4687 uint8_t keycodes_per_modifier; /**< */ 4688 uint16_t length; /**< */ 4689 } xcb_set_modifier_mapping_request_t; 4690 4691 /** 4692 * @brief xcb_set_modifier_mapping_reply_t 4693 **/ 4694 typedef struct xcb_set_modifier_mapping_reply_t { 4695 uint8_t response_type; /**< */ 4696 uint8_t status; /**< */ 4697 uint16_t sequence; /**< */ 4698 uint32_t length; /**< */ 4699 } xcb_set_modifier_mapping_reply_t; 4700 4701 /** 4702 * @brief xcb_get_modifier_mapping_cookie_t 4703 **/ 4704 typedef struct xcb_get_modifier_mapping_cookie_t { 4705 unsigned int sequence; /**< */ 4706 } xcb_get_modifier_mapping_cookie_t; 4707 4708 /** Opcode for xcb_get_modifier_mapping. */ 4709 #define XCB_GET_MODIFIER_MAPPING 119 4710 4711 /** 4712 * @brief xcb_get_modifier_mapping_request_t 4713 **/ 4714 typedef struct xcb_get_modifier_mapping_request_t { 4715 uint8_t major_opcode; /**< */ 4716 uint8_t pad0; /**< */ 4717 uint16_t length; /**< */ 4718 } xcb_get_modifier_mapping_request_t; 4719 4720 /** 4721 * @brief xcb_get_modifier_mapping_reply_t 4722 **/ 4723 typedef struct xcb_get_modifier_mapping_reply_t { 4724 uint8_t response_type; /**< */ 4725 uint8_t keycodes_per_modifier; /**< */ 4726 uint16_t sequence; /**< */ 4727 uint32_t length; /**< */ 4728 uint8_t pad0[24]; /**< */ 4729 } xcb_get_modifier_mapping_reply_t; 4730 4731 /** Opcode for xcb_no_operation. */ 4732 #define XCB_NO_OPERATION 127 4733 4734 /** 4735 * @brief xcb_no_operation_request_t 4736 **/ 4737 typedef struct xcb_no_operation_request_t { 4738 uint8_t major_opcode; /**< */ 4739 uint8_t pad0; /**< */ 4740 uint16_t length; /**< */ 4741 } xcb_no_operation_request_t; 4742 4743 /** 4744 * Get the next element of the iterator 4745 * @param i Pointer to a xcb_char2b_iterator_t 4746 * 4747 * Get the next element in the iterator. The member rem is 4748 * decreased by one. The member data points to the next 4749 * element. The member index is increased by sizeof(xcb_char2b_t) 4750 */ 4751 void 4752 xcb_char2b_next (xcb_char2b_iterator_t *i /**< */); 4753 4754 /** 4755 * Return the iterator pointing to the last element 4756 * @param i An xcb_char2b_iterator_t 4757 * @return The iterator pointing to the last element 4758 * 4759 * Set the current element in the iterator to the last element. 4760 * The member rem is set to 0. The member data points to the 4761 * last element. 4762 */ 4763 xcb_generic_iterator_t 4764 xcb_char2b_end (xcb_char2b_iterator_t i /**< */); 4765 4766 /** 4767 * Get the next element of the iterator 4768 * @param i Pointer to a xcb_window_iterator_t 4769 * 4770 * Get the next element in the iterator. The member rem is 4771 * decreased by one. The member data points to the next 4772 * element. The member index is increased by sizeof(xcb_window_t) 4773 */ 4774 void 4775 xcb_window_next (xcb_window_iterator_t *i /**< */); 4776 4777 /** 4778 * Return the iterator pointing to the last element 4779 * @param i An xcb_window_iterator_t 4780 * @return The iterator pointing to the last element 4781 * 4782 * Set the current element in the iterator to the last element. 4783 * The member rem is set to 0. The member data points to the 4784 * last element. 4785 */ 4786 xcb_generic_iterator_t 4787 xcb_window_end (xcb_window_iterator_t i /**< */); 4788 4789 /** 4790 * Get the next element of the iterator 4791 * @param i Pointer to a xcb_pixmap_iterator_t 4792 * 4793 * Get the next element in the iterator. The member rem is 4794 * decreased by one. The member data points to the next 4795 * element. The member index is increased by sizeof(xcb_pixmap_t) 4796 */ 4797 void 4798 xcb_pixmap_next (xcb_pixmap_iterator_t *i /**< */); 4799 4800 /** 4801 * Return the iterator pointing to the last element 4802 * @param i An xcb_pixmap_iterator_t 4803 * @return The iterator pointing to the last element 4804 * 4805 * Set the current element in the iterator to the last element. 4806 * The member rem is set to 0. The member data points to the 4807 * last element. 4808 */ 4809 xcb_generic_iterator_t 4810 xcb_pixmap_end (xcb_pixmap_iterator_t i /**< */); 4811 4812 /** 4813 * Get the next element of the iterator 4814 * @param i Pointer to a xcb_cursor_iterator_t 4815 * 4816 * Get the next element in the iterator. The member rem is 4817 * decreased by one. The member data points to the next 4818 * element. The member index is increased by sizeof(xcb_cursor_t) 4819 */ 4820 void 4821 xcb_cursor_next (xcb_cursor_iterator_t *i /**< */); 4822 4823 /** 4824 * Return the iterator pointing to the last element 4825 * @param i An xcb_cursor_iterator_t 4826 * @return The iterator pointing to the last element 4827 * 4828 * Set the current element in the iterator to the last element. 4829 * The member rem is set to 0. The member data points to the 4830 * last element. 4831 */ 4832 xcb_generic_iterator_t 4833 xcb_cursor_end (xcb_cursor_iterator_t i /**< */); 4834 4835 /** 4836 * Get the next element of the iterator 4837 * @param i Pointer to a xcb_font_iterator_t 4838 * 4839 * Get the next element in the iterator. The member rem is 4840 * decreased by one. The member data points to the next 4841 * element. The member index is increased by sizeof(xcb_font_t) 4842 */ 4843 void 4844 xcb_font_next (xcb_font_iterator_t *i /**< */); 4845 4846 /** 4847 * Return the iterator pointing to the last element 4848 * @param i An xcb_font_iterator_t 4849 * @return The iterator pointing to the last element 4850 * 4851 * Set the current element in the iterator to the last element. 4852 * The member rem is set to 0. The member data points to the 4853 * last element. 4854 */ 4855 xcb_generic_iterator_t 4856 xcb_font_end (xcb_font_iterator_t i /**< */); 4857 4858 /** 4859 * Get the next element of the iterator 4860 * @param i Pointer to a xcb_gcontext_iterator_t 4861 * 4862 * Get the next element in the iterator. The member rem is 4863 * decreased by one. The member data points to the next 4864 * element. The member index is increased by sizeof(xcb_gcontext_t) 4865 */ 4866 void 4867 xcb_gcontext_next (xcb_gcontext_iterator_t *i /**< */); 4868 4869 /** 4870 * Return the iterator pointing to the last element 4871 * @param i An xcb_gcontext_iterator_t 4872 * @return The iterator pointing to the last element 4873 * 4874 * Set the current element in the iterator to the last element. 4875 * The member rem is set to 0. The member data points to the 4876 * last element. 4877 */ 4878 xcb_generic_iterator_t 4879 xcb_gcontext_end (xcb_gcontext_iterator_t i /**< */); 4880 4881 /** 4882 * Get the next element of the iterator 4883 * @param i Pointer to a xcb_colormap_iterator_t 4884 * 4885 * Get the next element in the iterator. The member rem is 4886 * decreased by one. The member data points to the next 4887 * element. The member index is increased by sizeof(xcb_colormap_t) 4888 */ 4889 void 4890 xcb_colormap_next (xcb_colormap_iterator_t *i /**< */); 4891 4892 /** 4893 * Return the iterator pointing to the last element 4894 * @param i An xcb_colormap_iterator_t 4895 * @return The iterator pointing to the last element 4896 * 4897 * Set the current element in the iterator to the last element. 4898 * The member rem is set to 0. The member data points to the 4899 * last element. 4900 */ 4901 xcb_generic_iterator_t 4902 xcb_colormap_end (xcb_colormap_iterator_t i /**< */); 4903 4904 /** 4905 * Get the next element of the iterator 4906 * @param i Pointer to a xcb_atom_iterator_t 4907 * 4908 * Get the next element in the iterator. The member rem is 4909 * decreased by one. The member data points to the next 4910 * element. The member index is increased by sizeof(xcb_atom_t) 4911 */ 4912 void 4913 xcb_atom_next (xcb_atom_iterator_t *i /**< */); 4914 4915 /** 4916 * Return the iterator pointing to the last element 4917 * @param i An xcb_atom_iterator_t 4918 * @return The iterator pointing to the last element 4919 * 4920 * Set the current element in the iterator to the last element. 4921 * The member rem is set to 0. The member data points to the 4922 * last element. 4923 */ 4924 xcb_generic_iterator_t 4925 xcb_atom_end (xcb_atom_iterator_t i /**< */); 4926 4927 /** 4928 * Get the next element of the iterator 4929 * @param i Pointer to a xcb_drawable_iterator_t 4930 * 4931 * Get the next element in the iterator. The member rem is 4932 * decreased by one. The member data points to the next 4933 * element. The member index is increased by sizeof(xcb_drawable_t) 4934 */ 4935 void 4936 xcb_drawable_next (xcb_drawable_iterator_t *i /**< */); 4937 4938 /** 4939 * Return the iterator pointing to the last element 4940 * @param i An xcb_drawable_iterator_t 4941 * @return The iterator pointing to the last element 4942 * 4943 * Set the current element in the iterator to the last element. 4944 * The member rem is set to 0. The member data points to the 4945 * last element. 4946 */ 4947 xcb_generic_iterator_t 4948 xcb_drawable_end (xcb_drawable_iterator_t i /**< */); 4949 4950 /** 4951 * Get the next element of the iterator 4952 * @param i Pointer to a xcb_fontable_iterator_t 4953 * 4954 * Get the next element in the iterator. The member rem is 4955 * decreased by one. The member data points to the next 4956 * element. The member index is increased by sizeof(xcb_fontable_t) 4957 */ 4958 void 4959 xcb_fontable_next (xcb_fontable_iterator_t *i /**< */); 4960 4961 /** 4962 * Return the iterator pointing to the last element 4963 * @param i An xcb_fontable_iterator_t 4964 * @return The iterator pointing to the last element 4965 * 4966 * Set the current element in the iterator to the last element. 4967 * The member rem is set to 0. The member data points to the 4968 * last element. 4969 */ 4970 xcb_generic_iterator_t 4971 xcb_fontable_end (xcb_fontable_iterator_t i /**< */); 4972 4973 /** 4974 * Get the next element of the iterator 4975 * @param i Pointer to a xcb_visualid_iterator_t 4976 * 4977 * Get the next element in the iterator. The member rem is 4978 * decreased by one. The member data points to the next 4979 * element. The member index is increased by sizeof(xcb_visualid_t) 4980 */ 4981 void 4982 xcb_visualid_next (xcb_visualid_iterator_t *i /**< */); 4983 4984 /** 4985 * Return the iterator pointing to the last element 4986 * @param i An xcb_visualid_iterator_t 4987 * @return The iterator pointing to the last element 4988 * 4989 * Set the current element in the iterator to the last element. 4990 * The member rem is set to 0. The member data points to the 4991 * last element. 4992 */ 4993 xcb_generic_iterator_t 4994 xcb_visualid_end (xcb_visualid_iterator_t i /**< */); 4995 4996 /** 4997 * Get the next element of the iterator 4998 * @param i Pointer to a xcb_timestamp_iterator_t 4999 * 5000 * Get the next element in the iterator. The member rem is 5001 * decreased by one. The member data points to the next 5002 * element. The member index is increased by sizeof(xcb_timestamp_t) 5003 */ 5004 void 5005 xcb_timestamp_next (xcb_timestamp_iterator_t *i /**< */); 5006 5007 /** 5008 * Return the iterator pointing to the last element 5009 * @param i An xcb_timestamp_iterator_t 5010 * @return The iterator pointing to the last element 5011 * 5012 * Set the current element in the iterator to the last element. 5013 * The member rem is set to 0. The member data points to the 5014 * last element. 5015 */ 5016 xcb_generic_iterator_t 5017 xcb_timestamp_end (xcb_timestamp_iterator_t i /**< */); 5018 5019 /** 5020 * Get the next element of the iterator 5021 * @param i Pointer to a xcb_keysym_iterator_t 5022 * 5023 * Get the next element in the iterator. The member rem is 5024 * decreased by one. The member data points to the next 5025 * element. The member index is increased by sizeof(xcb_keysym_t) 5026 */ 5027 void 5028 xcb_keysym_next (xcb_keysym_iterator_t *i /**< */); 5029 5030 /** 5031 * Return the iterator pointing to the last element 5032 * @param i An xcb_keysym_iterator_t 5033 * @return The iterator pointing to the last element 5034 * 5035 * Set the current element in the iterator to the last element. 5036 * The member rem is set to 0. The member data points to the 5037 * last element. 5038 */ 5039 xcb_generic_iterator_t 5040 xcb_keysym_end (xcb_keysym_iterator_t i /**< */); 5041 5042 /** 5043 * Get the next element of the iterator 5044 * @param i Pointer to a xcb_keycode_iterator_t 5045 * 5046 * Get the next element in the iterator. The member rem is 5047 * decreased by one. The member data points to the next 5048 * element. The member index is increased by sizeof(xcb_keycode_t) 5049 */ 5050 void 5051 xcb_keycode_next (xcb_keycode_iterator_t *i /**< */); 5052 5053 /** 5054 * Return the iterator pointing to the last element 5055 * @param i An xcb_keycode_iterator_t 5056 * @return The iterator pointing to the last element 5057 * 5058 * Set the current element in the iterator to the last element. 5059 * The member rem is set to 0. The member data points to the 5060 * last element. 5061 */ 5062 xcb_generic_iterator_t 5063 xcb_keycode_end (xcb_keycode_iterator_t i /**< */); 5064 5065 /** 5066 * Get the next element of the iterator 5067 * @param i Pointer to a xcb_button_iterator_t 5068 * 5069 * Get the next element in the iterator. The member rem is 5070 * decreased by one. The member data points to the next 5071 * element. The member index is increased by sizeof(xcb_button_t) 5072 */ 5073 void 5074 xcb_button_next (xcb_button_iterator_t *i /**< */); 5075 5076 /** 5077 * Return the iterator pointing to the last element 5078 * @param i An xcb_button_iterator_t 5079 * @return The iterator pointing to the last element 5080 * 5081 * Set the current element in the iterator to the last element. 5082 * The member rem is set to 0. The member data points to the 5083 * last element. 5084 */ 5085 xcb_generic_iterator_t 5086 xcb_button_end (xcb_button_iterator_t i /**< */); 5087 5088 /** 5089 * Get the next element of the iterator 5090 * @param i Pointer to a xcb_point_iterator_t 5091 * 5092 * Get the next element in the iterator. The member rem is 5093 * decreased by one. The member data points to the next 5094 * element. The member index is increased by sizeof(xcb_point_t) 5095 */ 5096 void 5097 xcb_point_next (xcb_point_iterator_t *i /**< */); 5098 5099 /** 5100 * Return the iterator pointing to the last element 5101 * @param i An xcb_point_iterator_t 5102 * @return The iterator pointing to the last element 5103 * 5104 * Set the current element in the iterator to the last element. 5105 * The member rem is set to 0. The member data points to the 5106 * last element. 5107 */ 5108 xcb_generic_iterator_t 5109 xcb_point_end (xcb_point_iterator_t i /**< */); 5110 5111 /** 5112 * Get the next element of the iterator 5113 * @param i Pointer to a xcb_rectangle_iterator_t 5114 * 5115 * Get the next element in the iterator. The member rem is 5116 * decreased by one. The member data points to the next 5117 * element. The member index is increased by sizeof(xcb_rectangle_t) 5118 */ 5119 void 5120 xcb_rectangle_next (xcb_rectangle_iterator_t *i /**< */); 5121 5122 /** 5123 * Return the iterator pointing to the last element 5124 * @param i An xcb_rectangle_iterator_t 5125 * @return The iterator pointing to the last element 5126 * 5127 * Set the current element in the iterator to the last element. 5128 * The member rem is set to 0. The member data points to the 5129 * last element. 5130 */ 5131 xcb_generic_iterator_t 5132 xcb_rectangle_end (xcb_rectangle_iterator_t i /**< */); 5133 5134 /** 5135 * Get the next element of the iterator 5136 * @param i Pointer to a xcb_arc_iterator_t 5137 * 5138 * Get the next element in the iterator. The member rem is 5139 * decreased by one. The member data points to the next 5140 * element. The member index is increased by sizeof(xcb_arc_t) 5141 */ 5142 void 5143 xcb_arc_next (xcb_arc_iterator_t *i /**< */); 5144 5145 /** 5146 * Return the iterator pointing to the last element 5147 * @param i An xcb_arc_iterator_t 5148 * @return The iterator pointing to the last element 5149 * 5150 * Set the current element in the iterator to the last element. 5151 * The member rem is set to 0. The member data points to the 5152 * last element. 5153 */ 5154 xcb_generic_iterator_t 5155 xcb_arc_end (xcb_arc_iterator_t i /**< */); 5156 5157 /** 5158 * Get the next element of the iterator 5159 * @param i Pointer to a xcb_format_iterator_t 5160 * 5161 * Get the next element in the iterator. The member rem is 5162 * decreased by one. The member data points to the next 5163 * element. The member index is increased by sizeof(xcb_format_t) 5164 */ 5165 void 5166 xcb_format_next (xcb_format_iterator_t *i /**< */); 5167 5168 /** 5169 * Return the iterator pointing to the last element 5170 * @param i An xcb_format_iterator_t 5171 * @return The iterator pointing to the last element 5172 * 5173 * Set the current element in the iterator to the last element. 5174 * The member rem is set to 0. The member data points to the 5175 * last element. 5176 */ 5177 xcb_generic_iterator_t 5178 xcb_format_end (xcb_format_iterator_t i /**< */); 5179 5180 /** 5181 * Get the next element of the iterator 5182 * @param i Pointer to a xcb_visualtype_iterator_t 5183 * 5184 * Get the next element in the iterator. The member rem is 5185 * decreased by one. The member data points to the next 5186 * element. The member index is increased by sizeof(xcb_visualtype_t) 5187 */ 5188 void 5189 xcb_visualtype_next (xcb_visualtype_iterator_t *i /**< */); 5190 5191 /** 5192 * Return the iterator pointing to the last element 5193 * @param i An xcb_visualtype_iterator_t 5194 * @return The iterator pointing to the last element 5195 * 5196 * Set the current element in the iterator to the last element. 5197 * The member rem is set to 0. The member data points to the 5198 * last element. 5199 */ 5200 xcb_generic_iterator_t 5201 xcb_visualtype_end (xcb_visualtype_iterator_t i /**< */); 5202 5203 int 5204 xcb_depth_sizeof (const void *_buffer /**< */); 5205 5206 xcb_visualtype_t * 5207 xcb_depth_visuals (const xcb_depth_t *R /**< */); 5208 5209 int 5210 xcb_depth_visuals_length (const xcb_depth_t *R /**< */); 5211 5212 xcb_visualtype_iterator_t 5213 xcb_depth_visuals_iterator (const xcb_depth_t *R /**< */); 5214 5215 /** 5216 * Get the next element of the iterator 5217 * @param i Pointer to a xcb_depth_iterator_t 5218 * 5219 * Get the next element in the iterator. The member rem is 5220 * decreased by one. The member data points to the next 5221 * element. The member index is increased by sizeof(xcb_depth_t) 5222 */ 5223 void 5224 xcb_depth_next (xcb_depth_iterator_t *i /**< */); 5225 5226 /** 5227 * Return the iterator pointing to the last element 5228 * @param i An xcb_depth_iterator_t 5229 * @return The iterator pointing to the last element 5230 * 5231 * Set the current element in the iterator to the last element. 5232 * The member rem is set to 0. The member data points to the 5233 * last element. 5234 */ 5235 xcb_generic_iterator_t 5236 xcb_depth_end (xcb_depth_iterator_t i /**< */); 5237 5238 int 5239 xcb_screen_sizeof (const void *_buffer /**< */); 5240 5241 int 5242 xcb_screen_allowed_depths_length (const xcb_screen_t *R /**< */); 5243 5244 xcb_depth_iterator_t 5245 xcb_screen_allowed_depths_iterator (const xcb_screen_t *R /**< */); 5246 5247 /** 5248 * Get the next element of the iterator 5249 * @param i Pointer to a xcb_screen_iterator_t 5250 * 5251 * Get the next element in the iterator. The member rem is 5252 * decreased by one. The member data points to the next 5253 * element. The member index is increased by sizeof(xcb_screen_t) 5254 */ 5255 void 5256 xcb_screen_next (xcb_screen_iterator_t *i /**< */); 5257 5258 /** 5259 * Return the iterator pointing to the last element 5260 * @param i An xcb_screen_iterator_t 5261 * @return The iterator pointing to the last element 5262 * 5263 * Set the current element in the iterator to the last element. 5264 * The member rem is set to 0. The member data points to the 5265 * last element. 5266 */ 5267 xcb_generic_iterator_t 5268 xcb_screen_end (xcb_screen_iterator_t i /**< */); 5269 5270 int 5271 xcb_setup_request_sizeof (const void *_buffer /**< */); 5272 5273 char * 5274 xcb_setup_request_authorization_protocol_name (const xcb_setup_request_t *R /**< */); 5275 5276 int 5277 xcb_setup_request_authorization_protocol_name_length (const xcb_setup_request_t *R /**< */); 5278 5279 xcb_generic_iterator_t 5280 xcb_setup_request_authorization_protocol_name_end (const xcb_setup_request_t *R /**< */); 5281 5282 char * 5283 xcb_setup_request_authorization_protocol_data (const xcb_setup_request_t *R /**< */); 5284 5285 int 5286 xcb_setup_request_authorization_protocol_data_length (const xcb_setup_request_t *R /**< */); 5287 5288 xcb_generic_iterator_t 5289 xcb_setup_request_authorization_protocol_data_end (const xcb_setup_request_t *R /**< */); 5290 5291 /** 5292 * Get the next element of the iterator 5293 * @param i Pointer to a xcb_setup_request_iterator_t 5294 * 5295 * Get the next element in the iterator. The member rem is 5296 * decreased by one. The member data points to the next 5297 * element. The member index is increased by sizeof(xcb_setup_request_t) 5298 */ 5299 void 5300 xcb_setup_request_next (xcb_setup_request_iterator_t *i /**< */); 5301 5302 /** 5303 * Return the iterator pointing to the last element 5304 * @param i An xcb_setup_request_iterator_t 5305 * @return The iterator pointing to the last element 5306 * 5307 * Set the current element in the iterator to the last element. 5308 * The member rem is set to 0. The member data points to the 5309 * last element. 5310 */ 5311 xcb_generic_iterator_t 5312 xcb_setup_request_end (xcb_setup_request_iterator_t i /**< */); 5313 5314 int 5315 xcb_setup_failed_sizeof (const void *_buffer /**< */); 5316 5317 char * 5318 xcb_setup_failed_reason (const xcb_setup_failed_t *R /**< */); 5319 5320 int 5321 xcb_setup_failed_reason_length (const xcb_setup_failed_t *R /**< */); 5322 5323 xcb_generic_iterator_t 5324 xcb_setup_failed_reason_end (const xcb_setup_failed_t *R /**< */); 5325 5326 /** 5327 * Get the next element of the iterator 5328 * @param i Pointer to a xcb_setup_failed_iterator_t 5329 * 5330 * Get the next element in the iterator. The member rem is 5331 * decreased by one. The member data points to the next 5332 * element. The member index is increased by sizeof(xcb_setup_failed_t) 5333 */ 5334 void 5335 xcb_setup_failed_next (xcb_setup_failed_iterator_t *i /**< */); 5336 5337 /** 5338 * Return the iterator pointing to the last element 5339 * @param i An xcb_setup_failed_iterator_t 5340 * @return The iterator pointing to the last element 5341 * 5342 * Set the current element in the iterator to the last element. 5343 * The member rem is set to 0. The member data points to the 5344 * last element. 5345 */ 5346 xcb_generic_iterator_t 5347 xcb_setup_failed_end (xcb_setup_failed_iterator_t i /**< */); 5348 5349 int 5350 xcb_setup_authenticate_sizeof (const void *_buffer /**< */); 5351 5352 char * 5353 xcb_setup_authenticate_reason (const xcb_setup_authenticate_t *R /**< */); 5354 5355 int 5356 xcb_setup_authenticate_reason_length (const xcb_setup_authenticate_t *R /**< */); 5357 5358 xcb_generic_iterator_t 5359 xcb_setup_authenticate_reason_end (const xcb_setup_authenticate_t *R /**< */); 5360 5361 /** 5362 * Get the next element of the iterator 5363 * @param i Pointer to a xcb_setup_authenticate_iterator_t 5364 * 5365 * Get the next element in the iterator. The member rem is 5366 * decreased by one. The member data points to the next 5367 * element. The member index is increased by sizeof(xcb_setup_authenticate_t) 5368 */ 5369 void 5370 xcb_setup_authenticate_next (xcb_setup_authenticate_iterator_t *i /**< */); 5371 5372 /** 5373 * Return the iterator pointing to the last element 5374 * @param i An xcb_setup_authenticate_iterator_t 5375 * @return The iterator pointing to the last element 5376 * 5377 * Set the current element in the iterator to the last element. 5378 * The member rem is set to 0. The member data points to the 5379 * last element. 5380 */ 5381 xcb_generic_iterator_t 5382 xcb_setup_authenticate_end (xcb_setup_authenticate_iterator_t i /**< */); 5383 5384 int 5385 xcb_setup_sizeof (const void *_buffer /**< */); 5386 5387 char * 5388 xcb_setup_vendor (const xcb_setup_t *R /**< */); 5389 5390 int 5391 xcb_setup_vendor_length (const xcb_setup_t *R /**< */); 5392 5393 xcb_generic_iterator_t 5394 xcb_setup_vendor_end (const xcb_setup_t *R /**< */); 5395 5396 xcb_format_t * 5397 xcb_setup_pixmap_formats (const xcb_setup_t *R /**< */); 5398 5399 int 5400 xcb_setup_pixmap_formats_length (const xcb_setup_t *R /**< */); 5401 5402 xcb_format_iterator_t 5403 xcb_setup_pixmap_formats_iterator (const xcb_setup_t *R /**< */); 5404 5405 int 5406 xcb_setup_roots_length (const xcb_setup_t *R /**< */); 5407 5408 xcb_screen_iterator_t 5409 xcb_setup_roots_iterator (const xcb_setup_t *R /**< */); 5410 5411 /** 5412 * Get the next element of the iterator 5413 * @param i Pointer to a xcb_setup_iterator_t 5414 * 5415 * Get the next element in the iterator. The member rem is 5416 * decreased by one. The member data points to the next 5417 * element. The member index is increased by sizeof(xcb_setup_t) 5418 */ 5419 void 5420 xcb_setup_next (xcb_setup_iterator_t *i /**< */); 5421 5422 /** 5423 * Return the iterator pointing to the last element 5424 * @param i An xcb_setup_iterator_t 5425 * @return The iterator pointing to the last element 5426 * 5427 * Set the current element in the iterator to the last element. 5428 * The member rem is set to 0. The member data points to the 5429 * last element. 5430 */ 5431 xcb_generic_iterator_t 5432 xcb_setup_end (xcb_setup_iterator_t i /**< */); 5433 5434 /** 5435 * Get the next element of the iterator 5436 * @param i Pointer to a xcb_client_message_data_iterator_t 5437 * 5438 * Get the next element in the iterator. The member rem is 5439 * decreased by one. The member data points to the next 5440 * element. The member index is increased by sizeof(xcb_client_message_data_t) 5441 */ 5442 void 5443 xcb_client_message_data_next (xcb_client_message_data_iterator_t *i /**< */); 5444 5445 /** 5446 * Return the iterator pointing to the last element 5447 * @param i An xcb_client_message_data_iterator_t 5448 * @return The iterator pointing to the last element 5449 * 5450 * Set the current element in the iterator to the last element. 5451 * The member rem is set to 0. The member data points to the 5452 * last element. 5453 */ 5454 xcb_generic_iterator_t 5455 xcb_client_message_data_end (xcb_client_message_data_iterator_t i /**< */); 5456 5457 int 5458 xcb_create_window_sizeof (const void *_buffer /**< */); 5459 5460 /** 5461 * @brief Creates a window 5462 * 5463 * @param c The connection 5464 * @param depth Specifies the new window's depth (TODO: what unit?). 5465 * \n 5466 * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the 5467 * \a parent window. 5468 * @param wid The ID with which you will refer to the new window, created by 5469 * `xcb_generate_id`. 5470 * @param parent The parent window of the new window. 5471 * @param x The X coordinate of the new window. 5472 * @param y The Y coordinate of the new window. 5473 * @param width The width of the new window. 5474 * @param height The height of the new window. 5475 * @param border_width TODO: 5476 * \n 5477 * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs. 5478 * @param _class A bitmask of #xcb_window_class_t values. 5479 * @param _class \n 5480 * @param visual Specifies the id for the new window's visual. 5481 * \n 5482 * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the 5483 * \a parent window. 5484 * @param value_mask A bitmask of #xcb_cw_t values. 5485 * @return A cookie 5486 * 5487 * Creates an unmapped window as child of the specified \a parent window. A 5488 * CreateNotify event will be generated. The new window is placed on top in the 5489 * stacking order with respect to siblings. 5490 * 5491 * The coordinate system has the X axis horizontal and the Y axis vertical with 5492 * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms 5493 * of pixels, and coincide with pixel centers. Each window and pixmap has its own 5494 * coordinate system. For a window, the origin is inside the border at the inside, 5495 * upper-left corner. 5496 * 5497 * The created window is not yet displayed (mapped), call `xcb_map_window` to 5498 * display it. 5499 * 5500 * The created window will initially use the same cursor as its parent. 5501 * 5502 * This form can be used only if the request will not cause 5503 * a reply to be generated. Any returned error will be 5504 * saved for handling by xcb_request_check(). 5505 */ 5506 xcb_void_cookie_t 5507 xcb_create_window_checked (xcb_connection_t *c /**< */, 5508 uint8_t depth /**< */, 5509 xcb_window_t wid /**< */, 5510 xcb_window_t parent /**< */, 5511 int16_t x /**< */, 5512 int16_t y /**< */, 5513 uint16_t width /**< */, 5514 uint16_t height /**< */, 5515 uint16_t border_width /**< */, 5516 uint16_t _class /**< */, 5517 xcb_visualid_t visual /**< */, 5518 uint32_t value_mask /**< */, 5519 const uint32_t *value_list /**< */); 5520 5521 /** 5522 * @brief Creates a window 5523 * 5524 * @param c The connection 5525 * @param depth Specifies the new window's depth (TODO: what unit?). 5526 * \n 5527 * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the 5528 * \a parent window. 5529 * @param wid The ID with which you will refer to the new window, created by 5530 * `xcb_generate_id`. 5531 * @param parent The parent window of the new window. 5532 * @param x The X coordinate of the new window. 5533 * @param y The Y coordinate of the new window. 5534 * @param width The width of the new window. 5535 * @param height The height of the new window. 5536 * @param border_width TODO: 5537 * \n 5538 * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs. 5539 * @param _class A bitmask of #xcb_window_class_t values. 5540 * @param _class \n 5541 * @param visual Specifies the id for the new window's visual. 5542 * \n 5543 * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the 5544 * \a parent window. 5545 * @param value_mask A bitmask of #xcb_cw_t values. 5546 * @return A cookie 5547 * 5548 * Creates an unmapped window as child of the specified \a parent window. A 5549 * CreateNotify event will be generated. The new window is placed on top in the 5550 * stacking order with respect to siblings. 5551 * 5552 * The coordinate system has the X axis horizontal and the Y axis vertical with 5553 * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms 5554 * of pixels, and coincide with pixel centers. Each window and pixmap has its own 5555 * coordinate system. For a window, the origin is inside the border at the inside, 5556 * upper-left corner. 5557 * 5558 * The created window is not yet displayed (mapped), call `xcb_map_window` to 5559 * display it. 5560 * 5561 * The created window will initially use the same cursor as its parent. 5562 * 5563 */ 5564 xcb_void_cookie_t 5565 xcb_create_window (xcb_connection_t *c /**< */, 5566 uint8_t depth /**< */, 5567 xcb_window_t wid /**< */, 5568 xcb_window_t parent /**< */, 5569 int16_t x /**< */, 5570 int16_t y /**< */, 5571 uint16_t width /**< */, 5572 uint16_t height /**< */, 5573 uint16_t border_width /**< */, 5574 uint16_t _class /**< */, 5575 xcb_visualid_t visual /**< */, 5576 uint32_t value_mask /**< */, 5577 const uint32_t *value_list /**< */); 5578 5579 int 5580 xcb_change_window_attributes_sizeof (const void *_buffer /**< */); 5581 5582 /** 5583 * @brief change window attributes 5584 * 5585 * @param c The connection 5586 * @param window The window to change. 5587 * @param value_mask A bitmask of #xcb_cw_t values. 5588 * @param value_mask \n 5589 * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The 5590 * order has to correspond to the order of possible \a value_mask bits. See the 5591 * example. 5592 * @return A cookie 5593 * 5594 * Changes the attributes specified by \a value_mask for the specified \a window. 5595 * 5596 * This form can be used only if the request will not cause 5597 * a reply to be generated. Any returned error will be 5598 * saved for handling by xcb_request_check(). 5599 */ 5600 xcb_void_cookie_t 5601 xcb_change_window_attributes_checked (xcb_connection_t *c /**< */, 5602 xcb_window_t window /**< */, 5603 uint32_t value_mask /**< */, 5604 const uint32_t *value_list /**< */); 5605 5606 /** 5607 * @brief change window attributes 5608 * 5609 * @param c The connection 5610 * @param window The window to change. 5611 * @param value_mask A bitmask of #xcb_cw_t values. 5612 * @param value_mask \n 5613 * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The 5614 * order has to correspond to the order of possible \a value_mask bits. See the 5615 * example. 5616 * @return A cookie 5617 * 5618 * Changes the attributes specified by \a value_mask for the specified \a window. 5619 * 5620 */ 5621 xcb_void_cookie_t 5622 xcb_change_window_attributes (xcb_connection_t *c /**< */, 5623 xcb_window_t window /**< */, 5624 uint32_t value_mask /**< */, 5625 const uint32_t *value_list /**< */); 5626 5627 /** 5628 * @brief Gets window attributes 5629 * 5630 * @param c The connection 5631 * @param window The window to get the attributes from. 5632 * @return A cookie 5633 * 5634 * Gets the current attributes for the specified \a window. 5635 * 5636 */ 5637 xcb_get_window_attributes_cookie_t 5638 xcb_get_window_attributes (xcb_connection_t *c /**< */, 5639 xcb_window_t window /**< */); 5640 5641 /** 5642 * @brief Gets window attributes 5643 * 5644 * @param c The connection 5645 * @param window The window to get the attributes from. 5646 * @return A cookie 5647 * 5648 * Gets the current attributes for the specified \a window. 5649 * 5650 * This form can be used only if the request will cause 5651 * a reply to be generated. Any returned error will be 5652 * placed in the event queue. 5653 */ 5654 xcb_get_window_attributes_cookie_t 5655 xcb_get_window_attributes_unchecked (xcb_connection_t *c /**< */, 5656 xcb_window_t window /**< */); 5657 5658 /** 5659 * Return the reply 5660 * @param c The connection 5661 * @param cookie The cookie 5662 * @param e The xcb_generic_error_t supplied 5663 * 5664 * Returns the reply of the request asked by 5665 * 5666 * The parameter @p e supplied to this function must be NULL if 5667 * xcb_get_window_attributes_unchecked(). is used. 5668 * Otherwise, it stores the error if any. 5669 * 5670 * The returned value must be freed by the caller using free(). 5671 */ 5672 xcb_get_window_attributes_reply_t * 5673 xcb_get_window_attributes_reply (xcb_connection_t *c /**< */, 5674 xcb_get_window_attributes_cookie_t cookie /**< */, 5675 xcb_generic_error_t **e /**< */); 5676 5677 /** 5678 * @brief Destroys a window 5679 * 5680 * @param c The connection 5681 * @param window The window to destroy. 5682 * @return A cookie 5683 * 5684 * Destroys the specified window and all of its subwindows. A DestroyNotify event 5685 * is generated for each destroyed window (a DestroyNotify event is first generated 5686 * for any given window's inferiors). If the window was mapped, it will be 5687 * automatically unmapped before destroying. 5688 * 5689 * Calling DestroyWindow on the root window will do nothing. 5690 * 5691 * This form can be used only if the request will not cause 5692 * a reply to be generated. Any returned error will be 5693 * saved for handling by xcb_request_check(). 5694 */ 5695 xcb_void_cookie_t 5696 xcb_destroy_window_checked (xcb_connection_t *c /**< */, 5697 xcb_window_t window /**< */); 5698 5699 /** 5700 * @brief Destroys a window 5701 * 5702 * @param c The connection 5703 * @param window The window to destroy. 5704 * @return A cookie 5705 * 5706 * Destroys the specified window and all of its subwindows. A DestroyNotify event 5707 * is generated for each destroyed window (a DestroyNotify event is first generated 5708 * for any given window's inferiors). If the window was mapped, it will be 5709 * automatically unmapped before destroying. 5710 * 5711 * Calling DestroyWindow on the root window will do nothing. 5712 * 5713 */ 5714 xcb_void_cookie_t 5715 xcb_destroy_window (xcb_connection_t *c /**< */, 5716 xcb_window_t window /**< */); 5717 5718 /** 5719 * 5720 * @param c The connection 5721 * @return A cookie 5722 * 5723 * Delivers a request to the X server. 5724 * 5725 * This form can be used only if the request will not cause 5726 * a reply to be generated. Any returned error will be 5727 * saved for handling by xcb_request_check(). 5728 */ 5729 xcb_void_cookie_t 5730 xcb_destroy_subwindows_checked (xcb_connection_t *c /**< */, 5731 xcb_window_t window /**< */); 5732 5733 /** 5734 * 5735 * @param c The connection 5736 * @return A cookie 5737 * 5738 * Delivers a request to the X server. 5739 * 5740 */ 5741 xcb_void_cookie_t 5742 xcb_destroy_subwindows (xcb_connection_t *c /**< */, 5743 xcb_window_t window /**< */); 5744 5745 /** 5746 * @brief Changes a client's save set 5747 * 5748 * @param c The connection 5749 * @param mode A bitmask of #xcb_set_mode_t values. 5750 * @param mode Insert to add the specified window to the save set or Delete to delete it from the save set. 5751 * @param window The window to add or delete to/from your save set. 5752 * @return A cookie 5753 * 5754 * TODO: explain what the save set is for. 5755 * 5756 * This function either adds or removes the specified window to the client's (your 5757 * application's) save set. 5758 * 5759 * This form can be used only if the request will not cause 5760 * a reply to be generated. Any returned error will be 5761 * saved for handling by xcb_request_check(). 5762 */ 5763 xcb_void_cookie_t 5764 xcb_change_save_set_checked (xcb_connection_t *c /**< */, 5765 uint8_t mode /**< */, 5766 xcb_window_t window /**< */); 5767 5768 /** 5769 * @brief Changes a client's save set 5770 * 5771 * @param c The connection 5772 * @param mode A bitmask of #xcb_set_mode_t values. 5773 * @param mode Insert to add the specified window to the save set or Delete to delete it from the save set. 5774 * @param window The window to add or delete to/from your save set. 5775 * @return A cookie 5776 * 5777 * TODO: explain what the save set is for. 5778 * 5779 * This function either adds or removes the specified window to the client's (your 5780 * application's) save set. 5781 * 5782 */ 5783 xcb_void_cookie_t 5784 xcb_change_save_set (xcb_connection_t *c /**< */, 5785 uint8_t mode /**< */, 5786 xcb_window_t window /**< */); 5787 5788 /** 5789 * @brief Reparents a window 5790 * 5791 * @param c The connection 5792 * @param window The window to reparent. 5793 * @param parent The new parent of the window. 5794 * @param x The X position of the window within its new parent. 5795 * @param y The Y position of the window within its new parent. 5796 * @return A cookie 5797 * 5798 * Makes the specified window a child of the specified parent window. If the 5799 * window is mapped, it will automatically be unmapped before reparenting and 5800 * re-mapped after reparenting. The window is placed in the stacking order on top 5801 * with respect to sibling windows. 5802 * 5803 * After reparenting, a ReparentNotify event is generated. 5804 * 5805 * This form can be used only if the request will not cause 5806 * a reply to be generated. Any returned error will be 5807 * saved for handling by xcb_request_check(). 5808 */ 5809 xcb_void_cookie_t 5810 xcb_reparent_window_checked (xcb_connection_t *c /**< */, 5811 xcb_window_t window /**< */, 5812 xcb_window_t parent /**< */, 5813 int16_t x /**< */, 5814 int16_t y /**< */); 5815 5816 /** 5817 * @brief Reparents a window 5818 * 5819 * @param c The connection 5820 * @param window The window to reparent. 5821 * @param parent The new parent of the window. 5822 * @param x The X position of the window within its new parent. 5823 * @param y The Y position of the window within its new parent. 5824 * @return A cookie 5825 * 5826 * Makes the specified window a child of the specified parent window. If the 5827 * window is mapped, it will automatically be unmapped before reparenting and 5828 * re-mapped after reparenting. The window is placed in the stacking order on top 5829 * with respect to sibling windows. 5830 * 5831 * After reparenting, a ReparentNotify event is generated. 5832 * 5833 */ 5834 xcb_void_cookie_t 5835 xcb_reparent_window (xcb_connection_t *c /**< */, 5836 xcb_window_t window /**< */, 5837 xcb_window_t parent /**< */, 5838 int16_t x /**< */, 5839 int16_t y /**< */); 5840 5841 /** 5842 * @brief Makes a window visible 5843 * 5844 * @param c The connection 5845 * @param window The window to make visible. 5846 * @return A cookie 5847 * 5848 * Maps the specified window. This means making the window visible (as long as its 5849 * parent is visible). 5850 * 5851 * This MapWindow request will be translated to a MapRequest request if a window 5852 * manager is running. The window manager then decides to either map the window or 5853 * not. Set the override-redirect window attribute to true if you want to bypass 5854 * this mechanism. 5855 * 5856 * If the window manager decides to map the window (or if no window manager is 5857 * running), a MapNotify event is generated. 5858 * 5859 * If the window becomes viewable and no earlier contents for it are remembered, 5860 * the X server tiles the window with its background. If the window's background 5861 * is undefined, the existing screen contents are not altered, and the X server 5862 * generates zero or more Expose events. 5863 * 5864 * If the window type is InputOutput, an Expose event will be generated when the 5865 * window becomes visible. The normal response to an Expose event should be to 5866 * repaint the window. 5867 * 5868 * This form can be used only if the request will not cause 5869 * a reply to be generated. Any returned error will be 5870 * saved for handling by xcb_request_check(). 5871 */ 5872 xcb_void_cookie_t 5873 xcb_map_window_checked (xcb_connection_t *c /**< */, 5874 xcb_window_t window /**< */); 5875 5876 /** 5877 * @brief Makes a window visible 5878 * 5879 * @param c The connection 5880 * @param window The window to make visible. 5881 * @return A cookie 5882 * 5883 * Maps the specified window. This means making the window visible (as long as its 5884 * parent is visible). 5885 * 5886 * This MapWindow request will be translated to a MapRequest request if a window 5887 * manager is running. The window manager then decides to either map the window or 5888 * not. Set the override-redirect window attribute to true if you want to bypass 5889 * this mechanism. 5890 * 5891 * If the window manager decides to map the window (or if no window manager is 5892 * running), a MapNotify event is generated. 5893 * 5894 * If the window becomes viewable and no earlier contents for it are remembered, 5895 * the X server tiles the window with its background. If the window's background 5896 * is undefined, the existing screen contents are not altered, and the X server 5897 * generates zero or more Expose events. 5898 * 5899 * If the window type is InputOutput, an Expose event will be generated when the 5900 * window becomes visible. The normal response to an Expose event should be to 5901 * repaint the window. 5902 * 5903 */ 5904 xcb_void_cookie_t 5905 xcb_map_window (xcb_connection_t *c /**< */, 5906 xcb_window_t window /**< */); 5907 5908 /** 5909 * 5910 * @param c The connection 5911 * @return A cookie 5912 * 5913 * Delivers a request to the X server. 5914 * 5915 * This form can be used only if the request will not cause 5916 * a reply to be generated. Any returned error will be 5917 * saved for handling by xcb_request_check(). 5918 */ 5919 xcb_void_cookie_t 5920 xcb_map_subwindows_checked (xcb_connection_t *c /**< */, 5921 xcb_window_t window /**< */); 5922 5923 /** 5924 * 5925 * @param c The connection 5926 * @return A cookie 5927 * 5928 * Delivers a request to the X server. 5929 * 5930 */ 5931 xcb_void_cookie_t 5932 xcb_map_subwindows (xcb_connection_t *c /**< */, 5933 xcb_window_t window /**< */); 5934 5935 /** 5936 * @brief Makes a window invisible 5937 * 5938 * @param c The connection 5939 * @param window The window to make invisible. 5940 * @return A cookie 5941 * 5942 * Unmaps the specified window. This means making the window invisible (and all 5943 * its child windows). 5944 * 5945 * Unmapping a window leads to the `UnmapNotify` event being generated. Also, 5946 * `Expose` events are generated for formerly obscured windows. 5947 * 5948 * This form can be used only if the request will not cause 5949 * a reply to be generated. Any returned error will be 5950 * saved for handling by xcb_request_check(). 5951 */ 5952 xcb_void_cookie_t 5953 xcb_unmap_window_checked (xcb_connection_t *c /**< */, 5954 xcb_window_t window /**< */); 5955 5956 /** 5957 * @brief Makes a window invisible 5958 * 5959 * @param c The connection 5960 * @param window The window to make invisible. 5961 * @return A cookie 5962 * 5963 * Unmaps the specified window. This means making the window invisible (and all 5964 * its child windows). 5965 * 5966 * Unmapping a window leads to the `UnmapNotify` event being generated. Also, 5967 * `Expose` events are generated for formerly obscured windows. 5968 * 5969 */ 5970 xcb_void_cookie_t 5971 xcb_unmap_window (xcb_connection_t *c /**< */, 5972 xcb_window_t window /**< */); 5973 5974 /** 5975 * 5976 * @param c The connection 5977 * @return A cookie 5978 * 5979 * Delivers a request to the X server. 5980 * 5981 * This form can be used only if the request will not cause 5982 * a reply to be generated. Any returned error will be 5983 * saved for handling by xcb_request_check(). 5984 */ 5985 xcb_void_cookie_t 5986 xcb_unmap_subwindows_checked (xcb_connection_t *c /**< */, 5987 xcb_window_t window /**< */); 5988 5989 /** 5990 * 5991 * @param c The connection 5992 * @return A cookie 5993 * 5994 * Delivers a request to the X server. 5995 * 5996 */ 5997 xcb_void_cookie_t 5998 xcb_unmap_subwindows (xcb_connection_t *c /**< */, 5999 xcb_window_t window /**< */); 6000 6001 int 6002 xcb_configure_window_sizeof (const void *_buffer /**< */); 6003 6004 /** 6005 * @brief Configures window attributes 6006 * 6007 * @param c The connection 6008 * @param window The window to configure. 6009 * @param value_mask Bitmask of attributes to change. 6010 * @param value_list New values, corresponding to the attributes in value_mask. The order has to 6011 * correspond to the order of possible \a value_mask bits. See the example. 6012 * @return A cookie 6013 * 6014 * Configures a window's size, position, border width and stacking order. 6015 * 6016 * This form can be used only if the request will not cause 6017 * a reply to be generated. Any returned error will be 6018 * saved for handling by xcb_request_check(). 6019 */ 6020 xcb_void_cookie_t 6021 xcb_configure_window_checked (xcb_connection_t *c /**< */, 6022 xcb_window_t window /**< */, 6023 uint16_t value_mask /**< */, 6024 const uint32_t *value_list /**< */); 6025 6026 /** 6027 * @brief Configures window attributes 6028 * 6029 * @param c The connection 6030 * @param window The window to configure. 6031 * @param value_mask Bitmask of attributes to change. 6032 * @param value_list New values, corresponding to the attributes in value_mask. The order has to 6033 * correspond to the order of possible \a value_mask bits. See the example. 6034 * @return A cookie 6035 * 6036 * Configures a window's size, position, border width and stacking order. 6037 * 6038 */ 6039 xcb_void_cookie_t 6040 xcb_configure_window (xcb_connection_t *c /**< */, 6041 xcb_window_t window /**< */, 6042 uint16_t value_mask /**< */, 6043 const uint32_t *value_list /**< */); 6044 6045 /** 6046 * @brief Change window stacking order 6047 * 6048 * @param c The connection 6049 * @param direction A bitmask of #xcb_circulate_t values. 6050 * @param direction \n 6051 * @param window The window to raise/lower (depending on \a direction). 6052 * @return A cookie 6053 * 6054 * If \a direction is `XCB_CIRCULATE_RAISE_LOWEST`, the lowest mapped child (if 6055 * any) will be raised to the top of the stack. 6056 * 6057 * If \a direction is `XCB_CIRCULATE_LOWER_HIGHEST`, the highest mapped child will 6058 * be lowered to the bottom of the stack. 6059 * 6060 * This form can be used only if the request will not cause 6061 * a reply to be generated. Any returned error will be 6062 * saved for handling by xcb_request_check(). 6063 */ 6064 xcb_void_cookie_t 6065 xcb_circulate_window_checked (xcb_connection_t *c /**< */, 6066 uint8_t direction /**< */, 6067 xcb_window_t window /**< */); 6068 6069 /** 6070 * @brief Change window stacking order 6071 * 6072 * @param c The connection 6073 * @param direction A bitmask of #xcb_circulate_t values. 6074 * @param direction \n 6075 * @param window The window to raise/lower (depending on \a direction). 6076 * @return A cookie 6077 * 6078 * If \a direction is `XCB_CIRCULATE_RAISE_LOWEST`, the lowest mapped child (if 6079 * any) will be raised to the top of the stack. 6080 * 6081 * If \a direction is `XCB_CIRCULATE_LOWER_HIGHEST`, the highest mapped child will 6082 * be lowered to the bottom of the stack. 6083 * 6084 */ 6085 xcb_void_cookie_t 6086 xcb_circulate_window (xcb_connection_t *c /**< */, 6087 uint8_t direction /**< */, 6088 xcb_window_t window /**< */); 6089 6090 /** 6091 * @brief Get current window geometry 6092 * 6093 * @param c The connection 6094 * @param drawable The drawable (`Window` or `Pixmap`) of which the geometry will be received. 6095 * @return A cookie 6096 * 6097 * Gets the current geometry of the specified drawable (either `Window` or `Pixmap`). 6098 * 6099 */ 6100 xcb_get_geometry_cookie_t 6101 xcb_get_geometry (xcb_connection_t *c /**< */, 6102 xcb_drawable_t drawable /**< */); 6103 6104 /** 6105 * @brief Get current window geometry 6106 * 6107 * @param c The connection 6108 * @param drawable The drawable (`Window` or `Pixmap`) of which the geometry will be received. 6109 * @return A cookie 6110 * 6111 * Gets the current geometry of the specified drawable (either `Window` or `Pixmap`). 6112 * 6113 * This form can be used only if the request will cause 6114 * a reply to be generated. Any returned error will be 6115 * placed in the event queue. 6116 */ 6117 xcb_get_geometry_cookie_t 6118 xcb_get_geometry_unchecked (xcb_connection_t *c /**< */, 6119 xcb_drawable_t drawable /**< */); 6120 6121 /** 6122 * Return the reply 6123 * @param c The connection 6124 * @param cookie The cookie 6125 * @param e The xcb_generic_error_t supplied 6126 * 6127 * Returns the reply of the request asked by 6128 * 6129 * The parameter @p e supplied to this function must be NULL if 6130 * xcb_get_geometry_unchecked(). is used. 6131 * Otherwise, it stores the error if any. 6132 * 6133 * The returned value must be freed by the caller using free(). 6134 */ 6135 xcb_get_geometry_reply_t * 6136 xcb_get_geometry_reply (xcb_connection_t *c /**< */, 6137 xcb_get_geometry_cookie_t cookie /**< */, 6138 xcb_generic_error_t **e /**< */); 6139 6140 int 6141 xcb_query_tree_sizeof (const void *_buffer /**< */); 6142 6143 /** 6144 * @brief query the window tree 6145 * 6146 * @param c The connection 6147 * @param window The \a window to query. 6148 * @return A cookie 6149 * 6150 * Gets the root window ID, parent window ID and list of children windows for the 6151 * specified \a window. The children are listed in bottom-to-top stacking order. 6152 * 6153 */ 6154 xcb_query_tree_cookie_t 6155 xcb_query_tree (xcb_connection_t *c /**< */, 6156 xcb_window_t window /**< */); 6157 6158 /** 6159 * @brief query the window tree 6160 * 6161 * @param c The connection 6162 * @param window The \a window to query. 6163 * @return A cookie 6164 * 6165 * Gets the root window ID, parent window ID and list of children windows for the 6166 * specified \a window. The children are listed in bottom-to-top stacking order. 6167 * 6168 * This form can be used only if the request will cause 6169 * a reply to be generated. Any returned error will be 6170 * placed in the event queue. 6171 */ 6172 xcb_query_tree_cookie_t 6173 xcb_query_tree_unchecked (xcb_connection_t *c /**< */, 6174 xcb_window_t window /**< */); 6175 6176 xcb_window_t * 6177 xcb_query_tree_children (const xcb_query_tree_reply_t *R /**< */); 6178 6179 int 6180 xcb_query_tree_children_length (const xcb_query_tree_reply_t *R /**< */); 6181 6182 xcb_generic_iterator_t 6183 xcb_query_tree_children_end (const xcb_query_tree_reply_t *R /**< */); 6184 6185 /** 6186 * Return the reply 6187 * @param c The connection 6188 * @param cookie The cookie 6189 * @param e The xcb_generic_error_t supplied 6190 * 6191 * Returns the reply of the request asked by 6192 * 6193 * The parameter @p e supplied to this function must be NULL if 6194 * xcb_query_tree_unchecked(). is used. 6195 * Otherwise, it stores the error if any. 6196 * 6197 * The returned value must be freed by the caller using free(). 6198 */ 6199 xcb_query_tree_reply_t * 6200 xcb_query_tree_reply (xcb_connection_t *c /**< */, 6201 xcb_query_tree_cookie_t cookie /**< */, 6202 xcb_generic_error_t **e /**< */); 6203 6204 int 6205 xcb_intern_atom_sizeof (const void *_buffer /**< */); 6206 6207 /** 6208 * @brief Get atom identifier by name 6209 * 6210 * @param c The connection 6211 * @param only_if_exists Return a valid atom id only if the atom already exists. 6212 * @param name_len The length of the following \a name. 6213 * @param name The name of the atom. 6214 * @return A cookie 6215 * 6216 * Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified 6217 * name. Atoms are used in protocols like EWMH, for example to store window titles 6218 * (`_NET_WM_NAME` atom) as property of a window. 6219 * 6220 * If \a only_if_exists is 0, the atom will be created if it does not already exist. 6221 * If \a only_if_exists is 1, `XCB_ATOM_NONE` will be returned if the atom does 6222 * not yet exist. 6223 * 6224 */ 6225 xcb_intern_atom_cookie_t 6226 xcb_intern_atom (xcb_connection_t *c /**< */, 6227 uint8_t only_if_exists /**< */, 6228 uint16_t name_len /**< */, 6229 const char *name /**< */); 6230 6231 /** 6232 * @brief Get atom identifier by name 6233 * 6234 * @param c The connection 6235 * @param only_if_exists Return a valid atom id only if the atom already exists. 6236 * @param name_len The length of the following \a name. 6237 * @param name The name of the atom. 6238 * @return A cookie 6239 * 6240 * Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified 6241 * name. Atoms are used in protocols like EWMH, for example to store window titles 6242 * (`_NET_WM_NAME` atom) as property of a window. 6243 * 6244 * If \a only_if_exists is 0, the atom will be created if it does not already exist. 6245 * If \a only_if_exists is 1, `XCB_ATOM_NONE` will be returned if the atom does 6246 * not yet exist. 6247 * 6248 * This form can be used only if the request will cause 6249 * a reply to be generated. Any returned error will be 6250 * placed in the event queue. 6251 */ 6252 xcb_intern_atom_cookie_t 6253 xcb_intern_atom_unchecked (xcb_connection_t *c /**< */, 6254 uint8_t only_if_exists /**< */, 6255 uint16_t name_len /**< */, 6256 const char *name /**< */); 6257 6258 /** 6259 * Return the reply 6260 * @param c The connection 6261 * @param cookie The cookie 6262 * @param e The xcb_generic_error_t supplied 6263 * 6264 * Returns the reply of the request asked by 6265 * 6266 * The parameter @p e supplied to this function must be NULL if 6267 * xcb_intern_atom_unchecked(). is used. 6268 * Otherwise, it stores the error if any. 6269 * 6270 * The returned value must be freed by the caller using free(). 6271 */ 6272 xcb_intern_atom_reply_t * 6273 xcb_intern_atom_reply (xcb_connection_t *c /**< */, 6274 xcb_intern_atom_cookie_t cookie /**< */, 6275 xcb_generic_error_t **e /**< */); 6276 6277 int 6278 xcb_get_atom_name_sizeof (const void *_buffer /**< */); 6279 6280 /** 6281 * 6282 * @param c The connection 6283 * @return A cookie 6284 * 6285 * Delivers a request to the X server. 6286 * 6287 */ 6288 xcb_get_atom_name_cookie_t 6289 xcb_get_atom_name (xcb_connection_t *c /**< */, 6290 xcb_atom_t atom /**< */); 6291 6292 /** 6293 * 6294 * @param c The connection 6295 * @return A cookie 6296 * 6297 * Delivers a request to the X server. 6298 * 6299 * This form can be used only if the request will cause 6300 * a reply to be generated. Any returned error will be 6301 * placed in the event queue. 6302 */ 6303 xcb_get_atom_name_cookie_t 6304 xcb_get_atom_name_unchecked (xcb_connection_t *c /**< */, 6305 xcb_atom_t atom /**< */); 6306 6307 char * 6308 xcb_get_atom_name_name (const xcb_get_atom_name_reply_t *R /**< */); 6309 6310 int 6311 xcb_get_atom_name_name_length (const xcb_get_atom_name_reply_t *R /**< */); 6312 6313 xcb_generic_iterator_t 6314 xcb_get_atom_name_name_end (const xcb_get_atom_name_reply_t *R /**< */); 6315 6316 /** 6317 * Return the reply 6318 * @param c The connection 6319 * @param cookie The cookie 6320 * @param e The xcb_generic_error_t supplied 6321 * 6322 * Returns the reply of the request asked by 6323 * 6324 * The parameter @p e supplied to this function must be NULL if 6325 * xcb_get_atom_name_unchecked(). is used. 6326 * Otherwise, it stores the error if any. 6327 * 6328 * The returned value must be freed by the caller using free(). 6329 */ 6330 xcb_get_atom_name_reply_t * 6331 xcb_get_atom_name_reply (xcb_connection_t *c /**< */, 6332 xcb_get_atom_name_cookie_t cookie /**< */, 6333 xcb_generic_error_t **e /**< */); 6334 6335 int 6336 xcb_change_property_sizeof (const void *_buffer /**< */); 6337 6338 /** 6339 * @brief Changes a window property 6340 * 6341 * @param c The connection 6342 * @param mode A bitmask of #xcb_prop_mode_t values. 6343 * @param mode \n 6344 * @param window The window whose property you want to change. 6345 * @param property The property you want to change (an atom). 6346 * @param type The type of the property you want to change (an atom). 6347 * @param format Specifies whether the data should be viewed as a list of 8-bit, 16-bit or 6348 * 32-bit quantities. Possible values are 8, 16 and 32. This information allows 6349 * the X server to correctly perform byte-swap operations as necessary. 6350 * @param data_len Specifies the number of elements (see \a format). 6351 * @param data The property data. 6352 * @return A cookie 6353 * 6354 * Sets or updates a property on the specified \a window. Properties are for 6355 * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`). 6356 * Protocols such as EWMH also use properties - for example EWMH defines the 6357 * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property. 6358 * 6359 * This form can be used only if the request will not cause 6360 * a reply to be generated. Any returned error will be 6361 * saved for handling by xcb_request_check(). 6362 */ 6363 xcb_void_cookie_t 6364 xcb_change_property_checked (xcb_connection_t *c /**< */, 6365 uint8_t mode /**< */, 6366 xcb_window_t window /**< */, 6367 xcb_atom_t property /**< */, 6368 xcb_atom_t type /**< */, 6369 uint8_t format /**< */, 6370 uint32_t data_len /**< */, 6371 const void *data /**< */); 6372 6373 /** 6374 * @brief Changes a window property 6375 * 6376 * @param c The connection 6377 * @param mode A bitmask of #xcb_prop_mode_t values. 6378 * @param mode \n 6379 * @param window The window whose property you want to change. 6380 * @param property The property you want to change (an atom). 6381 * @param type The type of the property you want to change (an atom). 6382 * @param format Specifies whether the data should be viewed as a list of 8-bit, 16-bit or 6383 * 32-bit quantities. Possible values are 8, 16 and 32. This information allows 6384 * the X server to correctly perform byte-swap operations as necessary. 6385 * @param data_len Specifies the number of elements (see \a format). 6386 * @param data The property data. 6387 * @return A cookie 6388 * 6389 * Sets or updates a property on the specified \a window. Properties are for 6390 * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`). 6391 * Protocols such as EWMH also use properties - for example EWMH defines the 6392 * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property. 6393 * 6394 */ 6395 xcb_void_cookie_t 6396 xcb_change_property (xcb_connection_t *c /**< */, 6397 uint8_t mode /**< */, 6398 xcb_window_t window /**< */, 6399 xcb_atom_t property /**< */, 6400 xcb_atom_t type /**< */, 6401 uint8_t format /**< */, 6402 uint32_t data_len /**< */, 6403 const void *data /**< */); 6404 6405 /** 6406 * 6407 * @param c The connection 6408 * @return A cookie 6409 * 6410 * Delivers a request to the X server. 6411 * 6412 * This form can be used only if the request will not cause 6413 * a reply to be generated. Any returned error will be 6414 * saved for handling by xcb_request_check(). 6415 */ 6416 xcb_void_cookie_t 6417 xcb_delete_property_checked (xcb_connection_t *c /**< */, 6418 xcb_window_t window /**< */, 6419 xcb_atom_t property /**< */); 6420 6421 /** 6422 * 6423 * @param c The connection 6424 * @return A cookie 6425 * 6426 * Delivers a request to the X server. 6427 * 6428 */ 6429 xcb_void_cookie_t 6430 xcb_delete_property (xcb_connection_t *c /**< */, 6431 xcb_window_t window /**< */, 6432 xcb_atom_t property /**< */); 6433 6434 int 6435 xcb_get_property_sizeof (const void *_buffer /**< */); 6436 6437 /** 6438 * @brief Gets a window property 6439 * 6440 * @param c The connection 6441 * @param _delete Whether the property should actually be deleted. For deleting a property, the 6442 * specified \a type has to match the actual property type. 6443 * @param window The window whose property you want to get. 6444 * @param property The property you want to get (an atom). 6445 * @param type The type of the property you want to get (an atom). 6446 * @param long_offset Specifies the offset (in 32-bit multiples) in the specified property where the 6447 * data is to be retrieved. 6448 * @param long_length Specifies how many 32-bit multiples of data should be retrieved (e.g. if you 6449 * set \a long_length to 4, you will receive 16 bytes of data). 6450 * @return A cookie 6451 * 6452 * Gets the specified \a property from the specified \a window. Properties are for 6453 * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`). 6454 * Protocols such as EWMH also use properties - for example EWMH defines the 6455 * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property. 6456 * 6457 * TODO: talk about \a type 6458 * 6459 * TODO: talk about `delete` 6460 * 6461 * TODO: talk about the offset/length thing. what's a valid use case? 6462 * 6463 */ 6464 xcb_get_property_cookie_t 6465 xcb_get_property (xcb_connection_t *c /**< */, 6466 uint8_t _delete /**< */, 6467 xcb_window_t window /**< */, 6468 xcb_atom_t property /**< */, 6469 xcb_atom_t type /**< */, 6470 uint32_t long_offset /**< */, 6471 uint32_t long_length /**< */); 6472 6473 /** 6474 * @brief Gets a window property 6475 * 6476 * @param c The connection 6477 * @param _delete Whether the property should actually be deleted. For deleting a property, the 6478 * specified \a type has to match the actual property type. 6479 * @param window The window whose property you want to get. 6480 * @param property The property you want to get (an atom). 6481 * @param type The type of the property you want to get (an atom). 6482 * @param long_offset Specifies the offset (in 32-bit multiples) in the specified property where the 6483 * data is to be retrieved. 6484 * @param long_length Specifies how many 32-bit multiples of data should be retrieved (e.g. if you 6485 * set \a long_length to 4, you will receive 16 bytes of data). 6486 * @return A cookie 6487 * 6488 * Gets the specified \a property from the specified \a window. Properties are for 6489 * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`). 6490 * Protocols such as EWMH also use properties - for example EWMH defines the 6491 * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property. 6492 * 6493 * TODO: talk about \a type 6494 * 6495 * TODO: talk about `delete` 6496 * 6497 * TODO: talk about the offset/length thing. what's a valid use case? 6498 * 6499 * This form can be used only if the request will cause 6500 * a reply to be generated. Any returned error will be 6501 * placed in the event queue. 6502 */ 6503 xcb_get_property_cookie_t 6504 xcb_get_property_unchecked (xcb_connection_t *c /**< */, 6505 uint8_t _delete /**< */, 6506 xcb_window_t window /**< */, 6507 xcb_atom_t property /**< */, 6508 xcb_atom_t type /**< */, 6509 uint32_t long_offset /**< */, 6510 uint32_t long_length /**< */); 6511 6512 void * 6513 xcb_get_property_value (const xcb_get_property_reply_t *R /**< */); 6514 6515 int 6516 xcb_get_property_value_length (const xcb_get_property_reply_t *R /**< */); 6517 6518 xcb_generic_iterator_t 6519 xcb_get_property_value_end (const xcb_get_property_reply_t *R /**< */); 6520 6521 /** 6522 * Return the reply 6523 * @param c The connection 6524 * @param cookie The cookie 6525 * @param e The xcb_generic_error_t supplied 6526 * 6527 * Returns the reply of the request asked by 6528 * 6529 * The parameter @p e supplied to this function must be NULL if 6530 * xcb_get_property_unchecked(). is used. 6531 * Otherwise, it stores the error if any. 6532 * 6533 * The returned value must be freed by the caller using free(). 6534 */ 6535 xcb_get_property_reply_t * 6536 xcb_get_property_reply (xcb_connection_t *c /**< */, 6537 xcb_get_property_cookie_t cookie /**< */, 6538 xcb_generic_error_t **e /**< */); 6539 6540 int 6541 xcb_list_properties_sizeof (const void *_buffer /**< */); 6542 6543 /** 6544 * 6545 * @param c The connection 6546 * @return A cookie 6547 * 6548 * Delivers a request to the X server. 6549 * 6550 */ 6551 xcb_list_properties_cookie_t 6552 xcb_list_properties (xcb_connection_t *c /**< */, 6553 xcb_window_t window /**< */); 6554 6555 /** 6556 * 6557 * @param c The connection 6558 * @return A cookie 6559 * 6560 * Delivers a request to the X server. 6561 * 6562 * This form can be used only if the request will cause 6563 * a reply to be generated. Any returned error will be 6564 * placed in the event queue. 6565 */ 6566 xcb_list_properties_cookie_t 6567 xcb_list_properties_unchecked (xcb_connection_t *c /**< */, 6568 xcb_window_t window /**< */); 6569 6570 xcb_atom_t * 6571 xcb_list_properties_atoms (const xcb_list_properties_reply_t *R /**< */); 6572 6573 int 6574 xcb_list_properties_atoms_length (const xcb_list_properties_reply_t *R /**< */); 6575 6576 xcb_generic_iterator_t 6577 xcb_list_properties_atoms_end (const xcb_list_properties_reply_t *R /**< */); 6578 6579 /** 6580 * Return the reply 6581 * @param c The connection 6582 * @param cookie The cookie 6583 * @param e The xcb_generic_error_t supplied 6584 * 6585 * Returns the reply of the request asked by 6586 * 6587 * The parameter @p e supplied to this function must be NULL if 6588 * xcb_list_properties_unchecked(). is used. 6589 * Otherwise, it stores the error if any. 6590 * 6591 * The returned value must be freed by the caller using free(). 6592 */ 6593 xcb_list_properties_reply_t * 6594 xcb_list_properties_reply (xcb_connection_t *c /**< */, 6595 xcb_list_properties_cookie_t cookie /**< */, 6596 xcb_generic_error_t **e /**< */); 6597 6598 /** 6599 * @brief Sets the owner of a selection 6600 * 6601 * @param c The connection 6602 * @param owner The new owner of the selection. 6603 * \n 6604 * The special value `XCB_NONE` means that the selection will have no owner. 6605 * @param selection The selection. 6606 * @param time Timestamp to avoid race conditions when running X over the network. 6607 * \n 6608 * The selection will not be changed if \a time is earlier than the current 6609 * last-change time of the \a selection or is later than the current X server time. 6610 * Otherwise, the last-change time is set to the specified time. 6611 * \n 6612 * The special value `XCB_CURRENT_TIME` will be replaced with the current server 6613 * time. 6614 * @return A cookie 6615 * 6616 * Makes `window` the owner of the selection \a selection and updates the 6617 * last-change time of the specified selection. 6618 * 6619 * TODO: briefly explain what a selection is. 6620 * 6621 * This form can be used only if the request will not cause 6622 * a reply to be generated. Any returned error will be 6623 * saved for handling by xcb_request_check(). 6624 */ 6625 xcb_void_cookie_t 6626 xcb_set_selection_owner_checked (xcb_connection_t *c /**< */, 6627 xcb_window_t owner /**< */, 6628 xcb_atom_t selection /**< */, 6629 xcb_timestamp_t time /**< */); 6630 6631 /** 6632 * @brief Sets the owner of a selection 6633 * 6634 * @param c The connection 6635 * @param owner The new owner of the selection. 6636 * \n 6637 * The special value `XCB_NONE` means that the selection will have no owner. 6638 * @param selection The selection. 6639 * @param time Timestamp to avoid race conditions when running X over the network. 6640 * \n 6641 * The selection will not be changed if \a time is earlier than the current 6642 * last-change time of the \a selection or is later than the current X server time. 6643 * Otherwise, the last-change time is set to the specified time. 6644 * \n 6645 * The special value `XCB_CURRENT_TIME` will be replaced with the current server 6646 * time. 6647 * @return A cookie 6648 * 6649 * Makes `window` the owner of the selection \a selection and updates the 6650 * last-change time of the specified selection. 6651 * 6652 * TODO: briefly explain what a selection is. 6653 * 6654 */ 6655 xcb_void_cookie_t 6656 xcb_set_selection_owner (xcb_connection_t *c /**< */, 6657 xcb_window_t owner /**< */, 6658 xcb_atom_t selection /**< */, 6659 xcb_timestamp_t time /**< */); 6660 6661 /** 6662 * @brief Gets the owner of a selection 6663 * 6664 * @param c The connection 6665 * @param selection The selection. 6666 * @return A cookie 6667 * 6668 * Gets the owner of the specified selection. 6669 * 6670 * TODO: briefly explain what a selection is. 6671 * 6672 */ 6673 xcb_get_selection_owner_cookie_t 6674 xcb_get_selection_owner (xcb_connection_t *c /**< */, 6675 xcb_atom_t selection /**< */); 6676 6677 /** 6678 * @brief Gets the owner of a selection 6679 * 6680 * @param c The connection 6681 * @param selection The selection. 6682 * @return A cookie 6683 * 6684 * Gets the owner of the specified selection. 6685 * 6686 * TODO: briefly explain what a selection is. 6687 * 6688 * This form can be used only if the request will cause 6689 * a reply to be generated. Any returned error will be 6690 * placed in the event queue. 6691 */ 6692 xcb_get_selection_owner_cookie_t 6693 xcb_get_selection_owner_unchecked (xcb_connection_t *c /**< */, 6694 xcb_atom_t selection /**< */); 6695 6696 /** 6697 * Return the reply 6698 * @param c The connection 6699 * @param cookie The cookie 6700 * @param e The xcb_generic_error_t supplied 6701 * 6702 * Returns the reply of the request asked by 6703 * 6704 * The parameter @p e supplied to this function must be NULL if 6705 * xcb_get_selection_owner_unchecked(). is used. 6706 * Otherwise, it stores the error if any. 6707 * 6708 * The returned value must be freed by the caller using free(). 6709 */ 6710 xcb_get_selection_owner_reply_t * 6711 xcb_get_selection_owner_reply (xcb_connection_t *c /**< */, 6712 xcb_get_selection_owner_cookie_t cookie /**< */, 6713 xcb_generic_error_t **e /**< */); 6714 6715 /** 6716 * 6717 * @param c The connection 6718 * @return A cookie 6719 * 6720 * Delivers a request to the X server. 6721 * 6722 * This form can be used only if the request will not cause 6723 * a reply to be generated. Any returned error will be 6724 * saved for handling by xcb_request_check(). 6725 */ 6726 xcb_void_cookie_t 6727 xcb_convert_selection_checked (xcb_connection_t *c /**< */, 6728 xcb_window_t requestor /**< */, 6729 xcb_atom_t selection /**< */, 6730 xcb_atom_t target /**< */, 6731 xcb_atom_t property /**< */, 6732 xcb_timestamp_t time /**< */); 6733 6734 /** 6735 * 6736 * @param c The connection 6737 * @return A cookie 6738 * 6739 * Delivers a request to the X server. 6740 * 6741 */ 6742 xcb_void_cookie_t 6743 xcb_convert_selection (xcb_connection_t *c /**< */, 6744 xcb_window_t requestor /**< */, 6745 xcb_atom_t selection /**< */, 6746 xcb_atom_t target /**< */, 6747 xcb_atom_t property /**< */, 6748 xcb_timestamp_t time /**< */); 6749 6750 /** 6751 * @brief send an event 6752 * 6753 * @param c The connection 6754 * @param propagate If \a propagate is true and no clients have selected any event on \a destination, 6755 * the destination is replaced with the closest ancestor of \a destination for 6756 * which some client has selected a type in \a event_mask and for which no 6757 * intervening window has that type in its do-not-propagate-mask. If no such 6758 * window exists or if the window is an ancestor of the focus window and 6759 * `InputFocus` was originally specified as the destination, the event is not sent 6760 * to any clients. Otherwise, the event is reported to every client selecting on 6761 * the final destination any of the types specified in \a event_mask. 6762 * @param destination The window to send this event to. Every client which selects any event within 6763 * \a event_mask on \a destination will get the event. 6764 * \n 6765 * The special value `XCB_SEND_EVENT_DEST_POINTER_WINDOW` refers to the window 6766 * that contains the mouse pointer. 6767 * \n 6768 * The special value `XCB_SEND_EVENT_DEST_ITEM_FOCUS` refers to the window which 6769 * has the keyboard focus. 6770 * @param event_mask Event_mask for determining which clients should receive the specified event. 6771 * See \a destination and \a propagate. 6772 * @param event The event to send to the specified \a destination. 6773 * @return A cookie 6774 * 6775 * Identifies the \a destination window, determines which clients should receive 6776 * the specified event and ignores any active grabs. 6777 * 6778 * The \a event must be one of the core events or an event defined by an extension, 6779 * so that the X server can correctly byte-swap the contents as necessary. The 6780 * contents of \a event are otherwise unaltered and unchecked except for the 6781 * `send_event` field which is forced to 'true'. 6782 * 6783 * This form can be used only if the request will not cause 6784 * a reply to be generated. Any returned error will be 6785 * saved for handling by xcb_request_check(). 6786 */ 6787 xcb_void_cookie_t 6788 xcb_send_event_checked (xcb_connection_t *c /**< */, 6789 uint8_t propagate /**< */, 6790 xcb_window_t destination /**< */, 6791 uint32_t event_mask /**< */, 6792 const char *event /**< */); 6793 6794 /** 6795 * @brief send an event 6796 * 6797 * @param c The connection 6798 * @param propagate If \a propagate is true and no clients have selected any event on \a destination, 6799 * the destination is replaced with the closest ancestor of \a destination for 6800 * which some client has selected a type in \a event_mask and for which no 6801 * intervening window has that type in its do-not-propagate-mask. If no such 6802 * window exists or if the window is an ancestor of the focus window and 6803 * `InputFocus` was originally specified as the destination, the event is not sent 6804 * to any clients. Otherwise, the event is reported to every client selecting on 6805 * the final destination any of the types specified in \a event_mask. 6806 * @param destination The window to send this event to. Every client which selects any event within 6807 * \a event_mask on \a destination will get the event. 6808 * \n 6809 * The special value `XCB_SEND_EVENT_DEST_POINTER_WINDOW` refers to the window 6810 * that contains the mouse pointer. 6811 * \n 6812 * The special value `XCB_SEND_EVENT_DEST_ITEM_FOCUS` refers to the window which 6813 * has the keyboard focus. 6814 * @param event_mask Event_mask for determining which clients should receive the specified event. 6815 * See \a destination and \a propagate. 6816 * @param event The event to send to the specified \a destination. 6817 * @return A cookie 6818 * 6819 * Identifies the \a destination window, determines which clients should receive 6820 * the specified event and ignores any active grabs. 6821 * 6822 * The \a event must be one of the core events or an event defined by an extension, 6823 * so that the X server can correctly byte-swap the contents as necessary. The 6824 * contents of \a event are otherwise unaltered and unchecked except for the 6825 * `send_event` field which is forced to 'true'. 6826 * 6827 */ 6828 xcb_void_cookie_t 6829 xcb_send_event (xcb_connection_t *c /**< */, 6830 uint8_t propagate /**< */, 6831 xcb_window_t destination /**< */, 6832 uint32_t event_mask /**< */, 6833 const char *event /**< */); 6834 6835 /** 6836 * @brief Grab the pointer 6837 * 6838 * @param c The connection 6839 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not 6840 * reported to the \a grab_window. 6841 * @param grab_window Specifies the window on which the pointer should be grabbed. 6842 * @param event_mask Specifies which pointer events are reported to the client. 6843 * \n 6844 * TODO: which values? 6845 * @param pointer_mode A bitmask of #xcb_grab_mode_t values. 6846 * @param pointer_mode \n 6847 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values. 6848 * @param keyboard_mode \n 6849 * @param confine_to Specifies the window to confine the pointer in (the user will not be able to 6850 * move the pointer out of that window). 6851 * \n 6852 * The special value `XCB_NONE` means don't confine the pointer. 6853 * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the 6854 * cursor. 6855 * @param time The time argument allows you to avoid certain circumstances that come up if 6856 * applications take a long time to respond or if there are long network delays. 6857 * Consider a situation where you have two applications, both of which normally 6858 * grab the pointer when clicked on. If both applications specify the timestamp 6859 * from the event, the second application may wake up faster and successfully grab 6860 * the pointer before the first application. The first application then will get 6861 * an indication that the other application grabbed the pointer before its request 6862 * was processed. 6863 * \n 6864 * The special value `XCB_CURRENT_TIME` will be replaced with the current server 6865 * time. 6866 * @return A cookie 6867 * 6868 * Actively grabs control of the pointer. Further pointer events are reported only to the grabbing client. Overrides any active pointer grab by this client. 6869 * 6870 */ 6871 xcb_grab_pointer_cookie_t 6872 xcb_grab_pointer (xcb_connection_t *c /**< */, 6873 uint8_t owner_events /**< */, 6874 xcb_window_t grab_window /**< */, 6875 uint16_t event_mask /**< */, 6876 uint8_t pointer_mode /**< */, 6877 uint8_t keyboard_mode /**< */, 6878 xcb_window_t confine_to /**< */, 6879 xcb_cursor_t cursor /**< */, 6880 xcb_timestamp_t time /**< */); 6881 6882 /** 6883 * @brief Grab the pointer 6884 * 6885 * @param c The connection 6886 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not 6887 * reported to the \a grab_window. 6888 * @param grab_window Specifies the window on which the pointer should be grabbed. 6889 * @param event_mask Specifies which pointer events are reported to the client. 6890 * \n 6891 * TODO: which values? 6892 * @param pointer_mode A bitmask of #xcb_grab_mode_t values. 6893 * @param pointer_mode \n 6894 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values. 6895 * @param keyboard_mode \n 6896 * @param confine_to Specifies the window to confine the pointer in (the user will not be able to 6897 * move the pointer out of that window). 6898 * \n 6899 * The special value `XCB_NONE` means don't confine the pointer. 6900 * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the 6901 * cursor. 6902 * @param time The time argument allows you to avoid certain circumstances that come up if 6903 * applications take a long time to respond or if there are long network delays. 6904 * Consider a situation where you have two applications, both of which normally 6905 * grab the pointer when clicked on. If both applications specify the timestamp 6906 * from the event, the second application may wake up faster and successfully grab 6907 * the pointer before the first application. The first application then will get 6908 * an indication that the other application grabbed the pointer before its request 6909 * was processed. 6910 * \n 6911 * The special value `XCB_CURRENT_TIME` will be replaced with the current server 6912 * time. 6913 * @return A cookie 6914 * 6915 * Actively grabs control of the pointer. Further pointer events are reported only to the grabbing client. Overrides any active pointer grab by this client. 6916 * 6917 * This form can be used only if the request will cause 6918 * a reply to be generated. Any returned error will be 6919 * placed in the event queue. 6920 */ 6921 xcb_grab_pointer_cookie_t 6922 xcb_grab_pointer_unchecked (xcb_connection_t *c /**< */, 6923 uint8_t owner_events /**< */, 6924 xcb_window_t grab_window /**< */, 6925 uint16_t event_mask /**< */, 6926 uint8_t pointer_mode /**< */, 6927 uint8_t keyboard_mode /**< */, 6928 xcb_window_t confine_to /**< */, 6929 xcb_cursor_t cursor /**< */, 6930 xcb_timestamp_t time /**< */); 6931 6932 /** 6933 * Return the reply 6934 * @param c The connection 6935 * @param cookie The cookie 6936 * @param e The xcb_generic_error_t supplied 6937 * 6938 * Returns the reply of the request asked by 6939 * 6940 * The parameter @p e supplied to this function must be NULL if 6941 * xcb_grab_pointer_unchecked(). is used. 6942 * Otherwise, it stores the error if any. 6943 * 6944 * The returned value must be freed by the caller using free(). 6945 */ 6946 xcb_grab_pointer_reply_t * 6947 xcb_grab_pointer_reply (xcb_connection_t *c /**< */, 6948 xcb_grab_pointer_cookie_t cookie /**< */, 6949 xcb_generic_error_t **e /**< */); 6950 6951 /** 6952 * @brief release the pointer 6953 * 6954 * @param c The connection 6955 * @param time Timestamp to avoid race conditions when running X over the network. 6956 * \n 6957 * The pointer will not be released if \a time is earlier than the 6958 * last-pointer-grab time or later than the current X server time. 6959 * @return A cookie 6960 * 6961 * Releases the pointer and any queued events if you actively grabbed the pointer 6962 * before using `xcb_grab_pointer`, `xcb_grab_button` or within a normal button 6963 * press. 6964 * 6965 * EnterNotify and LeaveNotify events are generated. 6966 * 6967 * This form can be used only if the request will not cause 6968 * a reply to be generated. Any returned error will be 6969 * saved for handling by xcb_request_check(). 6970 */ 6971 xcb_void_cookie_t 6972 xcb_ungrab_pointer_checked (xcb_connection_t *c /**< */, 6973 xcb_timestamp_t time /**< */); 6974 6975 /** 6976 * @brief release the pointer 6977 * 6978 * @param c The connection 6979 * @param time Timestamp to avoid race conditions when running X over the network. 6980 * \n 6981 * The pointer will not be released if \a time is earlier than the 6982 * last-pointer-grab time or later than the current X server time. 6983 * @return A cookie 6984 * 6985 * Releases the pointer and any queued events if you actively grabbed the pointer 6986 * before using `xcb_grab_pointer`, `xcb_grab_button` or within a normal button 6987 * press. 6988 * 6989 * EnterNotify and LeaveNotify events are generated. 6990 * 6991 */ 6992 xcb_void_cookie_t 6993 xcb_ungrab_pointer (xcb_connection_t *c /**< */, 6994 xcb_timestamp_t time /**< */); 6995 6996 /** 6997 * @brief Grab pointer button(s) 6998 * 6999 * @param c The connection 7000 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not 7001 * reported to the \a grab_window. 7002 * @param grab_window Specifies the window on which the pointer should be grabbed. 7003 * @param event_mask Specifies which pointer events are reported to the client. 7004 * \n 7005 * TODO: which values? 7006 * @param pointer_mode A bitmask of #xcb_grab_mode_t values. 7007 * @param pointer_mode \n 7008 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values. 7009 * @param keyboard_mode \n 7010 * @param confine_to Specifies the window to confine the pointer in (the user will not be able to 7011 * move the pointer out of that window). 7012 * \n 7013 * The special value `XCB_NONE` means don't confine the pointer. 7014 * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the 7015 * cursor. 7016 * @param button A bitmask of #xcb_button_index_t values. 7017 * @param button \n 7018 * @param modifiers The modifiers to grab. 7019 * \n 7020 * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all 7021 * possible modifier combinations. 7022 * @return A cookie 7023 * 7024 * This request establishes a passive grab. The pointer is actively grabbed as 7025 * described in GrabPointer, the last-pointer-grab time is set to the time at 7026 * which the button was pressed (as transmitted in the ButtonPress event), and the 7027 * ButtonPress event is reported if all of the following conditions are true: 7028 * 7029 * The pointer is not grabbed and the specified button is logically pressed when 7030 * the specified modifier keys are logically down, and no other buttons or 7031 * modifier keys are logically down. 7032 * 7033 * The grab-window contains the pointer. 7034 * 7035 * The confine-to window (if any) is viewable. 7036 * 7037 * A passive grab on the same button/key combination does not exist on any 7038 * ancestor of grab-window. 7039 * 7040 * The interpretation of the remaining arguments is the same as for GrabPointer. 7041 * The active grab is terminated automatically when the logical state of the 7042 * pointer has all buttons released, independent of the logical state of modifier 7043 * keys. Note that the logical state of a device (as seen by means of the 7044 * protocol) may lag the physical state if device event processing is frozen. This 7045 * request overrides all previous passive grabs by the same client on the same 7046 * button/key combinations on the same window. A modifier of AnyModifier is 7047 * equivalent to issuing the request for all possible modifier combinations 7048 * (including the combination of no modifiers). It is not required that all 7049 * specified modifiers have currently assigned keycodes. A button of AnyButton is 7050 * equivalent to issuing the request for all possible buttons. Otherwise, it is 7051 * not required that the button specified currently be assigned to a physical 7052 * button. 7053 * 7054 * An Access error is generated if some other client has already issued a 7055 * GrabButton request with the same button/key combination on the same window. 7056 * When using AnyModifier or AnyButton, the request fails completely (no grabs are 7057 * established), and an Access error is generated if there is a conflicting grab 7058 * for any combination. The request has no effect on an active grab. 7059 * 7060 * This form can be used only if the request will not cause 7061 * a reply to be generated. Any returned error will be 7062 * saved for handling by xcb_request_check(). 7063 */ 7064 xcb_void_cookie_t 7065 xcb_grab_button_checked (xcb_connection_t *c /**< */, 7066 uint8_t owner_events /**< */, 7067 xcb_window_t grab_window /**< */, 7068 uint16_t event_mask /**< */, 7069 uint8_t pointer_mode /**< */, 7070 uint8_t keyboard_mode /**< */, 7071 xcb_window_t confine_to /**< */, 7072 xcb_cursor_t cursor /**< */, 7073 uint8_t button /**< */, 7074 uint16_t modifiers /**< */); 7075 7076 /** 7077 * @brief Grab pointer button(s) 7078 * 7079 * @param c The connection 7080 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not 7081 * reported to the \a grab_window. 7082 * @param grab_window Specifies the window on which the pointer should be grabbed. 7083 * @param event_mask Specifies which pointer events are reported to the client. 7084 * \n 7085 * TODO: which values? 7086 * @param pointer_mode A bitmask of #xcb_grab_mode_t values. 7087 * @param pointer_mode \n 7088 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values. 7089 * @param keyboard_mode \n 7090 * @param confine_to Specifies the window to confine the pointer in (the user will not be able to 7091 * move the pointer out of that window). 7092 * \n 7093 * The special value `XCB_NONE` means don't confine the pointer. 7094 * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the 7095 * cursor. 7096 * @param button A bitmask of #xcb_button_index_t values. 7097 * @param button \n 7098 * @param modifiers The modifiers to grab. 7099 * \n 7100 * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all 7101 * possible modifier combinations. 7102 * @return A cookie 7103 * 7104 * This request establishes a passive grab. The pointer is actively grabbed as 7105 * described in GrabPointer, the last-pointer-grab time is set to the time at 7106 * which the button was pressed (as transmitted in the ButtonPress event), and the 7107 * ButtonPress event is reported if all of the following conditions are true: 7108 * 7109 * The pointer is not grabbed and the specified button is logically pressed when 7110 * the specified modifier keys are logically down, and no other buttons or 7111 * modifier keys are logically down. 7112 * 7113 * The grab-window contains the pointer. 7114 * 7115 * The confine-to window (if any) is viewable. 7116 * 7117 * A passive grab on the same button/key combination does not exist on any 7118 * ancestor of grab-window. 7119 * 7120 * The interpretation of the remaining arguments is the same as for GrabPointer. 7121 * The active grab is terminated automatically when the logical state of the 7122 * pointer has all buttons released, independent of the logical state of modifier 7123 * keys. Note that the logical state of a device (as seen by means of the 7124 * protocol) may lag the physical state if device event processing is frozen. This 7125 * request overrides all previous passive grabs by the same client on the same 7126 * button/key combinations on the same window. A modifier of AnyModifier is 7127 * equivalent to issuing the request for all possible modifier combinations 7128 * (including the combination of no modifiers). It is not required that all 7129 * specified modifiers have currently assigned keycodes. A button of AnyButton is 7130 * equivalent to issuing the request for all possible buttons. Otherwise, it is 7131 * not required that the button specified currently be assigned to a physical 7132 * button. 7133 * 7134 * An Access error is generated if some other client has already issued a 7135 * GrabButton request with the same button/key combination on the same window. 7136 * When using AnyModifier or AnyButton, the request fails completely (no grabs are 7137 * established), and an Access error is generated if there is a conflicting grab 7138 * for any combination. The request has no effect on an active grab. 7139 * 7140 */ 7141 xcb_void_cookie_t 7142 xcb_grab_button (xcb_connection_t *c /**< */, 7143 uint8_t owner_events /**< */, 7144 xcb_window_t grab_window /**< */, 7145 uint16_t event_mask /**< */, 7146 uint8_t pointer_mode /**< */, 7147 uint8_t keyboard_mode /**< */, 7148 xcb_window_t confine_to /**< */, 7149 xcb_cursor_t cursor /**< */, 7150 uint8_t button /**< */, 7151 uint16_t modifiers /**< */); 7152 7153 /** 7154 * 7155 * @param c The connection 7156 * @return A cookie 7157 * 7158 * Delivers a request to the X server. 7159 * 7160 * This form can be used only if the request will not cause 7161 * a reply to be generated. Any returned error will be 7162 * saved for handling by xcb_request_check(). 7163 */ 7164 xcb_void_cookie_t 7165 xcb_ungrab_button_checked (xcb_connection_t *c /**< */, 7166 uint8_t button /**< */, 7167 xcb_window_t grab_window /**< */, 7168 uint16_t modifiers /**< */); 7169 7170 /** 7171 * 7172 * @param c The connection 7173 * @return A cookie 7174 * 7175 * Delivers a request to the X server. 7176 * 7177 */ 7178 xcb_void_cookie_t 7179 xcb_ungrab_button (xcb_connection_t *c /**< */, 7180 uint8_t button /**< */, 7181 xcb_window_t grab_window /**< */, 7182 uint16_t modifiers /**< */); 7183 7184 /** 7185 * 7186 * @param c The connection 7187 * @return A cookie 7188 * 7189 * Delivers a request to the X server. 7190 * 7191 * This form can be used only if the request will not cause 7192 * a reply to be generated. Any returned error will be 7193 * saved for handling by xcb_request_check(). 7194 */ 7195 xcb_void_cookie_t 7196 xcb_change_active_pointer_grab_checked (xcb_connection_t *c /**< */, 7197 xcb_cursor_t cursor /**< */, 7198 xcb_timestamp_t time /**< */, 7199 uint16_t event_mask /**< */); 7200 7201 /** 7202 * 7203 * @param c The connection 7204 * @return A cookie 7205 * 7206 * Delivers a request to the X server. 7207 * 7208 */ 7209 xcb_void_cookie_t 7210 xcb_change_active_pointer_grab (xcb_connection_t *c /**< */, 7211 xcb_cursor_t cursor /**< */, 7212 xcb_timestamp_t time /**< */, 7213 uint16_t event_mask /**< */); 7214 7215 /** 7216 * @brief Grab the keyboard 7217 * 7218 * @param c The connection 7219 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not 7220 * reported to the \a grab_window. 7221 * @param grab_window Specifies the window on which the pointer should be grabbed. 7222 * @param time Timestamp to avoid race conditions when running X over the network. 7223 * \n 7224 * The special value `XCB_CURRENT_TIME` will be replaced with the current server 7225 * time. 7226 * @param pointer_mode A bitmask of #xcb_grab_mode_t values. 7227 * @param pointer_mode \n 7228 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values. 7229 * @param keyboard_mode \n 7230 * @return A cookie 7231 * 7232 * Actively grabs control of the keyboard and generates FocusIn and FocusOut 7233 * events. Further key events are reported only to the grabbing client. 7234 * 7235 * Any active keyboard grab by this client is overridden. If the keyboard is 7236 * actively grabbed by some other client, `AlreadyGrabbed` is returned. If 7237 * \a grab_window is not viewable, `GrabNotViewable` is returned. If the keyboard 7238 * is frozen by an active grab of another client, `GrabFrozen` is returned. If the 7239 * specified \a time is earlier than the last-keyboard-grab time or later than the 7240 * current X server time, `GrabInvalidTime` is returned. Otherwise, the 7241 * last-keyboard-grab time is set to the specified time. 7242 * 7243 */ 7244 xcb_grab_keyboard_cookie_t 7245 xcb_grab_keyboard (xcb_connection_t *c /**< */, 7246 uint8_t owner_events /**< */, 7247 xcb_window_t grab_window /**< */, 7248 xcb_timestamp_t time /**< */, 7249 uint8_t pointer_mode /**< */, 7250 uint8_t keyboard_mode /**< */); 7251 7252 /** 7253 * @brief Grab the keyboard 7254 * 7255 * @param c The connection 7256 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not 7257 * reported to the \a grab_window. 7258 * @param grab_window Specifies the window on which the pointer should be grabbed. 7259 * @param time Timestamp to avoid race conditions when running X over the network. 7260 * \n 7261 * The special value `XCB_CURRENT_TIME` will be replaced with the current server 7262 * time. 7263 * @param pointer_mode A bitmask of #xcb_grab_mode_t values. 7264 * @param pointer_mode \n 7265 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values. 7266 * @param keyboard_mode \n 7267 * @return A cookie 7268 * 7269 * Actively grabs control of the keyboard and generates FocusIn and FocusOut 7270 * events. Further key events are reported only to the grabbing client. 7271 * 7272 * Any active keyboard grab by this client is overridden. If the keyboard is 7273 * actively grabbed by some other client, `AlreadyGrabbed` is returned. If 7274 * \a grab_window is not viewable, `GrabNotViewable` is returned. If the keyboard 7275 * is frozen by an active grab of another client, `GrabFrozen` is returned. If the 7276 * specified \a time is earlier than the last-keyboard-grab time or later than the 7277 * current X server time, `GrabInvalidTime` is returned. Otherwise, the 7278 * last-keyboard-grab time is set to the specified time. 7279 * 7280 * This form can be used only if the request will cause 7281 * a reply to be generated. Any returned error will be 7282 * placed in the event queue. 7283 */ 7284 xcb_grab_keyboard_cookie_t 7285 xcb_grab_keyboard_unchecked (xcb_connection_t *c /**< */, 7286 uint8_t owner_events /**< */, 7287 xcb_window_t grab_window /**< */, 7288 xcb_timestamp_t time /**< */, 7289 uint8_t pointer_mode /**< */, 7290 uint8_t keyboard_mode /**< */); 7291 7292 /** 7293 * Return the reply 7294 * @param c The connection 7295 * @param cookie The cookie 7296 * @param e The xcb_generic_error_t supplied 7297 * 7298 * Returns the reply of the request asked by 7299 * 7300 * The parameter @p e supplied to this function must be NULL if 7301 * xcb_grab_keyboard_unchecked(). is used. 7302 * Otherwise, it stores the error if any. 7303 * 7304 * The returned value must be freed by the caller using free(). 7305 */ 7306 xcb_grab_keyboard_reply_t * 7307 xcb_grab_keyboard_reply (xcb_connection_t *c /**< */, 7308 xcb_grab_keyboard_cookie_t cookie /**< */, 7309 xcb_generic_error_t **e /**< */); 7310 7311 /** 7312 * 7313 * @param c The connection 7314 * @return A cookie 7315 * 7316 * Delivers a request to the X server. 7317 * 7318 * This form can be used only if the request will not cause 7319 * a reply to be generated. Any returned error will be 7320 * saved for handling by xcb_request_check(). 7321 */ 7322 xcb_void_cookie_t 7323 xcb_ungrab_keyboard_checked (xcb_connection_t *c /**< */, 7324 xcb_timestamp_t time /**< */); 7325 7326 /** 7327 * 7328 * @param c The connection 7329 * @return A cookie 7330 * 7331 * Delivers a request to the X server. 7332 * 7333 */ 7334 xcb_void_cookie_t 7335 xcb_ungrab_keyboard (xcb_connection_t *c /**< */, 7336 xcb_timestamp_t time /**< */); 7337 7338 /** 7339 * @brief Grab keyboard key(s) 7340 * 7341 * @param c The connection 7342 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not 7343 * reported to the \a grab_window. 7344 * @param grab_window Specifies the window on which the pointer should be grabbed. 7345 * @param modifiers The modifiers to grab. 7346 * \n 7347 * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all 7348 * possible modifier combinations. 7349 * @param key The keycode of the key to grab. 7350 * \n 7351 * The special value `XCB_GRAB_ANY` means grab any key. 7352 * @param pointer_mode A bitmask of #xcb_grab_mode_t values. 7353 * @param pointer_mode \n 7354 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values. 7355 * @param keyboard_mode \n 7356 * @return A cookie 7357 * 7358 * Establishes a passive grab on the keyboard. In the future, the keyboard is 7359 * actively grabbed (as for `GrabKeyboard`), the last-keyboard-grab time is set to 7360 * the time at which the key was pressed (as transmitted in the KeyPress event), 7361 * and the KeyPress event is reported if all of the following conditions are true: 7362 * 7363 * The keyboard is not grabbed and the specified key (which can itself be a 7364 * modifier key) is logically pressed when the specified modifier keys are 7365 * logically down, and no other modifier keys are logically down. 7366 * 7367 * Either the grab_window is an ancestor of (or is) the focus window, or the 7368 * grab_window is a descendant of the focus window and contains the pointer. 7369 * 7370 * A passive grab on the same key combination does not exist on any ancestor of 7371 * grab_window. 7372 * 7373 * The interpretation of the remaining arguments is as for XGrabKeyboard. The active grab is terminated 7374 * automatically when the logical state of the keyboard has the specified key released (independent of the 7375 * logical state of the modifier keys), at which point a KeyRelease event is reported to the grabbing window. 7376 * 7377 * Note that the logical state of a device (as seen by client applications) may lag the physical state if 7378 * device event processing is frozen. 7379 * 7380 * A modifiers argument of AnyModifier is equivalent to issuing the request for all possible modifier combinations (including the combination of no modifiers). It is not required that all modifiers specified 7381 * have currently assigned KeyCodes. A keycode argument of AnyKey is equivalent to issuing the request for 7382 * all possible KeyCodes. Otherwise, the specified keycode must be in the range specified by min_keycode 7383 * and max_keycode in the connection setup, or a BadValue error results. 7384 * 7385 * If some other client has issued a XGrabKey with the same key combination on the same window, a BadAccess 7386 * error results. When using AnyModifier or AnyKey, the request fails completely, and a BadAccess error 7387 * results (no grabs are established) if there is a conflicting grab for any combination. 7388 * 7389 * This form can be used only if the request will not cause 7390 * a reply to be generated. Any returned error will be 7391 * saved for handling by xcb_request_check(). 7392 */ 7393 xcb_void_cookie_t 7394 xcb_grab_key_checked (xcb_connection_t *c /**< */, 7395 uint8_t owner_events /**< */, 7396 xcb_window_t grab_window /**< */, 7397 uint16_t modifiers /**< */, 7398 xcb_keycode_t key /**< */, 7399 uint8_t pointer_mode /**< */, 7400 uint8_t keyboard_mode /**< */); 7401 7402 /** 7403 * @brief Grab keyboard key(s) 7404 * 7405 * @param c The connection 7406 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not 7407 * reported to the \a grab_window. 7408 * @param grab_window Specifies the window on which the pointer should be grabbed. 7409 * @param modifiers The modifiers to grab. 7410 * \n 7411 * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all 7412 * possible modifier combinations. 7413 * @param key The keycode of the key to grab. 7414 * \n 7415 * The special value `XCB_GRAB_ANY` means grab any key. 7416 * @param pointer_mode A bitmask of #xcb_grab_mode_t values. 7417 * @param pointer_mode \n 7418 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values. 7419 * @param keyboard_mode \n 7420 * @return A cookie 7421 * 7422 * Establishes a passive grab on the keyboard. In the future, the keyboard is 7423 * actively grabbed (as for `GrabKeyboard`), the last-keyboard-grab time is set to 7424 * the time at which the key was pressed (as transmitted in the KeyPress event), 7425 * and the KeyPress event is reported if all of the following conditions are true: 7426 * 7427 * The keyboard is not grabbed and the specified key (which can itself be a 7428 * modifier key) is logically pressed when the specified modifier keys are 7429 * logically down, and no other modifier keys are logically down. 7430 * 7431 * Either the grab_window is an ancestor of (or is) the focus window, or the 7432 * grab_window is a descendant of the focus window and contains the pointer. 7433 * 7434 * A passive grab on the same key combination does not exist on any ancestor of 7435 * grab_window. 7436 * 7437 * The interpretation of the remaining arguments is as for XGrabKeyboard. The active grab is terminated 7438 * automatically when the logical state of the keyboard has the specified key released (independent of the 7439 * logical state of the modifier keys), at which point a KeyRelease event is reported to the grabbing window. 7440 * 7441 * Note that the logical state of a device (as seen by client applications) may lag the physical state if 7442 * device event processing is frozen. 7443 * 7444 * A modifiers argument of AnyModifier is equivalent to issuing the request for all possible modifier combinations (including the combination of no modifiers). It is not required that all modifiers specified 7445 * have currently assigned KeyCodes. A keycode argument of AnyKey is equivalent to issuing the request for 7446 * all possible KeyCodes. Otherwise, the specified keycode must be in the range specified by min_keycode 7447 * and max_keycode in the connection setup, or a BadValue error results. 7448 * 7449 * If some other client has issued a XGrabKey with the same key combination on the same window, a BadAccess 7450 * error results. When using AnyModifier or AnyKey, the request fails completely, and a BadAccess error 7451 * results (no grabs are established) if there is a conflicting grab for any combination. 7452 * 7453 */ 7454 xcb_void_cookie_t 7455 xcb_grab_key (xcb_connection_t *c /**< */, 7456 uint8_t owner_events /**< */, 7457 xcb_window_t grab_window /**< */, 7458 uint16_t modifiers /**< */, 7459 xcb_keycode_t key /**< */, 7460 uint8_t pointer_mode /**< */, 7461 uint8_t keyboard_mode /**< */); 7462 7463 /** 7464 * @brief release a key combination 7465 * 7466 * @param c The connection 7467 * @param key The keycode of the specified key combination. 7468 * \n 7469 * Using the special value `XCB_GRAB_ANY` means releasing all possible key codes. 7470 * @param grab_window The window on which the grabbed key combination will be released. 7471 * @param modifiers The modifiers of the specified key combination. 7472 * \n 7473 * Using the special value `XCB_MOD_MASK_ANY` means releasing the key combination 7474 * with every possible modifier combination. 7475 * @return A cookie 7476 * 7477 * Releases the key combination on \a grab_window if you grabbed it using 7478 * `xcb_grab_key` before. 7479 * 7480 * This form can be used only if the request will not cause 7481 * a reply to be generated. Any returned error will be 7482 * saved for handling by xcb_request_check(). 7483 */ 7484 xcb_void_cookie_t 7485 xcb_ungrab_key_checked (xcb_connection_t *c /**< */, 7486 xcb_keycode_t key /**< */, 7487 xcb_window_t grab_window /**< */, 7488 uint16_t modifiers /**< */); 7489 7490 /** 7491 * @brief release a key combination 7492 * 7493 * @param c The connection 7494 * @param key The keycode of the specified key combination. 7495 * \n 7496 * Using the special value `XCB_GRAB_ANY` means releasing all possible key codes. 7497 * @param grab_window The window on which the grabbed key combination will be released. 7498 * @param modifiers The modifiers of the specified key combination. 7499 * \n 7500 * Using the special value `XCB_MOD_MASK_ANY` means releasing the key combination 7501 * with every possible modifier combination. 7502 * @return A cookie 7503 * 7504 * Releases the key combination on \a grab_window if you grabbed it using 7505 * `xcb_grab_key` before. 7506 * 7507 */ 7508 xcb_void_cookie_t 7509 xcb_ungrab_key (xcb_connection_t *c /**< */, 7510 xcb_keycode_t key /**< */, 7511 xcb_window_t grab_window /**< */, 7512 uint16_t modifiers /**< */); 7513 7514 /** 7515 * @brief release queued events 7516 * 7517 * @param c The connection 7518 * @param mode A bitmask of #xcb_allow_t values. 7519 * @param mode \n 7520 * @param time Timestamp to avoid race conditions when running X over the network. 7521 * \n 7522 * The special value `XCB_CURRENT_TIME` will be replaced with the current server 7523 * time. 7524 * @return A cookie 7525 * 7526 * Releases queued events if the client has caused a device (pointer/keyboard) to 7527 * freeze due to grabbing it actively. This request has no effect if \a time is 7528 * earlier than the last-grab time of the most recent active grab for this client 7529 * or if \a time is later than the current X server time. 7530 * 7531 * This form can be used only if the request will not cause 7532 * a reply to be generated. Any returned error will be 7533 * saved for handling by xcb_request_check(). 7534 */ 7535 xcb_void_cookie_t 7536 xcb_allow_events_checked (xcb_connection_t *c /**< */, 7537 uint8_t mode /**< */, 7538 xcb_timestamp_t time /**< */); 7539 7540 /** 7541 * @brief release queued events 7542 * 7543 * @param c The connection 7544 * @param mode A bitmask of #xcb_allow_t values. 7545 * @param mode \n 7546 * @param time Timestamp to avoid race conditions when running X over the network. 7547 * \n 7548 * The special value `XCB_CURRENT_TIME` will be replaced with the current server 7549 * time. 7550 * @return A cookie 7551 * 7552 * Releases queued events if the client has caused a device (pointer/keyboard) to 7553 * freeze due to grabbing it actively. This request has no effect if \a time is 7554 * earlier than the last-grab time of the most recent active grab for this client 7555 * or if \a time is later than the current X server time. 7556 * 7557 */ 7558 xcb_void_cookie_t 7559 xcb_allow_events (xcb_connection_t *c /**< */, 7560 uint8_t mode /**< */, 7561 xcb_timestamp_t time /**< */); 7562 7563 /** 7564 * 7565 * @param c The connection 7566 * @return A cookie 7567 * 7568 * Delivers a request to the X server. 7569 * 7570 * This form can be used only if the request will not cause 7571 * a reply to be generated. Any returned error will be 7572 * saved for handling by xcb_request_check(). 7573 */ 7574 xcb_void_cookie_t 7575 xcb_grab_server_checked (xcb_connection_t *c /**< */); 7576 7577 /** 7578 * 7579 * @param c The connection 7580 * @return A cookie 7581 * 7582 * Delivers a request to the X server. 7583 * 7584 */ 7585 xcb_void_cookie_t 7586 xcb_grab_server (xcb_connection_t *c /**< */); 7587 7588 /** 7589 * 7590 * @param c The connection 7591 * @return A cookie 7592 * 7593 * Delivers a request to the X server. 7594 * 7595 * This form can be used only if the request will not cause 7596 * a reply to be generated. Any returned error will be 7597 * saved for handling by xcb_request_check(). 7598 */ 7599 xcb_void_cookie_t 7600 xcb_ungrab_server_checked (xcb_connection_t *c /**< */); 7601 7602 /** 7603 * 7604 * @param c The connection 7605 * @return A cookie 7606 * 7607 * Delivers a request to the X server. 7608 * 7609 */ 7610 xcb_void_cookie_t 7611 xcb_ungrab_server (xcb_connection_t *c /**< */); 7612 7613 /** 7614 * @brief get pointer coordinates 7615 * 7616 * @param c The connection 7617 * @param window A window to check if the pointer is on the same screen as \a window (see the 7618 * `same_screen` field in the reply). 7619 * @return A cookie 7620 * 7621 * Gets the root window the pointer is logically on and the pointer coordinates 7622 * relative to the root window's origin. 7623 * 7624 */ 7625 xcb_query_pointer_cookie_t 7626 xcb_query_pointer (xcb_connection_t *c /**< */, 7627 xcb_window_t window /**< */); 7628 7629 /** 7630 * @brief get pointer coordinates 7631 * 7632 * @param c The connection 7633 * @param window A window to check if the pointer is on the same screen as \a window (see the 7634 * `same_screen` field in the reply). 7635 * @return A cookie 7636 * 7637 * Gets the root window the pointer is logically on and the pointer coordinates 7638 * relative to the root window's origin. 7639 * 7640 * This form can be used only if the request will cause 7641 * a reply to be generated. Any returned error will be 7642 * placed in the event queue. 7643 */ 7644 xcb_query_pointer_cookie_t 7645 xcb_query_pointer_unchecked (xcb_connection_t *c /**< */, 7646 xcb_window_t window /**< */); 7647 7648 /** 7649 * Return the reply 7650 * @param c The connection 7651 * @param cookie The cookie 7652 * @param e The xcb_generic_error_t supplied 7653 * 7654 * Returns the reply of the request asked by 7655 * 7656 * The parameter @p e supplied to this function must be NULL if 7657 * xcb_query_pointer_unchecked(). is used. 7658 * Otherwise, it stores the error if any. 7659 * 7660 * The returned value must be freed by the caller using free(). 7661 */ 7662 xcb_query_pointer_reply_t * 7663 xcb_query_pointer_reply (xcb_connection_t *c /**< */, 7664 xcb_query_pointer_cookie_t cookie /**< */, 7665 xcb_generic_error_t **e /**< */); 7666 7667 /** 7668 * Get the next element of the iterator 7669 * @param i Pointer to a xcb_timecoord_iterator_t 7670 * 7671 * Get the next element in the iterator. The member rem is 7672 * decreased by one. The member data points to the next 7673 * element. The member index is increased by sizeof(xcb_timecoord_t) 7674 */ 7675 void 7676 xcb_timecoord_next (xcb_timecoord_iterator_t *i /**< */); 7677 7678 /** 7679 * Return the iterator pointing to the last element 7680 * @param i An xcb_timecoord_iterator_t 7681 * @return The iterator pointing to the last element 7682 * 7683 * Set the current element in the iterator to the last element. 7684 * The member rem is set to 0. The member data points to the 7685 * last element. 7686 */ 7687 xcb_generic_iterator_t 7688 xcb_timecoord_end (xcb_timecoord_iterator_t i /**< */); 7689 7690 int 7691 xcb_get_motion_events_sizeof (const void *_buffer /**< */); 7692 7693 /** 7694 * 7695 * @param c The connection 7696 * @return A cookie 7697 * 7698 * Delivers a request to the X server. 7699 * 7700 */ 7701 xcb_get_motion_events_cookie_t 7702 xcb_get_motion_events (xcb_connection_t *c /**< */, 7703 xcb_window_t window /**< */, 7704 xcb_timestamp_t start /**< */, 7705 xcb_timestamp_t stop /**< */); 7706 7707 /** 7708 * 7709 * @param c The connection 7710 * @return A cookie 7711 * 7712 * Delivers a request to the X server. 7713 * 7714 * This form can be used only if the request will cause 7715 * a reply to be generated. Any returned error will be 7716 * placed in the event queue. 7717 */ 7718 xcb_get_motion_events_cookie_t 7719 xcb_get_motion_events_unchecked (xcb_connection_t *c /**< */, 7720 xcb_window_t window /**< */, 7721 xcb_timestamp_t start /**< */, 7722 xcb_timestamp_t stop /**< */); 7723 7724 xcb_timecoord_t * 7725 xcb_get_motion_events_events (const xcb_get_motion_events_reply_t *R /**< */); 7726 7727 int 7728 xcb_get_motion_events_events_length (const xcb_get_motion_events_reply_t *R /**< */); 7729 7730 xcb_timecoord_iterator_t 7731 xcb_get_motion_events_events_iterator (const xcb_get_motion_events_reply_t *R /**< */); 7732 7733 /** 7734 * Return the reply 7735 * @param c The connection 7736 * @param cookie The cookie 7737 * @param e The xcb_generic_error_t supplied 7738 * 7739 * Returns the reply of the request asked by 7740 * 7741 * The parameter @p e supplied to this function must be NULL if 7742 * xcb_get_motion_events_unchecked(). is used. 7743 * Otherwise, it stores the error if any. 7744 * 7745 * The returned value must be freed by the caller using free(). 7746 */ 7747 xcb_get_motion_events_reply_t * 7748 xcb_get_motion_events_reply (xcb_connection_t *c /**< */, 7749 xcb_get_motion_events_cookie_t cookie /**< */, 7750 xcb_generic_error_t **e /**< */); 7751 7752 /** 7753 * 7754 * @param c The connection 7755 * @return A cookie 7756 * 7757 * Delivers a request to the X server. 7758 * 7759 */ 7760 xcb_translate_coordinates_cookie_t 7761 xcb_translate_coordinates (xcb_connection_t *c /**< */, 7762 xcb_window_t src_window /**< */, 7763 xcb_window_t dst_window /**< */, 7764 int16_t src_x /**< */, 7765 int16_t src_y /**< */); 7766 7767 /** 7768 * 7769 * @param c The connection 7770 * @return A cookie 7771 * 7772 * Delivers a request to the X server. 7773 * 7774 * This form can be used only if the request will cause 7775 * a reply to be generated. Any returned error will be 7776 * placed in the event queue. 7777 */ 7778 xcb_translate_coordinates_cookie_t 7779 xcb_translate_coordinates_unchecked (xcb_connection_t *c /**< */, 7780 xcb_window_t src_window /**< */, 7781 xcb_window_t dst_window /**< */, 7782 int16_t src_x /**< */, 7783 int16_t src_y /**< */); 7784 7785 /** 7786 * Return the reply 7787 * @param c The connection 7788 * @param cookie The cookie 7789 * @param e The xcb_generic_error_t supplied 7790 * 7791 * Returns the reply of the request asked by 7792 * 7793 * The parameter @p e supplied to this function must be NULL if 7794 * xcb_translate_coordinates_unchecked(). is used. 7795 * Otherwise, it stores the error if any. 7796 * 7797 * The returned value must be freed by the caller using free(). 7798 */ 7799 xcb_translate_coordinates_reply_t * 7800 xcb_translate_coordinates_reply (xcb_connection_t *c /**< */, 7801 xcb_translate_coordinates_cookie_t cookie /**< */, 7802 xcb_generic_error_t **e /**< */); 7803 7804 /** 7805 * @brief move mouse pointer 7806 * 7807 * @param c The connection 7808 * @param src_window If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the 7809 * pointer is inside \a src_window and within the rectangle specified by (\a src_x, 7810 * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to 7811 * \a src_window. 7812 * @param dst_window If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the 7813 * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is 7814 * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y) 7815 * relative to the current position of the pointer. 7816 * @return A cookie 7817 * 7818 * Moves the mouse pointer to the specified position. 7819 * 7820 * If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the 7821 * pointer is inside \a src_window and within the rectangle specified by (\a src_x, 7822 * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to 7823 * \a src_window. 7824 * 7825 * If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the 7826 * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is 7827 * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y) 7828 * relative to the current position of the pointer. 7829 * 7830 * This form can be used only if the request will not cause 7831 * a reply to be generated. Any returned error will be 7832 * saved for handling by xcb_request_check(). 7833 */ 7834 xcb_void_cookie_t 7835 xcb_warp_pointer_checked (xcb_connection_t *c /**< */, 7836 xcb_window_t src_window /**< */, 7837 xcb_window_t dst_window /**< */, 7838 int16_t src_x /**< */, 7839 int16_t src_y /**< */, 7840 uint16_t src_width /**< */, 7841 uint16_t src_height /**< */, 7842 int16_t dst_x /**< */, 7843 int16_t dst_y /**< */); 7844 7845 /** 7846 * @brief move mouse pointer 7847 * 7848 * @param c The connection 7849 * @param src_window If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the 7850 * pointer is inside \a src_window and within the rectangle specified by (\a src_x, 7851 * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to 7852 * \a src_window. 7853 * @param dst_window If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the 7854 * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is 7855 * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y) 7856 * relative to the current position of the pointer. 7857 * @return A cookie 7858 * 7859 * Moves the mouse pointer to the specified position. 7860 * 7861 * If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the 7862 * pointer is inside \a src_window and within the rectangle specified by (\a src_x, 7863 * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to 7864 * \a src_window. 7865 * 7866 * If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the 7867 * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is 7868 * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y) 7869 * relative to the current position of the pointer. 7870 * 7871 */ 7872 xcb_void_cookie_t 7873 xcb_warp_pointer (xcb_connection_t *c /**< */, 7874 xcb_window_t src_window /**< */, 7875 xcb_window_t dst_window /**< */, 7876 int16_t src_x /**< */, 7877 int16_t src_y /**< */, 7878 uint16_t src_width /**< */, 7879 uint16_t src_height /**< */, 7880 int16_t dst_x /**< */, 7881 int16_t dst_y /**< */); 7882 7883 /** 7884 * @brief Sets input focus 7885 * 7886 * @param c The connection 7887 * @param revert_to A bitmask of #xcb_input_focus_t values. 7888 * @param revert_to Specifies what happens when the \a focus window becomes unviewable (if \a focus 7889 * is neither `XCB_NONE` nor `XCB_POINTER_ROOT`). 7890 * @param focus The window to focus. All keyboard events will be reported to this window. The 7891 * window must be viewable (TODO), or a `xcb_match_error_t` occurs (TODO). 7892 * \n 7893 * If \a focus is `XCB_NONE` (TODO), all keyboard events are 7894 * discarded until a new focus window is set. 7895 * \n 7896 * If \a focus is `XCB_POINTER_ROOT` (TODO), focus is on the root window of the 7897 * screen on which the pointer is on currently. 7898 * @param time Timestamp to avoid race conditions when running X over the network. 7899 * \n 7900 * The special value `XCB_CURRENT_TIME` will be replaced with the current server 7901 * time. 7902 * @return A cookie 7903 * 7904 * Changes the input focus and the last-focus-change time. If the specified \a time 7905 * is earlier than the current last-focus-change time, the request is ignored (to 7906 * avoid race conditions when running X over the network). 7907 * 7908 * A FocusIn and FocusOut event is generated when focus is changed. 7909 * 7910 * This form can be used only if the request will not cause 7911 * a reply to be generated. Any returned error will be 7912 * saved for handling by xcb_request_check(). 7913 */ 7914 xcb_void_cookie_t 7915 xcb_set_input_focus_checked (xcb_connection_t *c /**< */, 7916 uint8_t revert_to /**< */, 7917 xcb_window_t focus /**< */, 7918 xcb_timestamp_t time /**< */); 7919 7920 /** 7921 * @brief Sets input focus 7922 * 7923 * @param c The connection 7924 * @param revert_to A bitmask of #xcb_input_focus_t values. 7925 * @param revert_to Specifies what happens when the \a focus window becomes unviewable (if \a focus 7926 * is neither `XCB_NONE` nor `XCB_POINTER_ROOT`). 7927 * @param focus The window to focus. All keyboard events will be reported to this window. The 7928 * window must be viewable (TODO), or a `xcb_match_error_t` occurs (TODO). 7929 * \n 7930 * If \a focus is `XCB_NONE` (TODO), all keyboard events are 7931 * discarded until a new focus window is set. 7932 * \n 7933 * If \a focus is `XCB_POINTER_ROOT` (TODO), focus is on the root window of the 7934 * screen on which the pointer is on currently. 7935 * @param time Timestamp to avoid race conditions when running X over the network. 7936 * \n 7937 * The special value `XCB_CURRENT_TIME` will be replaced with the current server 7938 * time. 7939 * @return A cookie 7940 * 7941 * Changes the input focus and the last-focus-change time. If the specified \a time 7942 * is earlier than the current last-focus-change time, the request is ignored (to 7943 * avoid race conditions when running X over the network). 7944 * 7945 * A FocusIn and FocusOut event is generated when focus is changed. 7946 * 7947 */ 7948 xcb_void_cookie_t 7949 xcb_set_input_focus (xcb_connection_t *c /**< */, 7950 uint8_t revert_to /**< */, 7951 xcb_window_t focus /**< */, 7952 xcb_timestamp_t time /**< */); 7953 7954 /** 7955 * 7956 * @param c The connection 7957 * @return A cookie 7958 * 7959 * Delivers a request to the X server. 7960 * 7961 */ 7962 xcb_get_input_focus_cookie_t 7963 xcb_get_input_focus (xcb_connection_t *c /**< */); 7964 7965 /** 7966 * 7967 * @param c The connection 7968 * @return A cookie 7969 * 7970 * Delivers a request to the X server. 7971 * 7972 * This form can be used only if the request will cause 7973 * a reply to be generated. Any returned error will be 7974 * placed in the event queue. 7975 */ 7976 xcb_get_input_focus_cookie_t 7977 xcb_get_input_focus_unchecked (xcb_connection_t *c /**< */); 7978 7979 /** 7980 * Return the reply 7981 * @param c The connection 7982 * @param cookie The cookie 7983 * @param e The xcb_generic_error_t supplied 7984 * 7985 * Returns the reply of the request asked by 7986 * 7987 * The parameter @p e supplied to this function must be NULL if 7988 * xcb_get_input_focus_unchecked(). is used. 7989 * Otherwise, it stores the error if any. 7990 * 7991 * The returned value must be freed by the caller using free(). 7992 */ 7993 xcb_get_input_focus_reply_t * 7994 xcb_get_input_focus_reply (xcb_connection_t *c /**< */, 7995 xcb_get_input_focus_cookie_t cookie /**< */, 7996 xcb_generic_error_t **e /**< */); 7997 7998 /** 7999 * 8000 * @param c The connection 8001 * @return A cookie 8002 * 8003 * Delivers a request to the X server. 8004 * 8005 */ 8006 xcb_query_keymap_cookie_t 8007 xcb_query_keymap (xcb_connection_t *c /**< */); 8008 8009 /** 8010 * 8011 * @param c The connection 8012 * @return A cookie 8013 * 8014 * Delivers a request to the X server. 8015 * 8016 * This form can be used only if the request will cause 8017 * a reply to be generated. Any returned error will be 8018 * placed in the event queue. 8019 */ 8020 xcb_query_keymap_cookie_t 8021 xcb_query_keymap_unchecked (xcb_connection_t *c /**< */); 8022 8023 /** 8024 * Return the reply 8025 * @param c The connection 8026 * @param cookie The cookie 8027 * @param e The xcb_generic_error_t supplied 8028 * 8029 * Returns the reply of the request asked by 8030 * 8031 * The parameter @p e supplied to this function must be NULL if 8032 * xcb_query_keymap_unchecked(). is used. 8033 * Otherwise, it stores the error if any. 8034 * 8035 * The returned value must be freed by the caller using free(). 8036 */ 8037 xcb_query_keymap_reply_t * 8038 xcb_query_keymap_reply (xcb_connection_t *c /**< */, 8039 xcb_query_keymap_cookie_t cookie /**< */, 8040 xcb_generic_error_t **e /**< */); 8041 8042 int 8043 xcb_open_font_sizeof (const void *_buffer /**< */); 8044 8045 /** 8046 * @brief opens a font 8047 * 8048 * @param c The connection 8049 * @param fid The ID with which you will refer to the font, created by `xcb_generate_id`. 8050 * @param name_len Length (in bytes) of \a name. 8051 * @param name A pattern describing an X core font. 8052 * @return A cookie 8053 * 8054 * Opens any X core font matching the given \a name (for example "-misc-fixed-*"). 8055 * 8056 * Note that X core fonts are deprecated (but still supported) in favor of 8057 * client-side rendering using Xft. 8058 * 8059 * This form can be used only if the request will not cause 8060 * a reply to be generated. Any returned error will be 8061 * saved for handling by xcb_request_check(). 8062 */ 8063 xcb_void_cookie_t 8064 xcb_open_font_checked (xcb_connection_t *c /**< */, 8065 xcb_font_t fid /**< */, 8066 uint16_t name_len /**< */, 8067 const char *name /**< */); 8068 8069 /** 8070 * @brief opens a font 8071 * 8072 * @param c The connection 8073 * @param fid The ID with which you will refer to the font, created by `xcb_generate_id`. 8074 * @param name_len Length (in bytes) of \a name. 8075 * @param name A pattern describing an X core font. 8076 * @return A cookie 8077 * 8078 * Opens any X core font matching the given \a name (for example "-misc-fixed-*"). 8079 * 8080 * Note that X core fonts are deprecated (but still supported) in favor of 8081 * client-side rendering using Xft. 8082 * 8083 */ 8084 xcb_void_cookie_t 8085 xcb_open_font (xcb_connection_t *c /**< */, 8086 xcb_font_t fid /**< */, 8087 uint16_t name_len /**< */, 8088 const char *name /**< */); 8089 8090 /** 8091 * 8092 * @param c The connection 8093 * @return A cookie 8094 * 8095 * Delivers a request to the X server. 8096 * 8097 * This form can be used only if the request will not cause 8098 * a reply to be generated. Any returned error will be 8099 * saved for handling by xcb_request_check(). 8100 */ 8101 xcb_void_cookie_t 8102 xcb_close_font_checked (xcb_connection_t *c /**< */, 8103 xcb_font_t font /**< */); 8104 8105 /** 8106 * 8107 * @param c The connection 8108 * @return A cookie 8109 * 8110 * Delivers a request to the X server. 8111 * 8112 */ 8113 xcb_void_cookie_t 8114 xcb_close_font (xcb_connection_t *c /**< */, 8115 xcb_font_t font /**< */); 8116 8117 /** 8118 * Get the next element of the iterator 8119 * @param i Pointer to a xcb_fontprop_iterator_t 8120 * 8121 * Get the next element in the iterator. The member rem is 8122 * decreased by one. The member data points to the next 8123 * element. The member index is increased by sizeof(xcb_fontprop_t) 8124 */ 8125 void 8126 xcb_fontprop_next (xcb_fontprop_iterator_t *i /**< */); 8127 8128 /** 8129 * Return the iterator pointing to the last element 8130 * @param i An xcb_fontprop_iterator_t 8131 * @return The iterator pointing to the last element 8132 * 8133 * Set the current element in the iterator to the last element. 8134 * The member rem is set to 0. The member data points to the 8135 * last element. 8136 */ 8137 xcb_generic_iterator_t 8138 xcb_fontprop_end (xcb_fontprop_iterator_t i /**< */); 8139 8140 /** 8141 * Get the next element of the iterator 8142 * @param i Pointer to a xcb_charinfo_iterator_t 8143 * 8144 * Get the next element in the iterator. The member rem is 8145 * decreased by one. The member data points to the next 8146 * element. The member index is increased by sizeof(xcb_charinfo_t) 8147 */ 8148 void 8149 xcb_charinfo_next (xcb_charinfo_iterator_t *i /**< */); 8150 8151 /** 8152 * Return the iterator pointing to the last element 8153 * @param i An xcb_charinfo_iterator_t 8154 * @return The iterator pointing to the last element 8155 * 8156 * Set the current element in the iterator to the last element. 8157 * The member rem is set to 0. The member data points to the 8158 * last element. 8159 */ 8160 xcb_generic_iterator_t 8161 xcb_charinfo_end (xcb_charinfo_iterator_t i /**< */); 8162 8163 int 8164 xcb_query_font_sizeof (const void *_buffer /**< */); 8165 8166 /** 8167 * @brief query font metrics 8168 * 8169 * @param c The connection 8170 * @param font The fontable (Font or Graphics Context) to query. 8171 * @return A cookie 8172 * 8173 * Queries information associated with the font. 8174 * 8175 */ 8176 xcb_query_font_cookie_t 8177 xcb_query_font (xcb_connection_t *c /**< */, 8178 xcb_fontable_t font /**< */); 8179 8180 /** 8181 * @brief query font metrics 8182 * 8183 * @param c The connection 8184 * @param font The fontable (Font or Graphics Context) to query. 8185 * @return A cookie 8186 * 8187 * Queries information associated with the font. 8188 * 8189 * This form can be used only if the request will cause 8190 * a reply to be generated. Any returned error will be 8191 * placed in the event queue. 8192 */ 8193 xcb_query_font_cookie_t 8194 xcb_query_font_unchecked (xcb_connection_t *c /**< */, 8195 xcb_fontable_t font /**< */); 8196 8197 xcb_fontprop_t * 8198 xcb_query_font_properties (const xcb_query_font_reply_t *R /**< */); 8199 8200 int 8201 xcb_query_font_properties_length (const xcb_query_font_reply_t *R /**< */); 8202 8203 xcb_fontprop_iterator_t 8204 xcb_query_font_properties_iterator (const xcb_query_font_reply_t *R /**< */); 8205 8206 xcb_charinfo_t * 8207 xcb_query_font_char_infos (const xcb_query_font_reply_t *R /**< */); 8208 8209 int 8210 xcb_query_font_char_infos_length (const xcb_query_font_reply_t *R /**< */); 8211 8212 xcb_charinfo_iterator_t 8213 xcb_query_font_char_infos_iterator (const xcb_query_font_reply_t *R /**< */); 8214 8215 /** 8216 * Return the reply 8217 * @param c The connection 8218 * @param cookie The cookie 8219 * @param e The xcb_generic_error_t supplied 8220 * 8221 * Returns the reply of the request asked by 8222 * 8223 * The parameter @p e supplied to this function must be NULL if 8224 * xcb_query_font_unchecked(). is used. 8225 * Otherwise, it stores the error if any. 8226 * 8227 * The returned value must be freed by the caller using free(). 8228 */ 8229 xcb_query_font_reply_t * 8230 xcb_query_font_reply (xcb_connection_t *c /**< */, 8231 xcb_query_font_cookie_t cookie /**< */, 8232 xcb_generic_error_t **e /**< */); 8233 8234 int 8235 xcb_query_text_extents_sizeof (const void *_buffer /**< */, 8236 uint32_t string_len /**< */); 8237 8238 /** 8239 * @brief get text extents 8240 * 8241 * @param c The connection 8242 * @param font The \a font to calculate text extents in. You can also pass a graphics context. 8243 * @param string_len The number of characters in \a string. 8244 * @param string The text to get text extents for. 8245 * @return A cookie 8246 * 8247 * Query text extents from the X11 server. This request returns the bounding box 8248 * of the specified 16-bit character string in the specified \a font or the font 8249 * contained in the specified graphics context. 8250 * 8251 * `font_ascent` is set to the maximum of the ascent metrics of all characters in 8252 * the string. `font_descent` is set to the maximum of the descent metrics. 8253 * `overall_width` is set to the sum of the character-width metrics of all 8254 * characters in the string. For each character in the string, let W be the sum of 8255 * the character-width metrics of all characters preceding it in the string. Let L 8256 * be the left-side-bearing metric of the character plus W. Let R be the 8257 * right-side-bearing metric of the character plus W. The lbearing member is set 8258 * to the minimum L of all characters in the string. The rbearing member is set to 8259 * the maximum R. 8260 * 8261 * For fonts defined with linear indexing rather than 2-byte matrix indexing, each 8262 * `xcb_char2b_t` structure is interpreted as a 16-bit number with byte1 as the 8263 * most significant byte. If the font has no defined default character, undefined 8264 * characters in the string are taken to have all zero metrics. 8265 * 8266 * Characters with all zero metrics are ignored. If the font has no defined 8267 * default_char, the undefined characters in the string are also ignored. 8268 * 8269 */ 8270 xcb_query_text_extents_cookie_t 8271 xcb_query_text_extents (xcb_connection_t *c /**< */, 8272 xcb_fontable_t font /**< */, 8273 uint32_t string_len /**< */, 8274 const xcb_char2b_t *string /**< */); 8275 8276 /** 8277 * @brief get text extents 8278 * 8279 * @param c The connection 8280 * @param font The \a font to calculate text extents in. You can also pass a graphics context. 8281 * @param string_len The number of characters in \a string. 8282 * @param string The text to get text extents for. 8283 * @return A cookie 8284 * 8285 * Query text extents from the X11 server. This request returns the bounding box 8286 * of the specified 16-bit character string in the specified \a font or the font 8287 * contained in the specified graphics context. 8288 * 8289 * `font_ascent` is set to the maximum of the ascent metrics of all characters in 8290 * the string. `font_descent` is set to the maximum of the descent metrics. 8291 * `overall_width` is set to the sum of the character-width metrics of all 8292 * characters in the string. For each character in the string, let W be the sum of 8293 * the character-width metrics of all characters preceding it in the string. Let L 8294 * be the left-side-bearing metric of the character plus W. Let R be the 8295 * right-side-bearing metric of the character plus W. The lbearing member is set 8296 * to the minimum L of all characters in the string. The rbearing member is set to 8297 * the maximum R. 8298 * 8299 * For fonts defined with linear indexing rather than 2-byte matrix indexing, each 8300 * `xcb_char2b_t` structure is interpreted as a 16-bit number with byte1 as the 8301 * most significant byte. If the font has no defined default character, undefined 8302 * characters in the string are taken to have all zero metrics. 8303 * 8304 * Characters with all zero metrics are ignored. If the font has no defined 8305 * default_char, the undefined characters in the string are also ignored. 8306 * 8307 * This form can be used only if the request will cause 8308 * a reply to be generated. Any returned error will be 8309 * placed in the event queue. 8310 */ 8311 xcb_query_text_extents_cookie_t 8312 xcb_query_text_extents_unchecked (xcb_connection_t *c /**< */, 8313 xcb_fontable_t font /**< */, 8314 uint32_t string_len /**< */, 8315 const xcb_char2b_t *string /**< */); 8316 8317 /** 8318 * Return the reply 8319 * @param c The connection 8320 * @param cookie The cookie 8321 * @param e The xcb_generic_error_t supplied 8322 * 8323 * Returns the reply of the request asked by 8324 * 8325 * The parameter @p e supplied to this function must be NULL if 8326 * xcb_query_text_extents_unchecked(). is used. 8327 * Otherwise, it stores the error if any. 8328 * 8329 * The returned value must be freed by the caller using free(). 8330 */ 8331 xcb_query_text_extents_reply_t * 8332 xcb_query_text_extents_reply (xcb_connection_t *c /**< */, 8333 xcb_query_text_extents_cookie_t cookie /**< */, 8334 xcb_generic_error_t **e /**< */); 8335 8336 int 8337 xcb_str_sizeof (const void *_buffer /**< */); 8338 8339 char * 8340 xcb_str_name (const xcb_str_t *R /**< */); 8341 8342 int 8343 xcb_str_name_length (const xcb_str_t *R /**< */); 8344 8345 xcb_generic_iterator_t 8346 xcb_str_name_end (const xcb_str_t *R /**< */); 8347 8348 /** 8349 * Get the next element of the iterator 8350 * @param i Pointer to a xcb_str_iterator_t 8351 * 8352 * Get the next element in the iterator. The member rem is 8353 * decreased by one. The member data points to the next 8354 * element. The member index is increased by sizeof(xcb_str_t) 8355 */ 8356 void 8357 xcb_str_next (xcb_str_iterator_t *i /**< */); 8358 8359 /** 8360 * Return the iterator pointing to the last element 8361 * @param i An xcb_str_iterator_t 8362 * @return The iterator pointing to the last element 8363 * 8364 * Set the current element in the iterator to the last element. 8365 * The member rem is set to 0. The member data points to the 8366 * last element. 8367 */ 8368 xcb_generic_iterator_t 8369 xcb_str_end (xcb_str_iterator_t i /**< */); 8370 8371 int 8372 xcb_list_fonts_sizeof (const void *_buffer /**< */); 8373 8374 /** 8375 * @brief get matching font names 8376 * 8377 * @param c The connection 8378 * @param max_names The maximum number of fonts to be returned. 8379 * @param pattern_len The length (in bytes) of \a pattern. 8380 * @param pattern A font pattern, for example "-misc-fixed-*". 8381 * \n 8382 * The asterisk (*) is a wildcard for any number of characters. The question mark 8383 * (?) is a wildcard for a single character. Use of uppercase or lowercase does 8384 * not matter. 8385 * @return A cookie 8386 * 8387 * Gets a list of available font names which match the given \a pattern. 8388 * 8389 */ 8390 xcb_list_fonts_cookie_t 8391 xcb_list_fonts (xcb_connection_t *c /**< */, 8392 uint16_t max_names /**< */, 8393 uint16_t pattern_len /**< */, 8394 const char *pattern /**< */); 8395 8396 /** 8397 * @brief get matching font names 8398 * 8399 * @param c The connection 8400 * @param max_names The maximum number of fonts to be returned. 8401 * @param pattern_len The length (in bytes) of \a pattern. 8402 * @param pattern A font pattern, for example "-misc-fixed-*". 8403 * \n 8404 * The asterisk (*) is a wildcard for any number of characters. The question mark 8405 * (?) is a wildcard for a single character. Use of uppercase or lowercase does 8406 * not matter. 8407 * @return A cookie 8408 * 8409 * Gets a list of available font names which match the given \a pattern. 8410 * 8411 * This form can be used only if the request will cause 8412 * a reply to be generated. Any returned error will be 8413 * placed in the event queue. 8414 */ 8415 xcb_list_fonts_cookie_t 8416 xcb_list_fonts_unchecked (xcb_connection_t *c /**< */, 8417 uint16_t max_names /**< */, 8418 uint16_t pattern_len /**< */, 8419 const char *pattern /**< */); 8420 8421 int 8422 xcb_list_fonts_names_length (const xcb_list_fonts_reply_t *R /**< */); 8423 8424 xcb_str_iterator_t 8425 xcb_list_fonts_names_iterator (const xcb_list_fonts_reply_t *R /**< */); 8426 8427 /** 8428 * Return the reply 8429 * @param c The connection 8430 * @param cookie The cookie 8431 * @param e The xcb_generic_error_t supplied 8432 * 8433 * Returns the reply of the request asked by 8434 * 8435 * The parameter @p e supplied to this function must be NULL if 8436 * xcb_list_fonts_unchecked(). is used. 8437 * Otherwise, it stores the error if any. 8438 * 8439 * The returned value must be freed by the caller using free(). 8440 */ 8441 xcb_list_fonts_reply_t * 8442 xcb_list_fonts_reply (xcb_connection_t *c /**< */, 8443 xcb_list_fonts_cookie_t cookie /**< */, 8444 xcb_generic_error_t **e /**< */); 8445 8446 int 8447 xcb_list_fonts_with_info_sizeof (const void *_buffer /**< */); 8448 8449 /** 8450 * @brief get matching font names and information 8451 * 8452 * @param c The connection 8453 * @param max_names The maximum number of fonts to be returned. 8454 * @param pattern_len The length (in bytes) of \a pattern. 8455 * @param pattern A font pattern, for example "-misc-fixed-*". 8456 * \n 8457 * The asterisk (*) is a wildcard for any number of characters. The question mark 8458 * (?) is a wildcard for a single character. Use of uppercase or lowercase does 8459 * not matter. 8460 * @return A cookie 8461 * 8462 * Gets a list of available font names which match the given \a pattern. 8463 * 8464 */ 8465 xcb_list_fonts_with_info_cookie_t 8466 xcb_list_fonts_with_info (xcb_connection_t *c /**< */, 8467 uint16_t max_names /**< */, 8468 uint16_t pattern_len /**< */, 8469 const char *pattern /**< */); 8470 8471 /** 8472 * @brief get matching font names and information 8473 * 8474 * @param c The connection 8475 * @param max_names The maximum number of fonts to be returned. 8476 * @param pattern_len The length (in bytes) of \a pattern. 8477 * @param pattern A font pattern, for example "-misc-fixed-*". 8478 * \n 8479 * The asterisk (*) is a wildcard for any number of characters. The question mark 8480 * (?) is a wildcard for a single character. Use of uppercase or lowercase does 8481 * not matter. 8482 * @return A cookie 8483 * 8484 * Gets a list of available font names which match the given \a pattern. 8485 * 8486 * This form can be used only if the request will cause 8487 * a reply to be generated. Any returned error will be 8488 * placed in the event queue. 8489 */ 8490 xcb_list_fonts_with_info_cookie_t 8491 xcb_list_fonts_with_info_unchecked (xcb_connection_t *c /**< */, 8492 uint16_t max_names /**< */, 8493 uint16_t pattern_len /**< */, 8494 const char *pattern /**< */); 8495 8496 xcb_fontprop_t * 8497 xcb_list_fonts_with_info_properties (const xcb_list_fonts_with_info_reply_t *R /**< */); 8498 8499 int 8500 xcb_list_fonts_with_info_properties_length (const xcb_list_fonts_with_info_reply_t *R /**< */); 8501 8502 xcb_fontprop_iterator_t 8503 xcb_list_fonts_with_info_properties_iterator (const xcb_list_fonts_with_info_reply_t *R /**< */); 8504 8505 char * 8506 xcb_list_fonts_with_info_name (const xcb_list_fonts_with_info_reply_t *R /**< */); 8507 8508 int 8509 xcb_list_fonts_with_info_name_length (const xcb_list_fonts_with_info_reply_t *R /**< */); 8510 8511 xcb_generic_iterator_t 8512 xcb_list_fonts_with_info_name_end (const xcb_list_fonts_with_info_reply_t *R /**< */); 8513 8514 /** 8515 * Return the reply 8516 * @param c The connection 8517 * @param cookie The cookie 8518 * @param e The xcb_generic_error_t supplied 8519 * 8520 * Returns the reply of the request asked by 8521 * 8522 * The parameter @p e supplied to this function must be NULL if 8523 * xcb_list_fonts_with_info_unchecked(). is used. 8524 * Otherwise, it stores the error if any. 8525 * 8526 * The returned value must be freed by the caller using free(). 8527 */ 8528 xcb_list_fonts_with_info_reply_t * 8529 xcb_list_fonts_with_info_reply (xcb_connection_t *c /**< */, 8530 xcb_list_fonts_with_info_cookie_t cookie /**< */, 8531 xcb_generic_error_t **e /**< */); 8532 8533 int 8534 xcb_set_font_path_sizeof (const void *_buffer /**< */); 8535 8536 /** 8537 * 8538 * @param c The connection 8539 * @return A cookie 8540 * 8541 * Delivers a request to the X server. 8542 * 8543 * This form can be used only if the request will not cause 8544 * a reply to be generated. Any returned error will be 8545 * saved for handling by xcb_request_check(). 8546 */ 8547 xcb_void_cookie_t 8548 xcb_set_font_path_checked (xcb_connection_t *c /**< */, 8549 uint16_t font_qty /**< */, 8550 const xcb_str_t *font /**< */); 8551 8552 /** 8553 * 8554 * @param c The connection 8555 * @return A cookie 8556 * 8557 * Delivers a request to the X server. 8558 * 8559 */ 8560 xcb_void_cookie_t 8561 xcb_set_font_path (xcb_connection_t *c /**< */, 8562 uint16_t font_qty /**< */, 8563 const xcb_str_t *font /**< */); 8564 8565 int 8566 xcb_get_font_path_sizeof (const void *_buffer /**< */); 8567 8568 /** 8569 * 8570 * @param c The connection 8571 * @return A cookie 8572 * 8573 * Delivers a request to the X server. 8574 * 8575 */ 8576 xcb_get_font_path_cookie_t 8577 xcb_get_font_path (xcb_connection_t *c /**< */); 8578 8579 /** 8580 * 8581 * @param c The connection 8582 * @return A cookie 8583 * 8584 * Delivers a request to the X server. 8585 * 8586 * This form can be used only if the request will cause 8587 * a reply to be generated. Any returned error will be 8588 * placed in the event queue. 8589 */ 8590 xcb_get_font_path_cookie_t 8591 xcb_get_font_path_unchecked (xcb_connection_t *c /**< */); 8592 8593 int 8594 xcb_get_font_path_path_length (const xcb_get_font_path_reply_t *R /**< */); 8595 8596 xcb_str_iterator_t 8597 xcb_get_font_path_path_iterator (const xcb_get_font_path_reply_t *R /**< */); 8598 8599 /** 8600 * Return the reply 8601 * @param c The connection 8602 * @param cookie The cookie 8603 * @param e The xcb_generic_error_t supplied 8604 * 8605 * Returns the reply of the request asked by 8606 * 8607 * The parameter @p e supplied to this function must be NULL if 8608 * xcb_get_font_path_unchecked(). is used. 8609 * Otherwise, it stores the error if any. 8610 * 8611 * The returned value must be freed by the caller using free(). 8612 */ 8613 xcb_get_font_path_reply_t * 8614 xcb_get_font_path_reply (xcb_connection_t *c /**< */, 8615 xcb_get_font_path_cookie_t cookie /**< */, 8616 xcb_generic_error_t **e /**< */); 8617 8618 /** 8619 * @brief Creates a pixmap 8620 * 8621 * @param c The connection 8622 * @param depth TODO 8623 * @param pid The ID with which you will refer to the new pixmap, created by 8624 * `xcb_generate_id`. 8625 * @param drawable Drawable to get the screen from. 8626 * @param width The width of the new pixmap. 8627 * @param height The height of the new pixmap. 8628 * @return A cookie 8629 * 8630 * Creates a pixmap. The pixmap can only be used on the same screen as \a drawable 8631 * is on and only with drawables of the same \a depth. 8632 * 8633 * This form can be used only if the request will not cause 8634 * a reply to be generated. Any returned error will be 8635 * saved for handling by xcb_request_check(). 8636 */ 8637 xcb_void_cookie_t 8638 xcb_create_pixmap_checked (xcb_connection_t *c /**< */, 8639 uint8_t depth /**< */, 8640 xcb_pixmap_t pid /**< */, 8641 xcb_drawable_t drawable /**< */, 8642 uint16_t width /**< */, 8643 uint16_t height /**< */); 8644 8645 /** 8646 * @brief Creates a pixmap 8647 * 8648 * @param c The connection 8649 * @param depth TODO 8650 * @param pid The ID with which you will refer to the new pixmap, created by 8651 * `xcb_generate_id`. 8652 * @param drawable Drawable to get the screen from. 8653 * @param width The width of the new pixmap. 8654 * @param height The height of the new pixmap. 8655 * @return A cookie 8656 * 8657 * Creates a pixmap. The pixmap can only be used on the same screen as \a drawable 8658 * is on and only with drawables of the same \a depth. 8659 * 8660 */ 8661 xcb_void_cookie_t 8662 xcb_create_pixmap (xcb_connection_t *c /**< */, 8663 uint8_t depth /**< */, 8664 xcb_pixmap_t pid /**< */, 8665 xcb_drawable_t drawable /**< */, 8666 uint16_t width /**< */, 8667 uint16_t height /**< */); 8668 8669 /** 8670 * @brief Destroys a pixmap 8671 * 8672 * @param c The connection 8673 * @param pixmap The pixmap to destroy. 8674 * @return A cookie 8675 * 8676 * Deletes the association between the pixmap ID and the pixmap. The pixmap 8677 * storage will be freed when there are no more references to it. 8678 * 8679 * This form can be used only if the request will not cause 8680 * a reply to be generated. Any returned error will be 8681 * saved for handling by xcb_request_check(). 8682 */ 8683 xcb_void_cookie_t 8684 xcb_free_pixmap_checked (xcb_connection_t *c /**< */, 8685 xcb_pixmap_t pixmap /**< */); 8686 8687 /** 8688 * @brief Destroys a pixmap 8689 * 8690 * @param c The connection 8691 * @param pixmap The pixmap to destroy. 8692 * @return A cookie 8693 * 8694 * Deletes the association between the pixmap ID and the pixmap. The pixmap 8695 * storage will be freed when there are no more references to it. 8696 * 8697 */ 8698 xcb_void_cookie_t 8699 xcb_free_pixmap (xcb_connection_t *c /**< */, 8700 xcb_pixmap_t pixmap /**< */); 8701 8702 int 8703 xcb_create_gc_sizeof (const void *_buffer /**< */); 8704 8705 /** 8706 * @brief Creates a graphics context 8707 * 8708 * @param c The connection 8709 * @param cid The ID with which you will refer to the graphics context, created by 8710 * `xcb_generate_id`. 8711 * @param drawable Drawable to get the root/depth from. 8712 * @return A cookie 8713 * 8714 * Creates a graphics context. The graphics context can be used with any drawable 8715 * that has the same root and depth as the specified drawable. 8716 * 8717 * This form can be used only if the request will not cause 8718 * a reply to be generated. Any returned error will be 8719 * saved for handling by xcb_request_check(). 8720 */ 8721 xcb_void_cookie_t 8722 xcb_create_gc_checked (xcb_connection_t *c /**< */, 8723 xcb_gcontext_t cid /**< */, 8724 xcb_drawable_t drawable /**< */, 8725 uint32_t value_mask /**< */, 8726 const uint32_t *value_list /**< */); 8727 8728 /** 8729 * @brief Creates a graphics context 8730 * 8731 * @param c The connection 8732 * @param cid The ID with which you will refer to the graphics context, created by 8733 * `xcb_generate_id`. 8734 * @param drawable Drawable to get the root/depth from. 8735 * @return A cookie 8736 * 8737 * Creates a graphics context. The graphics context can be used with any drawable 8738 * that has the same root and depth as the specified drawable. 8739 * 8740 */ 8741 xcb_void_cookie_t 8742 xcb_create_gc (xcb_connection_t *c /**< */, 8743 xcb_gcontext_t cid /**< */, 8744 xcb_drawable_t drawable /**< */, 8745 uint32_t value_mask /**< */, 8746 const uint32_t *value_list /**< */); 8747 8748 int 8749 xcb_change_gc_sizeof (const void *_buffer /**< */); 8750 8751 /** 8752 * @brief change graphics context components 8753 * 8754 * @param c The connection 8755 * @param gc The graphics context to change. 8756 * @param value_mask A bitmask of #xcb_gc_t values. 8757 * @param value_mask \n 8758 * @param value_list Values for each of the components specified in the bitmask \a value_mask. The 8759 * order has to correspond to the order of possible \a value_mask bits. See the 8760 * example. 8761 * @return A cookie 8762 * 8763 * Changes the components specified by \a value_mask for the specified graphics context. 8764 * 8765 * This form can be used only if the request will not cause 8766 * a reply to be generated. Any returned error will be 8767 * saved for handling by xcb_request_check(). 8768 */ 8769 xcb_void_cookie_t 8770 xcb_change_gc_checked (xcb_connection_t *c /**< */, 8771 xcb_gcontext_t gc /**< */, 8772 uint32_t value_mask /**< */, 8773 const uint32_t *value_list /**< */); 8774 8775 /** 8776 * @brief change graphics context components 8777 * 8778 * @param c The connection 8779 * @param gc The graphics context to change. 8780 * @param value_mask A bitmask of #xcb_gc_t values. 8781 * @param value_mask \n 8782 * @param value_list Values for each of the components specified in the bitmask \a value_mask. The 8783 * order has to correspond to the order of possible \a value_mask bits. See the 8784 * example. 8785 * @return A cookie 8786 * 8787 * Changes the components specified by \a value_mask for the specified graphics context. 8788 * 8789 */ 8790 xcb_void_cookie_t 8791 xcb_change_gc (xcb_connection_t *c /**< */, 8792 xcb_gcontext_t gc /**< */, 8793 uint32_t value_mask /**< */, 8794 const uint32_t *value_list /**< */); 8795 8796 /** 8797 * 8798 * @param c The connection 8799 * @return A cookie 8800 * 8801 * Delivers a request to the X server. 8802 * 8803 * This form can be used only if the request will not cause 8804 * a reply to be generated. Any returned error will be 8805 * saved for handling by xcb_request_check(). 8806 */ 8807 xcb_void_cookie_t 8808 xcb_copy_gc_checked (xcb_connection_t *c /**< */, 8809 xcb_gcontext_t src_gc /**< */, 8810 xcb_gcontext_t dst_gc /**< */, 8811 uint32_t value_mask /**< */); 8812 8813 /** 8814 * 8815 * @param c The connection 8816 * @return A cookie 8817 * 8818 * Delivers a request to the X server. 8819 * 8820 */ 8821 xcb_void_cookie_t 8822 xcb_copy_gc (xcb_connection_t *c /**< */, 8823 xcb_gcontext_t src_gc /**< */, 8824 xcb_gcontext_t dst_gc /**< */, 8825 uint32_t value_mask /**< */); 8826 8827 int 8828 xcb_set_dashes_sizeof (const void *_buffer /**< */); 8829 8830 /** 8831 * 8832 * @param c The connection 8833 * @return A cookie 8834 * 8835 * Delivers a request to the X server. 8836 * 8837 * This form can be used only if the request will not cause 8838 * a reply to be generated. Any returned error will be 8839 * saved for handling by xcb_request_check(). 8840 */ 8841 xcb_void_cookie_t 8842 xcb_set_dashes_checked (xcb_connection_t *c /**< */, 8843 xcb_gcontext_t gc /**< */, 8844 uint16_t dash_offset /**< */, 8845 uint16_t dashes_len /**< */, 8846 const uint8_t *dashes /**< */); 8847 8848 /** 8849 * 8850 * @param c The connection 8851 * @return A cookie 8852 * 8853 * Delivers a request to the X server. 8854 * 8855 */ 8856 xcb_void_cookie_t 8857 xcb_set_dashes (xcb_connection_t *c /**< */, 8858 xcb_gcontext_t gc /**< */, 8859 uint16_t dash_offset /**< */, 8860 uint16_t dashes_len /**< */, 8861 const uint8_t *dashes /**< */); 8862 8863 int 8864 xcb_set_clip_rectangles_sizeof (const void *_buffer /**< */, 8865 uint32_t rectangles_len /**< */); 8866 8867 /** 8868 * 8869 * @param c The connection 8870 * @return A cookie 8871 * 8872 * Delivers a request to the X server. 8873 * 8874 * This form can be used only if the request will not cause 8875 * a reply to be generated. Any returned error will be 8876 * saved for handling by xcb_request_check(). 8877 */ 8878 xcb_void_cookie_t 8879 xcb_set_clip_rectangles_checked (xcb_connection_t *c /**< */, 8880 uint8_t ordering /**< */, 8881 xcb_gcontext_t gc /**< */, 8882 int16_t clip_x_origin /**< */, 8883 int16_t clip_y_origin /**< */, 8884 uint32_t rectangles_len /**< */, 8885 const xcb_rectangle_t *rectangles /**< */); 8886 8887 /** 8888 * 8889 * @param c The connection 8890 * @return A cookie 8891 * 8892 * Delivers a request to the X server. 8893 * 8894 */ 8895 xcb_void_cookie_t 8896 xcb_set_clip_rectangles (xcb_connection_t *c /**< */, 8897 uint8_t ordering /**< */, 8898 xcb_gcontext_t gc /**< */, 8899 int16_t clip_x_origin /**< */, 8900 int16_t clip_y_origin /**< */, 8901 uint32_t rectangles_len /**< */, 8902 const xcb_rectangle_t *rectangles /**< */); 8903 8904 /** 8905 * @brief Destroys a graphics context 8906 * 8907 * @param c The connection 8908 * @param gc The graphics context to destroy. 8909 * @return A cookie 8910 * 8911 * Destroys the specified \a gc and all associated storage. 8912 * 8913 * This form can be used only if the request will not cause 8914 * a reply to be generated. Any returned error will be 8915 * saved for handling by xcb_request_check(). 8916 */ 8917 xcb_void_cookie_t 8918 xcb_free_gc_checked (xcb_connection_t *c /**< */, 8919 xcb_gcontext_t gc /**< */); 8920 8921 /** 8922 * @brief Destroys a graphics context 8923 * 8924 * @param c The connection 8925 * @param gc The graphics context to destroy. 8926 * @return A cookie 8927 * 8928 * Destroys the specified \a gc and all associated storage. 8929 * 8930 */ 8931 xcb_void_cookie_t 8932 xcb_free_gc (xcb_connection_t *c /**< */, 8933 xcb_gcontext_t gc /**< */); 8934 8935 /** 8936 * 8937 * @param c The connection 8938 * @return A cookie 8939 * 8940 * Delivers a request to the X server. 8941 * 8942 * This form can be used only if the request will not cause 8943 * a reply to be generated. Any returned error will be 8944 * saved for handling by xcb_request_check(). 8945 */ 8946 xcb_void_cookie_t 8947 xcb_clear_area_checked (xcb_connection_t *c /**< */, 8948 uint8_t exposures /**< */, 8949 xcb_window_t window /**< */, 8950 int16_t x /**< */, 8951 int16_t y /**< */, 8952 uint16_t width /**< */, 8953 uint16_t height /**< */); 8954 8955 /** 8956 * 8957 * @param c The connection 8958 * @return A cookie 8959 * 8960 * Delivers a request to the X server. 8961 * 8962 */ 8963 xcb_void_cookie_t 8964 xcb_clear_area (xcb_connection_t *c /**< */, 8965 uint8_t exposures /**< */, 8966 xcb_window_t window /**< */, 8967 int16_t x /**< */, 8968 int16_t y /**< */, 8969 uint16_t width /**< */, 8970 uint16_t height /**< */); 8971 8972 /** 8973 * @brief copy areas 8974 * 8975 * @param c The connection 8976 * @param src_drawable The source drawable (Window or Pixmap). 8977 * @param dst_drawable The destination drawable (Window or Pixmap). 8978 * @param gc The graphics context to use. 8979 * @param src_x The source X coordinate. 8980 * @param src_y The source Y coordinate. 8981 * @param dst_x The destination X coordinate. 8982 * @param dst_y The destination Y coordinate. 8983 * @param width The width of the area to copy (in pixels). 8984 * @param height The height of the area to copy (in pixels). 8985 * @return A cookie 8986 * 8987 * Copies the specified rectangle from \a src_drawable to \a dst_drawable. 8988 * 8989 * This form can be used only if the request will not cause 8990 * a reply to be generated. Any returned error will be 8991 * saved for handling by xcb_request_check(). 8992 */ 8993 xcb_void_cookie_t 8994 xcb_copy_area_checked (xcb_connection_t *c /**< */, 8995 xcb_drawable_t src_drawable /**< */, 8996 xcb_drawable_t dst_drawable /**< */, 8997 xcb_gcontext_t gc /**< */, 8998 int16_t src_x /**< */, 8999 int16_t src_y /**< */, 9000 int16_t dst_x /**< */, 9001 int16_t dst_y /**< */, 9002 uint16_t width /**< */, 9003 uint16_t height /**< */); 9004 9005 /** 9006 * @brief copy areas 9007 * 9008 * @param c The connection 9009 * @param src_drawable The source drawable (Window or Pixmap). 9010 * @param dst_drawable The destination drawable (Window or Pixmap). 9011 * @param gc The graphics context to use. 9012 * @param src_x The source X coordinate. 9013 * @param src_y The source Y coordinate. 9014 * @param dst_x The destination X coordinate. 9015 * @param dst_y The destination Y coordinate. 9016 * @param width The width of the area to copy (in pixels). 9017 * @param height The height of the area to copy (in pixels). 9018 * @return A cookie 9019 * 9020 * Copies the specified rectangle from \a src_drawable to \a dst_drawable. 9021 * 9022 */ 9023 xcb_void_cookie_t 9024 xcb_copy_area (xcb_connection_t *c /**< */, 9025 xcb_drawable_t src_drawable /**< */, 9026 xcb_drawable_t dst_drawable /**< */, 9027 xcb_gcontext_t gc /**< */, 9028 int16_t src_x /**< */, 9029 int16_t src_y /**< */, 9030 int16_t dst_x /**< */, 9031 int16_t dst_y /**< */, 9032 uint16_t width /**< */, 9033 uint16_t height /**< */); 9034 9035 /** 9036 * 9037 * @param c The connection 9038 * @return A cookie 9039 * 9040 * Delivers a request to the X server. 9041 * 9042 * This form can be used only if the request will not cause 9043 * a reply to be generated. Any returned error will be 9044 * saved for handling by xcb_request_check(). 9045 */ 9046 xcb_void_cookie_t 9047 xcb_copy_plane_checked (xcb_connection_t *c /**< */, 9048 xcb_drawable_t src_drawable /**< */, 9049 xcb_drawable_t dst_drawable /**< */, 9050 xcb_gcontext_t gc /**< */, 9051 int16_t src_x /**< */, 9052 int16_t src_y /**< */, 9053 int16_t dst_x /**< */, 9054 int16_t dst_y /**< */, 9055 uint16_t width /**< */, 9056 uint16_t height /**< */, 9057 uint32_t bit_plane /**< */); 9058 9059 /** 9060 * 9061 * @param c The connection 9062 * @return A cookie 9063 * 9064 * Delivers a request to the X server. 9065 * 9066 */ 9067 xcb_void_cookie_t 9068 xcb_copy_plane (xcb_connection_t *c /**< */, 9069 xcb_drawable_t src_drawable /**< */, 9070 xcb_drawable_t dst_drawable /**< */, 9071 xcb_gcontext_t gc /**< */, 9072 int16_t src_x /**< */, 9073 int16_t src_y /**< */, 9074 int16_t dst_x /**< */, 9075 int16_t dst_y /**< */, 9076 uint16_t width /**< */, 9077 uint16_t height /**< */, 9078 uint32_t bit_plane /**< */); 9079 9080 int 9081 xcb_poly_point_sizeof (const void *_buffer /**< */, 9082 uint32_t points_len /**< */); 9083 9084 /** 9085 * 9086 * @param c The connection 9087 * @return A cookie 9088 * 9089 * Delivers a request to the X server. 9090 * 9091 * This form can be used only if the request will not cause 9092 * a reply to be generated. Any returned error will be 9093 * saved for handling by xcb_request_check(). 9094 */ 9095 xcb_void_cookie_t 9096 xcb_poly_point_checked (xcb_connection_t *c /**< */, 9097 uint8_t coordinate_mode /**< */, 9098 xcb_drawable_t drawable /**< */, 9099 xcb_gcontext_t gc /**< */, 9100 uint32_t points_len /**< */, 9101 const xcb_point_t *points /**< */); 9102 9103 /** 9104 * 9105 * @param c The connection 9106 * @return A cookie 9107 * 9108 * Delivers a request to the X server. 9109 * 9110 */ 9111 xcb_void_cookie_t 9112 xcb_poly_point (xcb_connection_t *c /**< */, 9113 uint8_t coordinate_mode /**< */, 9114 xcb_drawable_t drawable /**< */, 9115 xcb_gcontext_t gc /**< */, 9116 uint32_t points_len /**< */, 9117 const xcb_point_t *points /**< */); 9118 9119 int 9120 xcb_poly_line_sizeof (const void *_buffer /**< */, 9121 uint32_t points_len /**< */); 9122 9123 /** 9124 * @brief draw lines 9125 * 9126 * @param c The connection 9127 * @param coordinate_mode A bitmask of #xcb_coord_mode_t values. 9128 * @param coordinate_mode \n 9129 * @param drawable The drawable to draw the line(s) on. 9130 * @param gc The graphics context to use. 9131 * @param points_len The number of `xcb_point_t` structures in \a points. 9132 * @param points An array of points. 9133 * @return A cookie 9134 * 9135 * Draws \a points_len-1 lines between each pair of points (point[i], point[i+1]) 9136 * in the \a points array. The lines are drawn in the order listed in the array. 9137 * They join correctly at all intermediate points, and if the first and last 9138 * points coincide, the first and last lines also join correctly. For any given 9139 * line, a pixel is not drawn more than once. If thin (zero line-width) lines 9140 * intersect, the intersecting pixels are drawn multiple times. If wide lines 9141 * intersect, the intersecting pixels are drawn only once, as though the entire 9142 * request were a single, filled shape. 9143 * 9144 * This form can be used only if the request will not cause 9145 * a reply to be generated. Any returned error will be 9146 * saved for handling by xcb_request_check(). 9147 */ 9148 xcb_void_cookie_t 9149 xcb_poly_line_checked (xcb_connection_t *c /**< */, 9150 uint8_t coordinate_mode /**< */, 9151 xcb_drawable_t drawable /**< */, 9152 xcb_gcontext_t gc /**< */, 9153 uint32_t points_len /**< */, 9154 const xcb_point_t *points /**< */); 9155 9156 /** 9157 * @brief draw lines 9158 * 9159 * @param c The connection 9160 * @param coordinate_mode A bitmask of #xcb_coord_mode_t values. 9161 * @param coordinate_mode \n 9162 * @param drawable The drawable to draw the line(s) on. 9163 * @param gc The graphics context to use. 9164 * @param points_len The number of `xcb_point_t` structures in \a points. 9165 * @param points An array of points. 9166 * @return A cookie 9167 * 9168 * Draws \a points_len-1 lines between each pair of points (point[i], point[i+1]) 9169 * in the \a points array. The lines are drawn in the order listed in the array. 9170 * They join correctly at all intermediate points, and if the first and last 9171 * points coincide, the first and last lines also join correctly. For any given 9172 * line, a pixel is not drawn more than once. If thin (zero line-width) lines 9173 * intersect, the intersecting pixels are drawn multiple times. If wide lines 9174 * intersect, the intersecting pixels are drawn only once, as though the entire 9175 * request were a single, filled shape. 9176 * 9177 */ 9178 xcb_void_cookie_t 9179 xcb_poly_line (xcb_connection_t *c /**< */, 9180 uint8_t coordinate_mode /**< */, 9181 xcb_drawable_t drawable /**< */, 9182 xcb_gcontext_t gc /**< */, 9183 uint32_t points_len /**< */, 9184 const xcb_point_t *points /**< */); 9185 9186 /** 9187 * Get the next element of the iterator 9188 * @param i Pointer to a xcb_segment_iterator_t 9189 * 9190 * Get the next element in the iterator. The member rem is 9191 * decreased by one. The member data points to the next 9192 * element. The member index is increased by sizeof(xcb_segment_t) 9193 */ 9194 void 9195 xcb_segment_next (xcb_segment_iterator_t *i /**< */); 9196 9197 /** 9198 * Return the iterator pointing to the last element 9199 * @param i An xcb_segment_iterator_t 9200 * @return The iterator pointing to the last element 9201 * 9202 * Set the current element in the iterator to the last element. 9203 * The member rem is set to 0. The member data points to the 9204 * last element. 9205 */ 9206 xcb_generic_iterator_t 9207 xcb_segment_end (xcb_segment_iterator_t i /**< */); 9208 9209 int 9210 xcb_poly_segment_sizeof (const void *_buffer /**< */, 9211 uint32_t segments_len /**< */); 9212 9213 /** 9214 * @brief draw lines 9215 * 9216 * @param c The connection 9217 * @param drawable A drawable (Window or Pixmap) to draw on. 9218 * @param gc The graphics context to use. 9219 * \n 9220 * TODO: document which attributes of a gc are used 9221 * @param segments_len The number of `xcb_segment_t` structures in \a segments. 9222 * @param segments An array of `xcb_segment_t` structures. 9223 * @return A cookie 9224 * 9225 * Draws multiple, unconnected lines. For each segment, a line is drawn between 9226 * (x1, y1) and (x2, y2). The lines are drawn in the order listed in the array of 9227 * `xcb_segment_t` structures and does not perform joining at coincident 9228 * endpoints. For any given line, a pixel is not drawn more than once. If lines 9229 * intersect, the intersecting pixels are drawn multiple times. 9230 * 9231 * TODO: include the xcb_segment_t data structure 9232 * 9233 * TODO: an example 9234 * 9235 * This form can be used only if the request will not cause 9236 * a reply to be generated. Any returned error will be 9237 * saved for handling by xcb_request_check(). 9238 */ 9239 xcb_void_cookie_t 9240 xcb_poly_segment_checked (xcb_connection_t *c /**< */, 9241 xcb_drawable_t drawable /**< */, 9242 xcb_gcontext_t gc /**< */, 9243 uint32_t segments_len /**< */, 9244 const xcb_segment_t *segments /**< */); 9245 9246 /** 9247 * @brief draw lines 9248 * 9249 * @param c The connection 9250 * @param drawable A drawable (Window or Pixmap) to draw on. 9251 * @param gc The graphics context to use. 9252 * \n 9253 * TODO: document which attributes of a gc are used 9254 * @param segments_len The number of `xcb_segment_t` structures in \a segments. 9255 * @param segments An array of `xcb_segment_t` structures. 9256 * @return A cookie 9257 * 9258 * Draws multiple, unconnected lines. For each segment, a line is drawn between 9259 * (x1, y1) and (x2, y2). The lines are drawn in the order listed in the array of 9260 * `xcb_segment_t` structures and does not perform joining at coincident 9261 * endpoints. For any given line, a pixel is not drawn more than once. If lines 9262 * intersect, the intersecting pixels are drawn multiple times. 9263 * 9264 * TODO: include the xcb_segment_t data structure 9265 * 9266 * TODO: an example 9267 * 9268 */ 9269 xcb_void_cookie_t 9270 xcb_poly_segment (xcb_connection_t *c /**< */, 9271 xcb_drawable_t drawable /**< */, 9272 xcb_gcontext_t gc /**< */, 9273 uint32_t segments_len /**< */, 9274 const xcb_segment_t *segments /**< */); 9275 9276 int 9277 xcb_poly_rectangle_sizeof (const void *_buffer /**< */, 9278 uint32_t rectangles_len /**< */); 9279 9280 /** 9281 * 9282 * @param c The connection 9283 * @return A cookie 9284 * 9285 * Delivers a request to the X server. 9286 * 9287 * This form can be used only if the request will not cause 9288 * a reply to be generated. Any returned error will be 9289 * saved for handling by xcb_request_check(). 9290 */ 9291 xcb_void_cookie_t 9292 xcb_poly_rectangle_checked (xcb_connection_t *c /**< */, 9293 xcb_drawable_t drawable /**< */, 9294 xcb_gcontext_t gc /**< */, 9295 uint32_t rectangles_len /**< */, 9296 const xcb_rectangle_t *rectangles /**< */); 9297 9298 /** 9299 * 9300 * @param c The connection 9301 * @return A cookie 9302 * 9303 * Delivers a request to the X server. 9304 * 9305 */ 9306 xcb_void_cookie_t 9307 xcb_poly_rectangle (xcb_connection_t *c /**< */, 9308 xcb_drawable_t drawable /**< */, 9309 xcb_gcontext_t gc /**< */, 9310 uint32_t rectangles_len /**< */, 9311 const xcb_rectangle_t *rectangles /**< */); 9312 9313 int 9314 xcb_poly_arc_sizeof (const void *_buffer /**< */, 9315 uint32_t arcs_len /**< */); 9316 9317 /** 9318 * 9319 * @param c The connection 9320 * @return A cookie 9321 * 9322 * Delivers a request to the X server. 9323 * 9324 * This form can be used only if the request will not cause 9325 * a reply to be generated. Any returned error will be 9326 * saved for handling by xcb_request_check(). 9327 */ 9328 xcb_void_cookie_t 9329 xcb_poly_arc_checked (xcb_connection_t *c /**< */, 9330 xcb_drawable_t drawable /**< */, 9331 xcb_gcontext_t gc /**< */, 9332 uint32_t arcs_len /**< */, 9333 const xcb_arc_t *arcs /**< */); 9334 9335 /** 9336 * 9337 * @param c The connection 9338 * @return A cookie 9339 * 9340 * Delivers a request to the X server. 9341 * 9342 */ 9343 xcb_void_cookie_t 9344 xcb_poly_arc (xcb_connection_t *c /**< */, 9345 xcb_drawable_t drawable /**< */, 9346 xcb_gcontext_t gc /**< */, 9347 uint32_t arcs_len /**< */, 9348 const xcb_arc_t *arcs /**< */); 9349 9350 int 9351 xcb_fill_poly_sizeof (const void *_buffer /**< */, 9352 uint32_t points_len /**< */); 9353 9354 /** 9355 * 9356 * @param c The connection 9357 * @return A cookie 9358 * 9359 * Delivers a request to the X server. 9360 * 9361 * This form can be used only if the request will not cause 9362 * a reply to be generated. Any returned error will be 9363 * saved for handling by xcb_request_check(). 9364 */ 9365 xcb_void_cookie_t 9366 xcb_fill_poly_checked (xcb_connection_t *c /**< */, 9367 xcb_drawable_t drawable /**< */, 9368 xcb_gcontext_t gc /**< */, 9369 uint8_t shape /**< */, 9370 uint8_t coordinate_mode /**< */, 9371 uint32_t points_len /**< */, 9372 const xcb_point_t *points /**< */); 9373 9374 /** 9375 * 9376 * @param c The connection 9377 * @return A cookie 9378 * 9379 * Delivers a request to the X server. 9380 * 9381 */ 9382 xcb_void_cookie_t 9383 xcb_fill_poly (xcb_connection_t *c /**< */, 9384 xcb_drawable_t drawable /**< */, 9385 xcb_gcontext_t gc /**< */, 9386 uint8_t shape /**< */, 9387 uint8_t coordinate_mode /**< */, 9388 uint32_t points_len /**< */, 9389 const xcb_point_t *points /**< */); 9390 9391 int 9392 xcb_poly_fill_rectangle_sizeof (const void *_buffer /**< */, 9393 uint32_t rectangles_len /**< */); 9394 9395 /** 9396 * @brief Fills rectangles 9397 * 9398 * @param c The connection 9399 * @param drawable The drawable (Window or Pixmap) to draw on. 9400 * @param gc The graphics context to use. 9401 * \n 9402 * The following graphics context components are used: function, plane-mask, 9403 * fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. 9404 * \n 9405 * The following graphics context mode-dependent components are used: 9406 * foreground, background, tile, stipple, tile-stipple-x-origin, and 9407 * tile-stipple-y-origin. 9408 * @param rectangles_len The number of `xcb_rectangle_t` structures in \a rectangles. 9409 * @param rectangles The rectangles to fill. 9410 * @return A cookie 9411 * 9412 * Fills the specified rectangle(s) in the order listed in the array. For any 9413 * given rectangle, each pixel is not drawn more than once. If rectangles 9414 * intersect, the intersecting pixels are drawn multiple times. 9415 * 9416 * This form can be used only if the request will not cause 9417 * a reply to be generated. Any returned error will be 9418 * saved for handling by xcb_request_check(). 9419 */ 9420 xcb_void_cookie_t 9421 xcb_poly_fill_rectangle_checked (xcb_connection_t *c /**< */, 9422 xcb_drawable_t drawable /**< */, 9423 xcb_gcontext_t gc /**< */, 9424 uint32_t rectangles_len /**< */, 9425 const xcb_rectangle_t *rectangles /**< */); 9426 9427 /** 9428 * @brief Fills rectangles 9429 * 9430 * @param c The connection 9431 * @param drawable The drawable (Window or Pixmap) to draw on. 9432 * @param gc The graphics context to use. 9433 * \n 9434 * The following graphics context components are used: function, plane-mask, 9435 * fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. 9436 * \n 9437 * The following graphics context mode-dependent components are used: 9438 * foreground, background, tile, stipple, tile-stipple-x-origin, and 9439 * tile-stipple-y-origin. 9440 * @param rectangles_len The number of `xcb_rectangle_t` structures in \a rectangles. 9441 * @param rectangles The rectangles to fill. 9442 * @return A cookie 9443 * 9444 * Fills the specified rectangle(s) in the order listed in the array. For any 9445 * given rectangle, each pixel is not drawn more than once. If rectangles 9446 * intersect, the intersecting pixels are drawn multiple times. 9447 * 9448 */ 9449 xcb_void_cookie_t 9450 xcb_poly_fill_rectangle (xcb_connection_t *c /**< */, 9451 xcb_drawable_t drawable /**< */, 9452 xcb_gcontext_t gc /**< */, 9453 uint32_t rectangles_len /**< */, 9454 const xcb_rectangle_t *rectangles /**< */); 9455 9456 int 9457 xcb_poly_fill_arc_sizeof (const void *_buffer /**< */, 9458 uint32_t arcs_len /**< */); 9459 9460 /** 9461 * 9462 * @param c The connection 9463 * @return A cookie 9464 * 9465 * Delivers a request to the X server. 9466 * 9467 * This form can be used only if the request will not cause 9468 * a reply to be generated. Any returned error will be 9469 * saved for handling by xcb_request_check(). 9470 */ 9471 xcb_void_cookie_t 9472 xcb_poly_fill_arc_checked (xcb_connection_t *c /**< */, 9473 xcb_drawable_t drawable /**< */, 9474 xcb_gcontext_t gc /**< */, 9475 uint32_t arcs_len /**< */, 9476 const xcb_arc_t *arcs /**< */); 9477 9478 /** 9479 * 9480 * @param c The connection 9481 * @return A cookie 9482 * 9483 * Delivers a request to the X server. 9484 * 9485 */ 9486 xcb_void_cookie_t 9487 xcb_poly_fill_arc (xcb_connection_t *c /**< */, 9488 xcb_drawable_t drawable /**< */, 9489 xcb_gcontext_t gc /**< */, 9490 uint32_t arcs_len /**< */, 9491 const xcb_arc_t *arcs /**< */); 9492 9493 int 9494 xcb_put_image_sizeof (const void *_buffer /**< */, 9495 uint32_t data_len /**< */); 9496 9497 /** 9498 * 9499 * @param c The connection 9500 * @return A cookie 9501 * 9502 * Delivers a request to the X server. 9503 * 9504 * This form can be used only if the request will not cause 9505 * a reply to be generated. Any returned error will be 9506 * saved for handling by xcb_request_check(). 9507 */ 9508 xcb_void_cookie_t 9509 xcb_put_image_checked (xcb_connection_t *c /**< */, 9510 uint8_t format /**< */, 9511 xcb_drawable_t drawable /**< */, 9512 xcb_gcontext_t gc /**< */, 9513 uint16_t width /**< */, 9514 uint16_t height /**< */, 9515 int16_t dst_x /**< */, 9516 int16_t dst_y /**< */, 9517 uint8_t left_pad /**< */, 9518 uint8_t depth /**< */, 9519 uint32_t data_len /**< */, 9520 const uint8_t *data /**< */); 9521 9522 /** 9523 * 9524 * @param c The connection 9525 * @return A cookie 9526 * 9527 * Delivers a request to the X server. 9528 * 9529 */ 9530 xcb_void_cookie_t 9531 xcb_put_image (xcb_connection_t *c /**< */, 9532 uint8_t format /**< */, 9533 xcb_drawable_t drawable /**< */, 9534 xcb_gcontext_t gc /**< */, 9535 uint16_t width /**< */, 9536 uint16_t height /**< */, 9537 int16_t dst_x /**< */, 9538 int16_t dst_y /**< */, 9539 uint8_t left_pad /**< */, 9540 uint8_t depth /**< */, 9541 uint32_t data_len /**< */, 9542 const uint8_t *data /**< */); 9543 9544 int 9545 xcb_get_image_sizeof (const void *_buffer /**< */); 9546 9547 /** 9548 * 9549 * @param c The connection 9550 * @return A cookie 9551 * 9552 * Delivers a request to the X server. 9553 * 9554 */ 9555 xcb_get_image_cookie_t 9556 xcb_get_image (xcb_connection_t *c /**< */, 9557 uint8_t format /**< */, 9558 xcb_drawable_t drawable /**< */, 9559 int16_t x /**< */, 9560 int16_t y /**< */, 9561 uint16_t width /**< */, 9562 uint16_t height /**< */, 9563 uint32_t plane_mask /**< */); 9564 9565 /** 9566 * 9567 * @param c The connection 9568 * @return A cookie 9569 * 9570 * Delivers a request to the X server. 9571 * 9572 * This form can be used only if the request will cause 9573 * a reply to be generated. Any returned error will be 9574 * placed in the event queue. 9575 */ 9576 xcb_get_image_cookie_t 9577 xcb_get_image_unchecked (xcb_connection_t *c /**< */, 9578 uint8_t format /**< */, 9579 xcb_drawable_t drawable /**< */, 9580 int16_t x /**< */, 9581 int16_t y /**< */, 9582 uint16_t width /**< */, 9583 uint16_t height /**< */, 9584 uint32_t plane_mask /**< */); 9585 9586 uint8_t * 9587 xcb_get_image_data (const xcb_get_image_reply_t *R /**< */); 9588 9589 int 9590 xcb_get_image_data_length (const xcb_get_image_reply_t *R /**< */); 9591 9592 xcb_generic_iterator_t 9593 xcb_get_image_data_end (const xcb_get_image_reply_t *R /**< */); 9594 9595 /** 9596 * Return the reply 9597 * @param c The connection 9598 * @param cookie The cookie 9599 * @param e The xcb_generic_error_t supplied 9600 * 9601 * Returns the reply of the request asked by 9602 * 9603 * The parameter @p e supplied to this function must be NULL if 9604 * xcb_get_image_unchecked(). is used. 9605 * Otherwise, it stores the error if any. 9606 * 9607 * The returned value must be freed by the caller using free(). 9608 */ 9609 xcb_get_image_reply_t * 9610 xcb_get_image_reply (xcb_connection_t *c /**< */, 9611 xcb_get_image_cookie_t cookie /**< */, 9612 xcb_generic_error_t **e /**< */); 9613 9614 int 9615 xcb_poly_text_8_sizeof (const void *_buffer /**< */, 9616 uint32_t items_len /**< */); 9617 9618 /** 9619 * 9620 * @param c The connection 9621 * @return A cookie 9622 * 9623 * Delivers a request to the X server. 9624 * 9625 * This form can be used only if the request will not cause 9626 * a reply to be generated. Any returned error will be 9627 * saved for handling by xcb_request_check(). 9628 */ 9629 xcb_void_cookie_t 9630 xcb_poly_text_8_checked (xcb_connection_t *c /**< */, 9631 xcb_drawable_t drawable /**< */, 9632 xcb_gcontext_t gc /**< */, 9633 int16_t x /**< */, 9634 int16_t y /**< */, 9635 uint32_t items_len /**< */, 9636 const uint8_t *items /**< */); 9637 9638 /** 9639 * 9640 * @param c The connection 9641 * @return A cookie 9642 * 9643 * Delivers a request to the X server. 9644 * 9645 */ 9646 xcb_void_cookie_t 9647 xcb_poly_text_8 (xcb_connection_t *c /**< */, 9648 xcb_drawable_t drawable /**< */, 9649 xcb_gcontext_t gc /**< */, 9650 int16_t x /**< */, 9651 int16_t y /**< */, 9652 uint32_t items_len /**< */, 9653 const uint8_t *items /**< */); 9654 9655 int 9656 xcb_poly_text_16_sizeof (const void *_buffer /**< */, 9657 uint32_t items_len /**< */); 9658 9659 /** 9660 * 9661 * @param c The connection 9662 * @return A cookie 9663 * 9664 * Delivers a request to the X server. 9665 * 9666 * This form can be used only if the request will not cause 9667 * a reply to be generated. Any returned error will be 9668 * saved for handling by xcb_request_check(). 9669 */ 9670 xcb_void_cookie_t 9671 xcb_poly_text_16_checked (xcb_connection_t *c /**< */, 9672 xcb_drawable_t drawable /**< */, 9673 xcb_gcontext_t gc /**< */, 9674 int16_t x /**< */, 9675 int16_t y /**< */, 9676 uint32_t items_len /**< */, 9677 const uint8_t *items /**< */); 9678 9679 /** 9680 * 9681 * @param c The connection 9682 * @return A cookie 9683 * 9684 * Delivers a request to the X server. 9685 * 9686 */ 9687 xcb_void_cookie_t 9688 xcb_poly_text_16 (xcb_connection_t *c /**< */, 9689 xcb_drawable_t drawable /**< */, 9690 xcb_gcontext_t gc /**< */, 9691 int16_t x /**< */, 9692 int16_t y /**< */, 9693 uint32_t items_len /**< */, 9694 const uint8_t *items /**< */); 9695 9696 int 9697 xcb_image_text_8_sizeof (const void *_buffer /**< */); 9698 9699 /** 9700 * @brief Draws text 9701 * 9702 * @param c The connection 9703 * @param string_len The length of the \a string. Note that this parameter limited by 255 due to 9704 * using 8 bits! 9705 * @param drawable The drawable (Window or Pixmap) to draw text on. 9706 * @param gc The graphics context to use. 9707 * \n 9708 * The following graphics context components are used: plane-mask, foreground, 9709 * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. 9710 * @param x The x coordinate of the first character, relative to the origin of \a drawable. 9711 * @param y The y coordinate of the first character, relative to the origin of \a drawable. 9712 * @param string The string to draw. Only the first 255 characters are relevant due to the data 9713 * type of \a string_len. 9714 * @return A cookie 9715 * 9716 * Fills the destination rectangle with the background pixel from \a gc, then 9717 * paints the text with the foreground pixel from \a gc. The upper-left corner of 9718 * the filled rectangle is at [x, y - font-ascent]. The width is overall-width, 9719 * the height is font-ascent + font-descent. The overall-width, font-ascent and 9720 * font-descent are as returned by `xcb_query_text_extents` (TODO). 9721 * 9722 * Note that using X core fonts is deprecated (but still supported) in favor of 9723 * client-side rendering using Xft. 9724 * 9725 * This form can be used only if the request will not cause 9726 * a reply to be generated. Any returned error will be 9727 * saved for handling by xcb_request_check(). 9728 */ 9729 xcb_void_cookie_t 9730 xcb_image_text_8_checked (xcb_connection_t *c /**< */, 9731 uint8_t string_len /**< */, 9732 xcb_drawable_t drawable /**< */, 9733 xcb_gcontext_t gc /**< */, 9734 int16_t x /**< */, 9735 int16_t y /**< */, 9736 const char *string /**< */); 9737 9738 /** 9739 * @brief Draws text 9740 * 9741 * @param c The connection 9742 * @param string_len The length of the \a string. Note that this parameter limited by 255 due to 9743 * using 8 bits! 9744 * @param drawable The drawable (Window or Pixmap) to draw text on. 9745 * @param gc The graphics context to use. 9746 * \n 9747 * The following graphics context components are used: plane-mask, foreground, 9748 * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. 9749 * @param x The x coordinate of the first character, relative to the origin of \a drawable. 9750 * @param y The y coordinate of the first character, relative to the origin of \a drawable. 9751 * @param string The string to draw. Only the first 255 characters are relevant due to the data 9752 * type of \a string_len. 9753 * @return A cookie 9754 * 9755 * Fills the destination rectangle with the background pixel from \a gc, then 9756 * paints the text with the foreground pixel from \a gc. The upper-left corner of 9757 * the filled rectangle is at [x, y - font-ascent]. The width is overall-width, 9758 * the height is font-ascent + font-descent. The overall-width, font-ascent and 9759 * font-descent are as returned by `xcb_query_text_extents` (TODO). 9760 * 9761 * Note that using X core fonts is deprecated (but still supported) in favor of 9762 * client-side rendering using Xft. 9763 * 9764 */ 9765 xcb_void_cookie_t 9766 xcb_image_text_8 (xcb_connection_t *c /**< */, 9767 uint8_t string_len /**< */, 9768 xcb_drawable_t drawable /**< */, 9769 xcb_gcontext_t gc /**< */, 9770 int16_t x /**< */, 9771 int16_t y /**< */, 9772 const char *string /**< */); 9773 9774 int 9775 xcb_image_text_16_sizeof (const void *_buffer /**< */); 9776 9777 /** 9778 * @brief Draws text 9779 * 9780 * @param c The connection 9781 * @param string_len The length of the \a string in characters. Note that this parameter limited by 9782 * 255 due to using 8 bits! 9783 * @param drawable The drawable (Window or Pixmap) to draw text on. 9784 * @param gc The graphics context to use. 9785 * \n 9786 * The following graphics context components are used: plane-mask, foreground, 9787 * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. 9788 * @param x The x coordinate of the first character, relative to the origin of \a drawable. 9789 * @param y The y coordinate of the first character, relative to the origin of \a drawable. 9790 * @param string The string to draw. Only the first 255 characters are relevant due to the data 9791 * type of \a string_len. Every character uses 2 bytes (hence the 16 in this 9792 * request's name). 9793 * @return A cookie 9794 * 9795 * Fills the destination rectangle with the background pixel from \a gc, then 9796 * paints the text with the foreground pixel from \a gc. The upper-left corner of 9797 * the filled rectangle is at [x, y - font-ascent]. The width is overall-width, 9798 * the height is font-ascent + font-descent. The overall-width, font-ascent and 9799 * font-descent are as returned by `xcb_query_text_extents` (TODO). 9800 * 9801 * Note that using X core fonts is deprecated (but still supported) in favor of 9802 * client-side rendering using Xft. 9803 * 9804 * This form can be used only if the request will not cause 9805 * a reply to be generated. Any returned error will be 9806 * saved for handling by xcb_request_check(). 9807 */ 9808 xcb_void_cookie_t 9809 xcb_image_text_16_checked (xcb_connection_t *c /**< */, 9810 uint8_t string_len /**< */, 9811 xcb_drawable_t drawable /**< */, 9812 xcb_gcontext_t gc /**< */, 9813 int16_t x /**< */, 9814 int16_t y /**< */, 9815 const xcb_char2b_t *string /**< */); 9816 9817 /** 9818 * @brief Draws text 9819 * 9820 * @param c The connection 9821 * @param string_len The length of the \a string in characters. Note that this parameter limited by 9822 * 255 due to using 8 bits! 9823 * @param drawable The drawable (Window or Pixmap) to draw text on. 9824 * @param gc The graphics context to use. 9825 * \n 9826 * The following graphics context components are used: plane-mask, foreground, 9827 * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask. 9828 * @param x The x coordinate of the first character, relative to the origin of \a drawable. 9829 * @param y The y coordinate of the first character, relative to the origin of \a drawable. 9830 * @param string The string to draw. Only the first 255 characters are relevant due to the data 9831 * type of \a string_len. Every character uses 2 bytes (hence the 16 in this 9832 * request's name). 9833 * @return A cookie 9834 * 9835 * Fills the destination rectangle with the background pixel from \a gc, then 9836 * paints the text with the foreground pixel from \a gc. The upper-left corner of 9837 * the filled rectangle is at [x, y - font-ascent]. The width is overall-width, 9838 * the height is font-ascent + font-descent. The overall-width, font-ascent and 9839 * font-descent are as returned by `xcb_query_text_extents` (TODO). 9840 * 9841 * Note that using X core fonts is deprecated (but still supported) in favor of 9842 * client-side rendering using Xft. 9843 * 9844 */ 9845 xcb_void_cookie_t 9846 xcb_image_text_16 (xcb_connection_t *c /**< */, 9847 uint8_t string_len /**< */, 9848 xcb_drawable_t drawable /**< */, 9849 xcb_gcontext_t gc /**< */, 9850 int16_t x /**< */, 9851 int16_t y /**< */, 9852 const xcb_char2b_t *string /**< */); 9853 9854 /** 9855 * 9856 * @param c The connection 9857 * @return A cookie 9858 * 9859 * Delivers a request to the X server. 9860 * 9861 * This form can be used only if the request will not cause 9862 * a reply to be generated. Any returned error will be 9863 * saved for handling by xcb_request_check(). 9864 */ 9865 xcb_void_cookie_t 9866 xcb_create_colormap_checked (xcb_connection_t *c /**< */, 9867 uint8_t alloc /**< */, 9868 xcb_colormap_t mid /**< */, 9869 xcb_window_t window /**< */, 9870 xcb_visualid_t visual /**< */); 9871 9872 /** 9873 * 9874 * @param c The connection 9875 * @return A cookie 9876 * 9877 * Delivers a request to the X server. 9878 * 9879 */ 9880 xcb_void_cookie_t 9881 xcb_create_colormap (xcb_connection_t *c /**< */, 9882 uint8_t alloc /**< */, 9883 xcb_colormap_t mid /**< */, 9884 xcb_window_t window /**< */, 9885 xcb_visualid_t visual /**< */); 9886 9887 /** 9888 * 9889 * @param c The connection 9890 * @return A cookie 9891 * 9892 * Delivers a request to the X server. 9893 * 9894 * This form can be used only if the request will not cause 9895 * a reply to be generated. Any returned error will be 9896 * saved for handling by xcb_request_check(). 9897 */ 9898 xcb_void_cookie_t 9899 xcb_free_colormap_checked (xcb_connection_t *c /**< */, 9900 xcb_colormap_t cmap /**< */); 9901 9902 /** 9903 * 9904 * @param c The connection 9905 * @return A cookie 9906 * 9907 * Delivers a request to the X server. 9908 * 9909 */ 9910 xcb_void_cookie_t 9911 xcb_free_colormap (xcb_connection_t *c /**< */, 9912 xcb_colormap_t cmap /**< */); 9913 9914 /** 9915 * 9916 * @param c The connection 9917 * @return A cookie 9918 * 9919 * Delivers a request to the X server. 9920 * 9921 * This form can be used only if the request will not cause 9922 * a reply to be generated. Any returned error will be 9923 * saved for handling by xcb_request_check(). 9924 */ 9925 xcb_void_cookie_t 9926 xcb_copy_colormap_and_free_checked (xcb_connection_t *c /**< */, 9927 xcb_colormap_t mid /**< */, 9928 xcb_colormap_t src_cmap /**< */); 9929 9930 /** 9931 * 9932 * @param c The connection 9933 * @return A cookie 9934 * 9935 * Delivers a request to the X server. 9936 * 9937 */ 9938 xcb_void_cookie_t 9939 xcb_copy_colormap_and_free (xcb_connection_t *c /**< */, 9940 xcb_colormap_t mid /**< */, 9941 xcb_colormap_t src_cmap /**< */); 9942 9943 /** 9944 * 9945 * @param c The connection 9946 * @return A cookie 9947 * 9948 * Delivers a request to the X server. 9949 * 9950 * This form can be used only if the request will not cause 9951 * a reply to be generated. Any returned error will be 9952 * saved for handling by xcb_request_check(). 9953 */ 9954 xcb_void_cookie_t 9955 xcb_install_colormap_checked (xcb_connection_t *c /**< */, 9956 xcb_colormap_t cmap /**< */); 9957 9958 /** 9959 * 9960 * @param c The connection 9961 * @return A cookie 9962 * 9963 * Delivers a request to the X server. 9964 * 9965 */ 9966 xcb_void_cookie_t 9967 xcb_install_colormap (xcb_connection_t *c /**< */, 9968 xcb_colormap_t cmap /**< */); 9969 9970 /** 9971 * 9972 * @param c The connection 9973 * @return A cookie 9974 * 9975 * Delivers a request to the X server. 9976 * 9977 * This form can be used only if the request will not cause 9978 * a reply to be generated. Any returned error will be 9979 * saved for handling by xcb_request_check(). 9980 */ 9981 xcb_void_cookie_t 9982 xcb_uninstall_colormap_checked (xcb_connection_t *c /**< */, 9983 xcb_colormap_t cmap /**< */); 9984 9985 /** 9986 * 9987 * @param c The connection 9988 * @return A cookie 9989 * 9990 * Delivers a request to the X server. 9991 * 9992 */ 9993 xcb_void_cookie_t 9994 xcb_uninstall_colormap (xcb_connection_t *c /**< */, 9995 xcb_colormap_t cmap /**< */); 9996 9997 int 9998 xcb_list_installed_colormaps_sizeof (const void *_buffer /**< */); 9999 10000 /** 10001 * 10002 * @param c The connection 10003 * @return A cookie 10004 * 10005 * Delivers a request to the X server. 10006 * 10007 */ 10008 xcb_list_installed_colormaps_cookie_t 10009 xcb_list_installed_colormaps (xcb_connection_t *c /**< */, 10010 xcb_window_t window /**< */); 10011 10012 /** 10013 * 10014 * @param c The connection 10015 * @return A cookie 10016 * 10017 * Delivers a request to the X server. 10018 * 10019 * This form can be used only if the request will cause 10020 * a reply to be generated. Any returned error will be 10021 * placed in the event queue. 10022 */ 10023 xcb_list_installed_colormaps_cookie_t 10024 xcb_list_installed_colormaps_unchecked (xcb_connection_t *c /**< */, 10025 xcb_window_t window /**< */); 10026 10027 xcb_colormap_t * 10028 xcb_list_installed_colormaps_cmaps (const xcb_list_installed_colormaps_reply_t *R /**< */); 10029 10030 int 10031 xcb_list_installed_colormaps_cmaps_length (const xcb_list_installed_colormaps_reply_t *R /**< */); 10032 10033 xcb_generic_iterator_t 10034 xcb_list_installed_colormaps_cmaps_end (const xcb_list_installed_colormaps_reply_t *R /**< */); 10035 10036 /** 10037 * Return the reply 10038 * @param c The connection 10039 * @param cookie The cookie 10040 * @param e The xcb_generic_error_t supplied 10041 * 10042 * Returns the reply of the request asked by 10043 * 10044 * The parameter @p e supplied to this function must be NULL if 10045 * xcb_list_installed_colormaps_unchecked(). is used. 10046 * Otherwise, it stores the error if any. 10047 * 10048 * The returned value must be freed by the caller using free(). 10049 */ 10050 xcb_list_installed_colormaps_reply_t * 10051 xcb_list_installed_colormaps_reply (xcb_connection_t *c /**< */, 10052 xcb_list_installed_colormaps_cookie_t cookie /**< */, 10053 xcb_generic_error_t **e /**< */); 10054 10055 /** 10056 * @brief Allocate a color 10057 * 10058 * @param c The connection 10059 * @param cmap TODO 10060 * @param red The red value of your color. 10061 * @param green The green value of your color. 10062 * @param blue The blue value of your color. 10063 * @return A cookie 10064 * 10065 * Allocates a read-only colormap entry corresponding to the closest RGB value 10066 * supported by the hardware. If you are using TrueColor, you can take a shortcut 10067 * and directly calculate the color pixel value to avoid the round trip. But, for 10068 * example, on 16-bit color setups (VNC), you can easily get the closest supported 10069 * RGB value to the RGB value you are specifying. 10070 * 10071 */ 10072 xcb_alloc_color_cookie_t 10073 xcb_alloc_color (xcb_connection_t *c /**< */, 10074 xcb_colormap_t cmap /**< */, 10075 uint16_t red /**< */, 10076 uint16_t green /**< */, 10077 uint16_t blue /**< */); 10078 10079 /** 10080 * @brief Allocate a color 10081 * 10082 * @param c The connection 10083 * @param cmap TODO 10084 * @param red The red value of your color. 10085 * @param green The green value of your color. 10086 * @param blue The blue value of your color. 10087 * @return A cookie 10088 * 10089 * Allocates a read-only colormap entry corresponding to the closest RGB value 10090 * supported by the hardware. If you are using TrueColor, you can take a shortcut 10091 * and directly calculate the color pixel value to avoid the round trip. But, for 10092 * example, on 16-bit color setups (VNC), you can easily get the closest supported 10093 * RGB value to the RGB value you are specifying. 10094 * 10095 * This form can be used only if the request will cause 10096 * a reply to be generated. Any returned error will be 10097 * placed in the event queue. 10098 */ 10099 xcb_alloc_color_cookie_t 10100 xcb_alloc_color_unchecked (xcb_connection_t *c /**< */, 10101 xcb_colormap_t cmap /**< */, 10102 uint16_t red /**< */, 10103 uint16_t green /**< */, 10104 uint16_t blue /**< */); 10105 10106 /** 10107 * Return the reply 10108 * @param c The connection 10109 * @param cookie The cookie 10110 * @param e The xcb_generic_error_t supplied 10111 * 10112 * Returns the reply of the request asked by 10113 * 10114 * The parameter @p e supplied to this function must be NULL if 10115 * xcb_alloc_color_unchecked(). is used. 10116 * Otherwise, it stores the error if any. 10117 * 10118 * The returned value must be freed by the caller using free(). 10119 */ 10120 xcb_alloc_color_reply_t * 10121 xcb_alloc_color_reply (xcb_connection_t *c /**< */, 10122 xcb_alloc_color_cookie_t cookie /**< */, 10123 xcb_generic_error_t **e /**< */); 10124 10125 int 10126 xcb_alloc_named_color_sizeof (const void *_buffer /**< */); 10127 10128 /** 10129 * 10130 * @param c The connection 10131 * @return A cookie 10132 * 10133 * Delivers a request to the X server. 10134 * 10135 */ 10136 xcb_alloc_named_color_cookie_t 10137 xcb_alloc_named_color (xcb_connection_t *c /**< */, 10138 xcb_colormap_t cmap /**< */, 10139 uint16_t name_len /**< */, 10140 const char *name /**< */); 10141 10142 /** 10143 * 10144 * @param c The connection 10145 * @return A cookie 10146 * 10147 * Delivers a request to the X server. 10148 * 10149 * This form can be used only if the request will cause 10150 * a reply to be generated. Any returned error will be 10151 * placed in the event queue. 10152 */ 10153 xcb_alloc_named_color_cookie_t 10154 xcb_alloc_named_color_unchecked (xcb_connection_t *c /**< */, 10155 xcb_colormap_t cmap /**< */, 10156 uint16_t name_len /**< */, 10157 const char *name /**< */); 10158 10159 /** 10160 * Return the reply 10161 * @param c The connection 10162 * @param cookie The cookie 10163 * @param e The xcb_generic_error_t supplied 10164 * 10165 * Returns the reply of the request asked by 10166 * 10167 * The parameter @p e supplied to this function must be NULL if 10168 * xcb_alloc_named_color_unchecked(). is used. 10169 * Otherwise, it stores the error if any. 10170 * 10171 * The returned value must be freed by the caller using free(). 10172 */ 10173 xcb_alloc_named_color_reply_t * 10174 xcb_alloc_named_color_reply (xcb_connection_t *c /**< */, 10175 xcb_alloc_named_color_cookie_t cookie /**< */, 10176 xcb_generic_error_t **e /**< */); 10177 10178 int 10179 xcb_alloc_color_cells_sizeof (const void *_buffer /**< */); 10180 10181 /** 10182 * 10183 * @param c The connection 10184 * @return A cookie 10185 * 10186 * Delivers a request to the X server. 10187 * 10188 */ 10189 xcb_alloc_color_cells_cookie_t 10190 xcb_alloc_color_cells (xcb_connection_t *c /**< */, 10191 uint8_t contiguous /**< */, 10192 xcb_colormap_t cmap /**< */, 10193 uint16_t colors /**< */, 10194 uint16_t planes /**< */); 10195 10196 /** 10197 * 10198 * @param c The connection 10199 * @return A cookie 10200 * 10201 * Delivers a request to the X server. 10202 * 10203 * This form can be used only if the request will cause 10204 * a reply to be generated. Any returned error will be 10205 * placed in the event queue. 10206 */ 10207 xcb_alloc_color_cells_cookie_t 10208 xcb_alloc_color_cells_unchecked (xcb_connection_t *c /**< */, 10209 uint8_t contiguous /**< */, 10210 xcb_colormap_t cmap /**< */, 10211 uint16_t colors /**< */, 10212 uint16_t planes /**< */); 10213 10214 uint32_t * 10215 xcb_alloc_color_cells_pixels (const xcb_alloc_color_cells_reply_t *R /**< */); 10216 10217 int 10218 xcb_alloc_color_cells_pixels_length (const xcb_alloc_color_cells_reply_t *R /**< */); 10219 10220 xcb_generic_iterator_t 10221 xcb_alloc_color_cells_pixels_end (const xcb_alloc_color_cells_reply_t *R /**< */); 10222 10223 uint32_t * 10224 xcb_alloc_color_cells_masks (const xcb_alloc_color_cells_reply_t *R /**< */); 10225 10226 int 10227 xcb_alloc_color_cells_masks_length (const xcb_alloc_color_cells_reply_t *R /**< */); 10228 10229 xcb_generic_iterator_t 10230 xcb_alloc_color_cells_masks_end (const xcb_alloc_color_cells_reply_t *R /**< */); 10231 10232 /** 10233 * Return the reply 10234 * @param c The connection 10235 * @param cookie The cookie 10236 * @param e The xcb_generic_error_t supplied 10237 * 10238 * Returns the reply of the request asked by 10239 * 10240 * The parameter @p e supplied to this function must be NULL if 10241 * xcb_alloc_color_cells_unchecked(). is used. 10242 * Otherwise, it stores the error if any. 10243 * 10244 * The returned value must be freed by the caller using free(). 10245 */ 10246 xcb_alloc_color_cells_reply_t * 10247 xcb_alloc_color_cells_reply (xcb_connection_t *c /**< */, 10248 xcb_alloc_color_cells_cookie_t cookie /**< */, 10249 xcb_generic_error_t **e /**< */); 10250 10251 int 10252 xcb_alloc_color_planes_sizeof (const void *_buffer /**< */); 10253 10254 /** 10255 * 10256 * @param c The connection 10257 * @return A cookie 10258 * 10259 * Delivers a request to the X server. 10260 * 10261 */ 10262 xcb_alloc_color_planes_cookie_t 10263 xcb_alloc_color_planes (xcb_connection_t *c /**< */, 10264 uint8_t contiguous /**< */, 10265 xcb_colormap_t cmap /**< */, 10266 uint16_t colors /**< */, 10267 uint16_t reds /**< */, 10268 uint16_t greens /**< */, 10269 uint16_t blues /**< */); 10270 10271 /** 10272 * 10273 * @param c The connection 10274 * @return A cookie 10275 * 10276 * Delivers a request to the X server. 10277 * 10278 * This form can be used only if the request will cause 10279 * a reply to be generated. Any returned error will be 10280 * placed in the event queue. 10281 */ 10282 xcb_alloc_color_planes_cookie_t 10283 xcb_alloc_color_planes_unchecked (xcb_connection_t *c /**< */, 10284 uint8_t contiguous /**< */, 10285 xcb_colormap_t cmap /**< */, 10286 uint16_t colors /**< */, 10287 uint16_t reds /**< */, 10288 uint16_t greens /**< */, 10289 uint16_t blues /**< */); 10290 10291 uint32_t * 10292 xcb_alloc_color_planes_pixels (const xcb_alloc_color_planes_reply_t *R /**< */); 10293 10294 int 10295 xcb_alloc_color_planes_pixels_length (const xcb_alloc_color_planes_reply_t *R /**< */); 10296 10297 xcb_generic_iterator_t 10298 xcb_alloc_color_planes_pixels_end (const xcb_alloc_color_planes_reply_t *R /**< */); 10299 10300 /** 10301 * Return the reply 10302 * @param c The connection 10303 * @param cookie The cookie 10304 * @param e The xcb_generic_error_t supplied 10305 * 10306 * Returns the reply of the request asked by 10307 * 10308 * The parameter @p e supplied to this function must be NULL if 10309 * xcb_alloc_color_planes_unchecked(). is used. 10310 * Otherwise, it stores the error if any. 10311 * 10312 * The returned value must be freed by the caller using free(). 10313 */ 10314 xcb_alloc_color_planes_reply_t * 10315 xcb_alloc_color_planes_reply (xcb_connection_t *c /**< */, 10316 xcb_alloc_color_planes_cookie_t cookie /**< */, 10317 xcb_generic_error_t **e /**< */); 10318 10319 int 10320 xcb_free_colors_sizeof (const void *_buffer /**< */, 10321 uint32_t pixels_len /**< */); 10322 10323 /** 10324 * 10325 * @param c The connection 10326 * @return A cookie 10327 * 10328 * Delivers a request to the X server. 10329 * 10330 * This form can be used only if the request will not cause 10331 * a reply to be generated. Any returned error will be 10332 * saved for handling by xcb_request_check(). 10333 */ 10334 xcb_void_cookie_t 10335 xcb_free_colors_checked (xcb_connection_t *c /**< */, 10336 xcb_colormap_t cmap /**< */, 10337 uint32_t plane_mask /**< */, 10338 uint32_t pixels_len /**< */, 10339 const uint32_t *pixels /**< */); 10340 10341 /** 10342 * 10343 * @param c The connection 10344 * @return A cookie 10345 * 10346 * Delivers a request to the X server. 10347 * 10348 */ 10349 xcb_void_cookie_t 10350 xcb_free_colors (xcb_connection_t *c /**< */, 10351 xcb_colormap_t cmap /**< */, 10352 uint32_t plane_mask /**< */, 10353 uint32_t pixels_len /**< */, 10354 const uint32_t *pixels /**< */); 10355 10356 /** 10357 * Get the next element of the iterator 10358 * @param i Pointer to a xcb_coloritem_iterator_t 10359 * 10360 * Get the next element in the iterator. The member rem is 10361 * decreased by one. The member data points to the next 10362 * element. The member index is increased by sizeof(xcb_coloritem_t) 10363 */ 10364 void 10365 xcb_coloritem_next (xcb_coloritem_iterator_t *i /**< */); 10366 10367 /** 10368 * Return the iterator pointing to the last element 10369 * @param i An xcb_coloritem_iterator_t 10370 * @return The iterator pointing to the last element 10371 * 10372 * Set the current element in the iterator to the last element. 10373 * The member rem is set to 0. The member data points to the 10374 * last element. 10375 */ 10376 xcb_generic_iterator_t 10377 xcb_coloritem_end (xcb_coloritem_iterator_t i /**< */); 10378 10379 int 10380 xcb_store_colors_sizeof (const void *_buffer /**< */, 10381 uint32_t items_len /**< */); 10382 10383 /** 10384 * 10385 * @param c The connection 10386 * @return A cookie 10387 * 10388 * Delivers a request to the X server. 10389 * 10390 * This form can be used only if the request will not cause 10391 * a reply to be generated. Any returned error will be 10392 * saved for handling by xcb_request_check(). 10393 */ 10394 xcb_void_cookie_t 10395 xcb_store_colors_checked (xcb_connection_t *c /**< */, 10396 xcb_colormap_t cmap /**< */, 10397 uint32_t items_len /**< */, 10398 const xcb_coloritem_t *items /**< */); 10399 10400 /** 10401 * 10402 * @param c The connection 10403 * @return A cookie 10404 * 10405 * Delivers a request to the X server. 10406 * 10407 */ 10408 xcb_void_cookie_t 10409 xcb_store_colors (xcb_connection_t *c /**< */, 10410 xcb_colormap_t cmap /**< */, 10411 uint32_t items_len /**< */, 10412 const xcb_coloritem_t *items /**< */); 10413 10414 int 10415 xcb_store_named_color_sizeof (const void *_buffer /**< */); 10416 10417 /** 10418 * 10419 * @param c The connection 10420 * @return A cookie 10421 * 10422 * Delivers a request to the X server. 10423 * 10424 * This form can be used only if the request will not cause 10425 * a reply to be generated. Any returned error will be 10426 * saved for handling by xcb_request_check(). 10427 */ 10428 xcb_void_cookie_t 10429 xcb_store_named_color_checked (xcb_connection_t *c /**< */, 10430 uint8_t flags /**< */, 10431 xcb_colormap_t cmap /**< */, 10432 uint32_t pixel /**< */, 10433 uint16_t name_len /**< */, 10434 const char *name /**< */); 10435 10436 /** 10437 * 10438 * @param c The connection 10439 * @return A cookie 10440 * 10441 * Delivers a request to the X server. 10442 * 10443 */ 10444 xcb_void_cookie_t 10445 xcb_store_named_color (xcb_connection_t *c /**< */, 10446 uint8_t flags /**< */, 10447 xcb_colormap_t cmap /**< */, 10448 uint32_t pixel /**< */, 10449 uint16_t name_len /**< */, 10450 const char *name /**< */); 10451 10452 /** 10453 * Get the next element of the iterator 10454 * @param i Pointer to a xcb_rgb_iterator_t 10455 * 10456 * Get the next element in the iterator. The member rem is 10457 * decreased by one. The member data points to the next 10458 * element. The member index is increased by sizeof(xcb_rgb_t) 10459 */ 10460 void 10461 xcb_rgb_next (xcb_rgb_iterator_t *i /**< */); 10462 10463 /** 10464 * Return the iterator pointing to the last element 10465 * @param i An xcb_rgb_iterator_t 10466 * @return The iterator pointing to the last element 10467 * 10468 * Set the current element in the iterator to the last element. 10469 * The member rem is set to 0. The member data points to the 10470 * last element. 10471 */ 10472 xcb_generic_iterator_t 10473 xcb_rgb_end (xcb_rgb_iterator_t i /**< */); 10474 10475 int 10476 xcb_query_colors_sizeof (const void *_buffer /**< */, 10477 uint32_t pixels_len /**< */); 10478 10479 /** 10480 * 10481 * @param c The connection 10482 * @return A cookie 10483 * 10484 * Delivers a request to the X server. 10485 * 10486 */ 10487 xcb_query_colors_cookie_t 10488 xcb_query_colors (xcb_connection_t *c /**< */, 10489 xcb_colormap_t cmap /**< */, 10490 uint32_t pixels_len /**< */, 10491 const uint32_t *pixels /**< */); 10492 10493 /** 10494 * 10495 * @param c The connection 10496 * @return A cookie 10497 * 10498 * Delivers a request to the X server. 10499 * 10500 * This form can be used only if the request will cause 10501 * a reply to be generated. Any returned error will be 10502 * placed in the event queue. 10503 */ 10504 xcb_query_colors_cookie_t 10505 xcb_query_colors_unchecked (xcb_connection_t *c /**< */, 10506 xcb_colormap_t cmap /**< */, 10507 uint32_t pixels_len /**< */, 10508 const uint32_t *pixels /**< */); 10509 10510 xcb_rgb_t * 10511 xcb_query_colors_colors (const xcb_query_colors_reply_t *R /**< */); 10512 10513 int 10514 xcb_query_colors_colors_length (const xcb_query_colors_reply_t *R /**< */); 10515 10516 xcb_rgb_iterator_t 10517 xcb_query_colors_colors_iterator (const xcb_query_colors_reply_t *R /**< */); 10518 10519 /** 10520 * Return the reply 10521 * @param c The connection 10522 * @param cookie The cookie 10523 * @param e The xcb_generic_error_t supplied 10524 * 10525 * Returns the reply of the request asked by 10526 * 10527 * The parameter @p e supplied to this function must be NULL if 10528 * xcb_query_colors_unchecked(). is used. 10529 * Otherwise, it stores the error if any. 10530 * 10531 * The returned value must be freed by the caller using free(). 10532 */ 10533 xcb_query_colors_reply_t * 10534 xcb_query_colors_reply (xcb_connection_t *c /**< */, 10535 xcb_query_colors_cookie_t cookie /**< */, 10536 xcb_generic_error_t **e /**< */); 10537 10538 int 10539 xcb_lookup_color_sizeof (const void *_buffer /**< */); 10540 10541 /** 10542 * 10543 * @param c The connection 10544 * @return A cookie 10545 * 10546 * Delivers a request to the X server. 10547 * 10548 */ 10549 xcb_lookup_color_cookie_t 10550 xcb_lookup_color (xcb_connection_t *c /**< */, 10551 xcb_colormap_t cmap /**< */, 10552 uint16_t name_len /**< */, 10553 const char *name /**< */); 10554 10555 /** 10556 * 10557 * @param c The connection 10558 * @return A cookie 10559 * 10560 * Delivers a request to the X server. 10561 * 10562 * This form can be used only if the request will cause 10563 * a reply to be generated. Any returned error will be 10564 * placed in the event queue. 10565 */ 10566 xcb_lookup_color_cookie_t 10567 xcb_lookup_color_unchecked (xcb_connection_t *c /**< */, 10568 xcb_colormap_t cmap /**< */, 10569 uint16_t name_len /**< */, 10570 const char *name /**< */); 10571 10572 /** 10573 * Return the reply 10574 * @param c The connection 10575 * @param cookie The cookie 10576 * @param e The xcb_generic_error_t supplied 10577 * 10578 * Returns the reply of the request asked by 10579 * 10580 * The parameter @p e supplied to this function must be NULL if 10581 * xcb_lookup_color_unchecked(). is used. 10582 * Otherwise, it stores the error if any. 10583 * 10584 * The returned value must be freed by the caller using free(). 10585 */ 10586 xcb_lookup_color_reply_t * 10587 xcb_lookup_color_reply (xcb_connection_t *c /**< */, 10588 xcb_lookup_color_cookie_t cookie /**< */, 10589 xcb_generic_error_t **e /**< */); 10590 10591 /** 10592 * 10593 * @param c The connection 10594 * @return A cookie 10595 * 10596 * Delivers a request to the X server. 10597 * 10598 * This form can be used only if the request will not cause 10599 * a reply to be generated. Any returned error will be 10600 * saved for handling by xcb_request_check(). 10601 */ 10602 xcb_void_cookie_t 10603 xcb_create_cursor_checked (xcb_connection_t *c /**< */, 10604 xcb_cursor_t cid /**< */, 10605 xcb_pixmap_t source /**< */, 10606 xcb_pixmap_t mask /**< */, 10607 uint16_t fore_red /**< */, 10608 uint16_t fore_green /**< */, 10609 uint16_t fore_blue /**< */, 10610 uint16_t back_red /**< */, 10611 uint16_t back_green /**< */, 10612 uint16_t back_blue /**< */, 10613 uint16_t x /**< */, 10614 uint16_t y /**< */); 10615 10616 /** 10617 * 10618 * @param c The connection 10619 * @return A cookie 10620 * 10621 * Delivers a request to the X server. 10622 * 10623 */ 10624 xcb_void_cookie_t 10625 xcb_create_cursor (xcb_connection_t *c /**< */, 10626 xcb_cursor_t cid /**< */, 10627 xcb_pixmap_t source /**< */, 10628 xcb_pixmap_t mask /**< */, 10629 uint16_t fore_red /**< */, 10630 uint16_t fore_green /**< */, 10631 uint16_t fore_blue /**< */, 10632 uint16_t back_red /**< */, 10633 uint16_t back_green /**< */, 10634 uint16_t back_blue /**< */, 10635 uint16_t x /**< */, 10636 uint16_t y /**< */); 10637 10638 /** 10639 * @brief create cursor 10640 * 10641 * @param c The connection 10642 * @param cid The ID with which you will refer to the cursor, created by `xcb_generate_id`. 10643 * @param source_font In which font to look for the cursor glyph. 10644 * @param mask_font In which font to look for the mask glyph. 10645 * @param source_char The glyph of \a source_font to use. 10646 * @param mask_char The glyph of \a mask_font to use as a mask: Pixels which are set to 1 define 10647 * which source pixels are displayed. All pixels which are set to 0 are not 10648 * displayed. 10649 * @param fore_red The red value of the foreground color. 10650 * @param fore_green The green value of the foreground color. 10651 * @param fore_blue The blue value of the foreground color. 10652 * @param back_red The red value of the background color. 10653 * @param back_green The green value of the background color. 10654 * @param back_blue The blue value of the background color. 10655 * @return A cookie 10656 * 10657 * Creates a cursor from a font glyph. X provides a set of standard cursor shapes 10658 * in a special font named cursor. Applications are encouraged to use this 10659 * interface for their cursors because the font can be customized for the 10660 * individual display type. 10661 * 10662 * All pixels which are set to 1 in the source will use the foreground color (as 10663 * specified by \a fore_red, \a fore_green and \a fore_blue). All pixels set to 0 10664 * will use the background color (as specified by \a back_red, \a back_green and 10665 * \a back_blue). 10666 * 10667 * This form can be used only if the request will not cause 10668 * a reply to be generated. Any returned error will be 10669 * saved for handling by xcb_request_check(). 10670 */ 10671 xcb_void_cookie_t 10672 xcb_create_glyph_cursor_checked (xcb_connection_t *c /**< */, 10673 xcb_cursor_t cid /**< */, 10674 xcb_font_t source_font /**< */, 10675 xcb_font_t mask_font /**< */, 10676 uint16_t source_char /**< */, 10677 uint16_t mask_char /**< */, 10678 uint16_t fore_red /**< */, 10679 uint16_t fore_green /**< */, 10680 uint16_t fore_blue /**< */, 10681 uint16_t back_red /**< */, 10682 uint16_t back_green /**< */, 10683 uint16_t back_blue /**< */); 10684 10685 /** 10686 * @brief create cursor 10687 * 10688 * @param c The connection 10689 * @param cid The ID with which you will refer to the cursor, created by `xcb_generate_id`. 10690 * @param source_font In which font to look for the cursor glyph. 10691 * @param mask_font In which font to look for the mask glyph. 10692 * @param source_char The glyph of \a source_font to use. 10693 * @param mask_char The glyph of \a mask_font to use as a mask: Pixels which are set to 1 define 10694 * which source pixels are displayed. All pixels which are set to 0 are not 10695 * displayed. 10696 * @param fore_red The red value of the foreground color. 10697 * @param fore_green The green value of the foreground color. 10698 * @param fore_blue The blue value of the foreground color. 10699 * @param back_red The red value of the background color. 10700 * @param back_green The green value of the background color. 10701 * @param back_blue The blue value of the background color. 10702 * @return A cookie 10703 * 10704 * Creates a cursor from a font glyph. X provides a set of standard cursor shapes 10705 * in a special font named cursor. Applications are encouraged to use this 10706 * interface for their cursors because the font can be customized for the 10707 * individual display type. 10708 * 10709 * All pixels which are set to 1 in the source will use the foreground color (as 10710 * specified by \a fore_red, \a fore_green and \a fore_blue). All pixels set to 0 10711 * will use the background color (as specified by \a back_red, \a back_green and 10712 * \a back_blue). 10713 * 10714 */ 10715 xcb_void_cookie_t 10716 xcb_create_glyph_cursor (xcb_connection_t *c /**< */, 10717 xcb_cursor_t cid /**< */, 10718 xcb_font_t source_font /**< */, 10719 xcb_font_t mask_font /**< */, 10720 uint16_t source_char /**< */, 10721 uint16_t mask_char /**< */, 10722 uint16_t fore_red /**< */, 10723 uint16_t fore_green /**< */, 10724 uint16_t fore_blue /**< */, 10725 uint16_t back_red /**< */, 10726 uint16_t back_green /**< */, 10727 uint16_t back_blue /**< */); 10728 10729 /** 10730 * @brief Deletes a cursor 10731 * 10732 * @param c The connection 10733 * @param cursor The cursor to destroy. 10734 * @return A cookie 10735 * 10736 * Deletes the association between the cursor resource ID and the specified 10737 * cursor. The cursor is freed when no other resource references it. 10738 * 10739 * This form can be used only if the request will not cause 10740 * a reply to be generated. Any returned error will be 10741 * saved for handling by xcb_request_check(). 10742 */ 10743 xcb_void_cookie_t 10744 xcb_free_cursor_checked (xcb_connection_t *c /**< */, 10745 xcb_cursor_t cursor /**< */); 10746 10747 /** 10748 * @brief Deletes a cursor 10749 * 10750 * @param c The connection 10751 * @param cursor The cursor to destroy. 10752 * @return A cookie 10753 * 10754 * Deletes the association between the cursor resource ID and the specified 10755 * cursor. The cursor is freed when no other resource references it. 10756 * 10757 */ 10758 xcb_void_cookie_t 10759 xcb_free_cursor (xcb_connection_t *c /**< */, 10760 xcb_cursor_t cursor /**< */); 10761 10762 /** 10763 * 10764 * @param c The connection 10765 * @return A cookie 10766 * 10767 * Delivers a request to the X server. 10768 * 10769 * This form can be used only if the request will not cause 10770 * a reply to be generated. Any returned error will be 10771 * saved for handling by xcb_request_check(). 10772 */ 10773 xcb_void_cookie_t 10774 xcb_recolor_cursor_checked (xcb_connection_t *c /**< */, 10775 xcb_cursor_t cursor /**< */, 10776 uint16_t fore_red /**< */, 10777 uint16_t fore_green /**< */, 10778 uint16_t fore_blue /**< */, 10779 uint16_t back_red /**< */, 10780 uint16_t back_green /**< */, 10781 uint16_t back_blue /**< */); 10782 10783 /** 10784 * 10785 * @param c The connection 10786 * @return A cookie 10787 * 10788 * Delivers a request to the X server. 10789 * 10790 */ 10791 xcb_void_cookie_t 10792 xcb_recolor_cursor (xcb_connection_t *c /**< */, 10793 xcb_cursor_t cursor /**< */, 10794 uint16_t fore_red /**< */, 10795 uint16_t fore_green /**< */, 10796 uint16_t fore_blue /**< */, 10797 uint16_t back_red /**< */, 10798 uint16_t back_green /**< */, 10799 uint16_t back_blue /**< */); 10800 10801 /** 10802 * 10803 * @param c The connection 10804 * @return A cookie 10805 * 10806 * Delivers a request to the X server. 10807 * 10808 */ 10809 xcb_query_best_size_cookie_t 10810 xcb_query_best_size (xcb_connection_t *c /**< */, 10811 uint8_t _class /**< */, 10812 xcb_drawable_t drawable /**< */, 10813 uint16_t width /**< */, 10814 uint16_t height /**< */); 10815 10816 /** 10817 * 10818 * @param c The connection 10819 * @return A cookie 10820 * 10821 * Delivers a request to the X server. 10822 * 10823 * This form can be used only if the request will cause 10824 * a reply to be generated. Any returned error will be 10825 * placed in the event queue. 10826 */ 10827 xcb_query_best_size_cookie_t 10828 xcb_query_best_size_unchecked (xcb_connection_t *c /**< */, 10829 uint8_t _class /**< */, 10830 xcb_drawable_t drawable /**< */, 10831 uint16_t width /**< */, 10832 uint16_t height /**< */); 10833 10834 /** 10835 * Return the reply 10836 * @param c The connection 10837 * @param cookie The cookie 10838 * @param e The xcb_generic_error_t supplied 10839 * 10840 * Returns the reply of the request asked by 10841 * 10842 * The parameter @p e supplied to this function must be NULL if 10843 * xcb_query_best_size_unchecked(). is used. 10844 * Otherwise, it stores the error if any. 10845 * 10846 * The returned value must be freed by the caller using free(). 10847 */ 10848 xcb_query_best_size_reply_t * 10849 xcb_query_best_size_reply (xcb_connection_t *c /**< */, 10850 xcb_query_best_size_cookie_t cookie /**< */, 10851 xcb_generic_error_t **e /**< */); 10852 10853 int 10854 xcb_query_extension_sizeof (const void *_buffer /**< */); 10855 10856 /** 10857 * @brief check if extension is present 10858 * 10859 * @param c The connection 10860 * @param name_len The length of \a name in bytes. 10861 * @param name The name of the extension to query, for example "RANDR". This is case 10862 * sensitive! 10863 * @return A cookie 10864 * 10865 * Determines if the specified extension is present on this X11 server. 10866 * 10867 * Every extension has a unique `major_opcode` to identify requests, the minor 10868 * opcodes and request formats are extension-specific. If the extension provides 10869 * events and errors, the `first_event` and `first_error` fields in the reply are 10870 * set accordingly. 10871 * 10872 * There should rarely be a need to use this request directly, XCB provides the 10873 * `xcb_get_extension_data` function instead. 10874 * 10875 */ 10876 xcb_query_extension_cookie_t 10877 xcb_query_extension (xcb_connection_t *c /**< */, 10878 uint16_t name_len /**< */, 10879 const char *name /**< */); 10880 10881 /** 10882 * @brief check if extension is present 10883 * 10884 * @param c The connection 10885 * @param name_len The length of \a name in bytes. 10886 * @param name The name of the extension to query, for example "RANDR". This is case 10887 * sensitive! 10888 * @return A cookie 10889 * 10890 * Determines if the specified extension is present on this X11 server. 10891 * 10892 * Every extension has a unique `major_opcode` to identify requests, the minor 10893 * opcodes and request formats are extension-specific. If the extension provides 10894 * events and errors, the `first_event` and `first_error` fields in the reply are 10895 * set accordingly. 10896 * 10897 * There should rarely be a need to use this request directly, XCB provides the 10898 * `xcb_get_extension_data` function instead. 10899 * 10900 * This form can be used only if the request will cause 10901 * a reply to be generated. Any returned error will be 10902 * placed in the event queue. 10903 */ 10904 xcb_query_extension_cookie_t 10905 xcb_query_extension_unchecked (xcb_connection_t *c /**< */, 10906 uint16_t name_len /**< */, 10907 const char *name /**< */); 10908 10909 /** 10910 * Return the reply 10911 * @param c The connection 10912 * @param cookie The cookie 10913 * @param e The xcb_generic_error_t supplied 10914 * 10915 * Returns the reply of the request asked by 10916 * 10917 * The parameter @p e supplied to this function must be NULL if 10918 * xcb_query_extension_unchecked(). is used. 10919 * Otherwise, it stores the error if any. 10920 * 10921 * The returned value must be freed by the caller using free(). 10922 */ 10923 xcb_query_extension_reply_t * 10924 xcb_query_extension_reply (xcb_connection_t *c /**< */, 10925 xcb_query_extension_cookie_t cookie /**< */, 10926 xcb_generic_error_t **e /**< */); 10927 10928 int 10929 xcb_list_extensions_sizeof (const void *_buffer /**< */); 10930 10931 /** 10932 * 10933 * @param c The connection 10934 * @return A cookie 10935 * 10936 * Delivers a request to the X server. 10937 * 10938 */ 10939 xcb_list_extensions_cookie_t 10940 xcb_list_extensions (xcb_connection_t *c /**< */); 10941 10942 /** 10943 * 10944 * @param c The connection 10945 * @return A cookie 10946 * 10947 * Delivers a request to the X server. 10948 * 10949 * This form can be used only if the request will cause 10950 * a reply to be generated. Any returned error will be 10951 * placed in the event queue. 10952 */ 10953 xcb_list_extensions_cookie_t 10954 xcb_list_extensions_unchecked (xcb_connection_t *c /**< */); 10955 10956 int 10957 xcb_list_extensions_names_length (const xcb_list_extensions_reply_t *R /**< */); 10958 10959 xcb_str_iterator_t 10960 xcb_list_extensions_names_iterator (const xcb_list_extensions_reply_t *R /**< */); 10961 10962 /** 10963 * Return the reply 10964 * @param c The connection 10965 * @param cookie The cookie 10966 * @param e The xcb_generic_error_t supplied 10967 * 10968 * Returns the reply of the request asked by 10969 * 10970 * The parameter @p e supplied to this function must be NULL if 10971 * xcb_list_extensions_unchecked(). is used. 10972 * Otherwise, it stores the error if any. 10973 * 10974 * The returned value must be freed by the caller using free(). 10975 */ 10976 xcb_list_extensions_reply_t * 10977 xcb_list_extensions_reply (xcb_connection_t *c /**< */, 10978 xcb_list_extensions_cookie_t cookie /**< */, 10979 xcb_generic_error_t **e /**< */); 10980 10981 int 10982 xcb_change_keyboard_mapping_sizeof (const void *_buffer /**< */); 10983 10984 /** 10985 * 10986 * @param c The connection 10987 * @return A cookie 10988 * 10989 * Delivers a request to the X server. 10990 * 10991 * This form can be used only if the request will not cause 10992 * a reply to be generated. Any returned error will be 10993 * saved for handling by xcb_request_check(). 10994 */ 10995 xcb_void_cookie_t 10996 xcb_change_keyboard_mapping_checked (xcb_connection_t *c /**< */, 10997 uint8_t keycode_count /**< */, 10998 xcb_keycode_t first_keycode /**< */, 10999 uint8_t keysyms_per_keycode /**< */, 11000 const xcb_keysym_t *keysyms /**< */); 11001 11002 /** 11003 * 11004 * @param c The connection 11005 * @return A cookie 11006 * 11007 * Delivers a request to the X server. 11008 * 11009 */ 11010 xcb_void_cookie_t 11011 xcb_change_keyboard_mapping (xcb_connection_t *c /**< */, 11012 uint8_t keycode_count /**< */, 11013 xcb_keycode_t first_keycode /**< */, 11014 uint8_t keysyms_per_keycode /**< */, 11015 const xcb_keysym_t *keysyms /**< */); 11016 11017 int 11018 xcb_get_keyboard_mapping_sizeof (const void *_buffer /**< */); 11019 11020 /** 11021 * 11022 * @param c The connection 11023 * @return A cookie 11024 * 11025 * Delivers a request to the X server. 11026 * 11027 */ 11028 xcb_get_keyboard_mapping_cookie_t 11029 xcb_get_keyboard_mapping (xcb_connection_t *c /**< */, 11030 xcb_keycode_t first_keycode /**< */, 11031 uint8_t count /**< */); 11032 11033 /** 11034 * 11035 * @param c The connection 11036 * @return A cookie 11037 * 11038 * Delivers a request to the X server. 11039 * 11040 * This form can be used only if the request will cause 11041 * a reply to be generated. Any returned error will be 11042 * placed in the event queue. 11043 */ 11044 xcb_get_keyboard_mapping_cookie_t 11045 xcb_get_keyboard_mapping_unchecked (xcb_connection_t *c /**< */, 11046 xcb_keycode_t first_keycode /**< */, 11047 uint8_t count /**< */); 11048 11049 xcb_keysym_t * 11050 xcb_get_keyboard_mapping_keysyms (const xcb_get_keyboard_mapping_reply_t *R /**< */); 11051 11052 int 11053 xcb_get_keyboard_mapping_keysyms_length (const xcb_get_keyboard_mapping_reply_t *R /**< */); 11054 11055 xcb_generic_iterator_t 11056 xcb_get_keyboard_mapping_keysyms_end (const xcb_get_keyboard_mapping_reply_t *R /**< */); 11057 11058 /** 11059 * Return the reply 11060 * @param c The connection 11061 * @param cookie The cookie 11062 * @param e The xcb_generic_error_t supplied 11063 * 11064 * Returns the reply of the request asked by 11065 * 11066 * The parameter @p e supplied to this function must be NULL if 11067 * xcb_get_keyboard_mapping_unchecked(). is used. 11068 * Otherwise, it stores the error if any. 11069 * 11070 * The returned value must be freed by the caller using free(). 11071 */ 11072 xcb_get_keyboard_mapping_reply_t * 11073 xcb_get_keyboard_mapping_reply (xcb_connection_t *c /**< */, 11074 xcb_get_keyboard_mapping_cookie_t cookie /**< */, 11075 xcb_generic_error_t **e /**< */); 11076 11077 int 11078 xcb_change_keyboard_control_sizeof (const void *_buffer /**< */); 11079 11080 /** 11081 * 11082 * @param c The connection 11083 * @return A cookie 11084 * 11085 * Delivers a request to the X server. 11086 * 11087 * This form can be used only if the request will not cause 11088 * a reply to be generated. Any returned error will be 11089 * saved for handling by xcb_request_check(). 11090 */ 11091 xcb_void_cookie_t 11092 xcb_change_keyboard_control_checked (xcb_connection_t *c /**< */, 11093 uint32_t value_mask /**< */, 11094 const uint32_t *value_list /**< */); 11095 11096 /** 11097 * 11098 * @param c The connection 11099 * @return A cookie 11100 * 11101 * Delivers a request to the X server. 11102 * 11103 */ 11104 xcb_void_cookie_t 11105 xcb_change_keyboard_control (xcb_connection_t *c /**< */, 11106 uint32_t value_mask /**< */, 11107 const uint32_t *value_list /**< */); 11108 11109 /** 11110 * 11111 * @param c The connection 11112 * @return A cookie 11113 * 11114 * Delivers a request to the X server. 11115 * 11116 */ 11117 xcb_get_keyboard_control_cookie_t 11118 xcb_get_keyboard_control (xcb_connection_t *c /**< */); 11119 11120 /** 11121 * 11122 * @param c The connection 11123 * @return A cookie 11124 * 11125 * Delivers a request to the X server. 11126 * 11127 * This form can be used only if the request will cause 11128 * a reply to be generated. Any returned error will be 11129 * placed in the event queue. 11130 */ 11131 xcb_get_keyboard_control_cookie_t 11132 xcb_get_keyboard_control_unchecked (xcb_connection_t *c /**< */); 11133 11134 /** 11135 * Return the reply 11136 * @param c The connection 11137 * @param cookie The cookie 11138 * @param e The xcb_generic_error_t supplied 11139 * 11140 * Returns the reply of the request asked by 11141 * 11142 * The parameter @p e supplied to this function must be NULL if 11143 * xcb_get_keyboard_control_unchecked(). is used. 11144 * Otherwise, it stores the error if any. 11145 * 11146 * The returned value must be freed by the caller using free(). 11147 */ 11148 xcb_get_keyboard_control_reply_t * 11149 xcb_get_keyboard_control_reply (xcb_connection_t *c /**< */, 11150 xcb_get_keyboard_control_cookie_t cookie /**< */, 11151 xcb_generic_error_t **e /**< */); 11152 11153 /** 11154 * 11155 * @param c The connection 11156 * @return A cookie 11157 * 11158 * Delivers a request to the X server. 11159 * 11160 * This form can be used only if the request will not cause 11161 * a reply to be generated. Any returned error will be 11162 * saved for handling by xcb_request_check(). 11163 */ 11164 xcb_void_cookie_t 11165 xcb_bell_checked (xcb_connection_t *c /**< */, 11166 int8_t percent /**< */); 11167 11168 /** 11169 * 11170 * @param c The connection 11171 * @return A cookie 11172 * 11173 * Delivers a request to the X server. 11174 * 11175 */ 11176 xcb_void_cookie_t 11177 xcb_bell (xcb_connection_t *c /**< */, 11178 int8_t percent /**< */); 11179 11180 /** 11181 * 11182 * @param c The connection 11183 * @return A cookie 11184 * 11185 * Delivers a request to the X server. 11186 * 11187 * This form can be used only if the request will not cause 11188 * a reply to be generated. Any returned error will be 11189 * saved for handling by xcb_request_check(). 11190 */ 11191 xcb_void_cookie_t 11192 xcb_change_pointer_control_checked (xcb_connection_t *c /**< */, 11193 int16_t acceleration_numerator /**< */, 11194 int16_t acceleration_denominator /**< */, 11195 int16_t threshold /**< */, 11196 uint8_t do_acceleration /**< */, 11197 uint8_t do_threshold /**< */); 11198 11199 /** 11200 * 11201 * @param c The connection 11202 * @return A cookie 11203 * 11204 * Delivers a request to the X server. 11205 * 11206 */ 11207 xcb_void_cookie_t 11208 xcb_change_pointer_control (xcb_connection_t *c /**< */, 11209 int16_t acceleration_numerator /**< */, 11210 int16_t acceleration_denominator /**< */, 11211 int16_t threshold /**< */, 11212 uint8_t do_acceleration /**< */, 11213 uint8_t do_threshold /**< */); 11214 11215 /** 11216 * 11217 * @param c The connection 11218 * @return A cookie 11219 * 11220 * Delivers a request to the X server. 11221 * 11222 */ 11223 xcb_get_pointer_control_cookie_t 11224 xcb_get_pointer_control (xcb_connection_t *c /**< */); 11225 11226 /** 11227 * 11228 * @param c The connection 11229 * @return A cookie 11230 * 11231 * Delivers a request to the X server. 11232 * 11233 * This form can be used only if the request will cause 11234 * a reply to be generated. Any returned error will be 11235 * placed in the event queue. 11236 */ 11237 xcb_get_pointer_control_cookie_t 11238 xcb_get_pointer_control_unchecked (xcb_connection_t *c /**< */); 11239 11240 /** 11241 * Return the reply 11242 * @param c The connection 11243 * @param cookie The cookie 11244 * @param e The xcb_generic_error_t supplied 11245 * 11246 * Returns the reply of the request asked by 11247 * 11248 * The parameter @p e supplied to this function must be NULL if 11249 * xcb_get_pointer_control_unchecked(). is used. 11250 * Otherwise, it stores the error if any. 11251 * 11252 * The returned value must be freed by the caller using free(). 11253 */ 11254 xcb_get_pointer_control_reply_t * 11255 xcb_get_pointer_control_reply (xcb_connection_t *c /**< */, 11256 xcb_get_pointer_control_cookie_t cookie /**< */, 11257 xcb_generic_error_t **e /**< */); 11258 11259 /** 11260 * 11261 * @param c The connection 11262 * @return A cookie 11263 * 11264 * Delivers a request to the X server. 11265 * 11266 * This form can be used only if the request will not cause 11267 * a reply to be generated. Any returned error will be 11268 * saved for handling by xcb_request_check(). 11269 */ 11270 xcb_void_cookie_t 11271 xcb_set_screen_saver_checked (xcb_connection_t *c /**< */, 11272 int16_t timeout /**< */, 11273 int16_t interval /**< */, 11274 uint8_t prefer_blanking /**< */, 11275 uint8_t allow_exposures /**< */); 11276 11277 /** 11278 * 11279 * @param c The connection 11280 * @return A cookie 11281 * 11282 * Delivers a request to the X server. 11283 * 11284 */ 11285 xcb_void_cookie_t 11286 xcb_set_screen_saver (xcb_connection_t *c /**< */, 11287 int16_t timeout /**< */, 11288 int16_t interval /**< */, 11289 uint8_t prefer_blanking /**< */, 11290 uint8_t allow_exposures /**< */); 11291 11292 /** 11293 * 11294 * @param c The connection 11295 * @return A cookie 11296 * 11297 * Delivers a request to the X server. 11298 * 11299 */ 11300 xcb_get_screen_saver_cookie_t 11301 xcb_get_screen_saver (xcb_connection_t *c /**< */); 11302 11303 /** 11304 * 11305 * @param c The connection 11306 * @return A cookie 11307 * 11308 * Delivers a request to the X server. 11309 * 11310 * This form can be used only if the request will cause 11311 * a reply to be generated. Any returned error will be 11312 * placed in the event queue. 11313 */ 11314 xcb_get_screen_saver_cookie_t 11315 xcb_get_screen_saver_unchecked (xcb_connection_t *c /**< */); 11316 11317 /** 11318 * Return the reply 11319 * @param c The connection 11320 * @param cookie The cookie 11321 * @param e The xcb_generic_error_t supplied 11322 * 11323 * Returns the reply of the request asked by 11324 * 11325 * The parameter @p e supplied to this function must be NULL if 11326 * xcb_get_screen_saver_unchecked(). is used. 11327 * Otherwise, it stores the error if any. 11328 * 11329 * The returned value must be freed by the caller using free(). 11330 */ 11331 xcb_get_screen_saver_reply_t * 11332 xcb_get_screen_saver_reply (xcb_connection_t *c /**< */, 11333 xcb_get_screen_saver_cookie_t cookie /**< */, 11334 xcb_generic_error_t **e /**< */); 11335 11336 int 11337 xcb_change_hosts_sizeof (const void *_buffer /**< */); 11338 11339 /** 11340 * 11341 * @param c The connection 11342 * @return A cookie 11343 * 11344 * Delivers a request to the X server. 11345 * 11346 * This form can be used only if the request will not cause 11347 * a reply to be generated. Any returned error will be 11348 * saved for handling by xcb_request_check(). 11349 */ 11350 xcb_void_cookie_t 11351 xcb_change_hosts_checked (xcb_connection_t *c /**< */, 11352 uint8_t mode /**< */, 11353 uint8_t family /**< */, 11354 uint16_t address_len /**< */, 11355 const uint8_t *address /**< */); 11356 11357 /** 11358 * 11359 * @param c The connection 11360 * @return A cookie 11361 * 11362 * Delivers a request to the X server. 11363 * 11364 */ 11365 xcb_void_cookie_t 11366 xcb_change_hosts (xcb_connection_t *c /**< */, 11367 uint8_t mode /**< */, 11368 uint8_t family /**< */, 11369 uint16_t address_len /**< */, 11370 const uint8_t *address /**< */); 11371 11372 int 11373 xcb_host_sizeof (const void *_buffer /**< */); 11374 11375 uint8_t * 11376 xcb_host_address (const xcb_host_t *R /**< */); 11377 11378 int 11379 xcb_host_address_length (const xcb_host_t *R /**< */); 11380 11381 xcb_generic_iterator_t 11382 xcb_host_address_end (const xcb_host_t *R /**< */); 11383 11384 /** 11385 * Get the next element of the iterator 11386 * @param i Pointer to a xcb_host_iterator_t 11387 * 11388 * Get the next element in the iterator. The member rem is 11389 * decreased by one. The member data points to the next 11390 * element. The member index is increased by sizeof(xcb_host_t) 11391 */ 11392 void 11393 xcb_host_next (xcb_host_iterator_t *i /**< */); 11394 11395 /** 11396 * Return the iterator pointing to the last element 11397 * @param i An xcb_host_iterator_t 11398 * @return The iterator pointing to the last element 11399 * 11400 * Set the current element in the iterator to the last element. 11401 * The member rem is set to 0. The member data points to the 11402 * last element. 11403 */ 11404 xcb_generic_iterator_t 11405 xcb_host_end (xcb_host_iterator_t i /**< */); 11406 11407 int 11408 xcb_list_hosts_sizeof (const void *_buffer /**< */); 11409 11410 /** 11411 * 11412 * @param c The connection 11413 * @return A cookie 11414 * 11415 * Delivers a request to the X server. 11416 * 11417 */ 11418 xcb_list_hosts_cookie_t 11419 xcb_list_hosts (xcb_connection_t *c /**< */); 11420 11421 /** 11422 * 11423 * @param c The connection 11424 * @return A cookie 11425 * 11426 * Delivers a request to the X server. 11427 * 11428 * This form can be used only if the request will cause 11429 * a reply to be generated. Any returned error will be 11430 * placed in the event queue. 11431 */ 11432 xcb_list_hosts_cookie_t 11433 xcb_list_hosts_unchecked (xcb_connection_t *c /**< */); 11434 11435 int 11436 xcb_list_hosts_hosts_length (const xcb_list_hosts_reply_t *R /**< */); 11437 11438 xcb_host_iterator_t 11439 xcb_list_hosts_hosts_iterator (const xcb_list_hosts_reply_t *R /**< */); 11440 11441 /** 11442 * Return the reply 11443 * @param c The connection 11444 * @param cookie The cookie 11445 * @param e The xcb_generic_error_t supplied 11446 * 11447 * Returns the reply of the request asked by 11448 * 11449 * The parameter @p e supplied to this function must be NULL if 11450 * xcb_list_hosts_unchecked(). is used. 11451 * Otherwise, it stores the error if any. 11452 * 11453 * The returned value must be freed by the caller using free(). 11454 */ 11455 xcb_list_hosts_reply_t * 11456 xcb_list_hosts_reply (xcb_connection_t *c /**< */, 11457 xcb_list_hosts_cookie_t cookie /**< */, 11458 xcb_generic_error_t **e /**< */); 11459 11460 /** 11461 * 11462 * @param c The connection 11463 * @return A cookie 11464 * 11465 * Delivers a request to the X server. 11466 * 11467 * This form can be used only if the request will not cause 11468 * a reply to be generated. Any returned error will be 11469 * saved for handling by xcb_request_check(). 11470 */ 11471 xcb_void_cookie_t 11472 xcb_set_access_control_checked (xcb_connection_t *c /**< */, 11473 uint8_t mode /**< */); 11474 11475 /** 11476 * 11477 * @param c The connection 11478 * @return A cookie 11479 * 11480 * Delivers a request to the X server. 11481 * 11482 */ 11483 xcb_void_cookie_t 11484 xcb_set_access_control (xcb_connection_t *c /**< */, 11485 uint8_t mode /**< */); 11486 11487 /** 11488 * 11489 * @param c The connection 11490 * @return A cookie 11491 * 11492 * Delivers a request to the X server. 11493 * 11494 * This form can be used only if the request will not cause 11495 * a reply to be generated. Any returned error will be 11496 * saved for handling by xcb_request_check(). 11497 */ 11498 xcb_void_cookie_t 11499 xcb_set_close_down_mode_checked (xcb_connection_t *c /**< */, 11500 uint8_t mode /**< */); 11501 11502 /** 11503 * 11504 * @param c The connection 11505 * @return A cookie 11506 * 11507 * Delivers a request to the X server. 11508 * 11509 */ 11510 xcb_void_cookie_t 11511 xcb_set_close_down_mode (xcb_connection_t *c /**< */, 11512 uint8_t mode /**< */); 11513 11514 /** 11515 * @brief kills a client 11516 * 11517 * @param c The connection 11518 * @param resource Any resource belonging to the client (for example a Window), used to identify 11519 * the client connection. 11520 * \n 11521 * The special value of `XCB_KILL_ALL_TEMPORARY`, the resources of all clients 11522 * that have terminated in `RetainTemporary` (TODO) are destroyed. 11523 * @return A cookie 11524 * 11525 * Forces a close down of the client that created the specified \a resource. 11526 * 11527 * This form can be used only if the request will not cause 11528 * a reply to be generated. Any returned error will be 11529 * saved for handling by xcb_request_check(). 11530 */ 11531 xcb_void_cookie_t 11532 xcb_kill_client_checked (xcb_connection_t *c /**< */, 11533 uint32_t resource /**< */); 11534 11535 /** 11536 * @brief kills a client 11537 * 11538 * @param c The connection 11539 * @param resource Any resource belonging to the client (for example a Window), used to identify 11540 * the client connection. 11541 * \n 11542 * The special value of `XCB_KILL_ALL_TEMPORARY`, the resources of all clients 11543 * that have terminated in `RetainTemporary` (TODO) are destroyed. 11544 * @return A cookie 11545 * 11546 * Forces a close down of the client that created the specified \a resource. 11547 * 11548 */ 11549 xcb_void_cookie_t 11550 xcb_kill_client (xcb_connection_t *c /**< */, 11551 uint32_t resource /**< */); 11552 11553 int 11554 xcb_rotate_properties_sizeof (const void *_buffer /**< */); 11555 11556 /** 11557 * 11558 * @param c The connection 11559 * @return A cookie 11560 * 11561 * Delivers a request to the X server. 11562 * 11563 * This form can be used only if the request will not cause 11564 * a reply to be generated. Any returned error will be 11565 * saved for handling by xcb_request_check(). 11566 */ 11567 xcb_void_cookie_t 11568 xcb_rotate_properties_checked (xcb_connection_t *c /**< */, 11569 xcb_window_t window /**< */, 11570 uint16_t atoms_len /**< */, 11571 int16_t delta /**< */, 11572 const xcb_atom_t *atoms /**< */); 11573 11574 /** 11575 * 11576 * @param c The connection 11577 * @return A cookie 11578 * 11579 * Delivers a request to the X server. 11580 * 11581 */ 11582 xcb_void_cookie_t 11583 xcb_rotate_properties (xcb_connection_t *c /**< */, 11584 xcb_window_t window /**< */, 11585 uint16_t atoms_len /**< */, 11586 int16_t delta /**< */, 11587 const xcb_atom_t *atoms /**< */); 11588 11589 /** 11590 * 11591 * @param c The connection 11592 * @return A cookie 11593 * 11594 * Delivers a request to the X server. 11595 * 11596 * This form can be used only if the request will not cause 11597 * a reply to be generated. Any returned error will be 11598 * saved for handling by xcb_request_check(). 11599 */ 11600 xcb_void_cookie_t 11601 xcb_force_screen_saver_checked (xcb_connection_t *c /**< */, 11602 uint8_t mode /**< */); 11603 11604 /** 11605 * 11606 * @param c The connection 11607 * @return A cookie 11608 * 11609 * Delivers a request to the X server. 11610 * 11611 */ 11612 xcb_void_cookie_t 11613 xcb_force_screen_saver (xcb_connection_t *c /**< */, 11614 uint8_t mode /**< */); 11615 11616 int 11617 xcb_set_pointer_mapping_sizeof (const void *_buffer /**< */); 11618 11619 /** 11620 * 11621 * @param c The connection 11622 * @return A cookie 11623 * 11624 * Delivers a request to the X server. 11625 * 11626 */ 11627 xcb_set_pointer_mapping_cookie_t 11628 xcb_set_pointer_mapping (xcb_connection_t *c /**< */, 11629 uint8_t map_len /**< */, 11630 const uint8_t *map /**< */); 11631 11632 /** 11633 * 11634 * @param c The connection 11635 * @return A cookie 11636 * 11637 * Delivers a request to the X server. 11638 * 11639 * This form can be used only if the request will cause 11640 * a reply to be generated. Any returned error will be 11641 * placed in the event queue. 11642 */ 11643 xcb_set_pointer_mapping_cookie_t 11644 xcb_set_pointer_mapping_unchecked (xcb_connection_t *c /**< */, 11645 uint8_t map_len /**< */, 11646 const uint8_t *map /**< */); 11647 11648 /** 11649 * Return the reply 11650 * @param c The connection 11651 * @param cookie The cookie 11652 * @param e The xcb_generic_error_t supplied 11653 * 11654 * Returns the reply of the request asked by 11655 * 11656 * The parameter @p e supplied to this function must be NULL if 11657 * xcb_set_pointer_mapping_unchecked(). is used. 11658 * Otherwise, it stores the error if any. 11659 * 11660 * The returned value must be freed by the caller using free(). 11661 */ 11662 xcb_set_pointer_mapping_reply_t * 11663 xcb_set_pointer_mapping_reply (xcb_connection_t *c /**< */, 11664 xcb_set_pointer_mapping_cookie_t cookie /**< */, 11665 xcb_generic_error_t **e /**< */); 11666 11667 int 11668 xcb_get_pointer_mapping_sizeof (const void *_buffer /**< */); 11669 11670 /** 11671 * 11672 * @param c The connection 11673 * @return A cookie 11674 * 11675 * Delivers a request to the X server. 11676 * 11677 */ 11678 xcb_get_pointer_mapping_cookie_t 11679 xcb_get_pointer_mapping (xcb_connection_t *c /**< */); 11680 11681 /** 11682 * 11683 * @param c The connection 11684 * @return A cookie 11685 * 11686 * Delivers a request to the X server. 11687 * 11688 * This form can be used only if the request will cause 11689 * a reply to be generated. Any returned error will be 11690 * placed in the event queue. 11691 */ 11692 xcb_get_pointer_mapping_cookie_t 11693 xcb_get_pointer_mapping_unchecked (xcb_connection_t *c /**< */); 11694 11695 uint8_t * 11696 xcb_get_pointer_mapping_map (const xcb_get_pointer_mapping_reply_t *R /**< */); 11697 11698 int 11699 xcb_get_pointer_mapping_map_length (const xcb_get_pointer_mapping_reply_t *R /**< */); 11700 11701 xcb_generic_iterator_t 11702 xcb_get_pointer_mapping_map_end (const xcb_get_pointer_mapping_reply_t *R /**< */); 11703 11704 /** 11705 * Return the reply 11706 * @param c The connection 11707 * @param cookie The cookie 11708 * @param e The xcb_generic_error_t supplied 11709 * 11710 * Returns the reply of the request asked by 11711 * 11712 * The parameter @p e supplied to this function must be NULL if 11713 * xcb_get_pointer_mapping_unchecked(). is used. 11714 * Otherwise, it stores the error if any. 11715 * 11716 * The returned value must be freed by the caller using free(). 11717 */ 11718 xcb_get_pointer_mapping_reply_t * 11719 xcb_get_pointer_mapping_reply (xcb_connection_t *c /**< */, 11720 xcb_get_pointer_mapping_cookie_t cookie /**< */, 11721 xcb_generic_error_t **e /**< */); 11722 11723 int 11724 xcb_set_modifier_mapping_sizeof (const void *_buffer /**< */); 11725 11726 /** 11727 * 11728 * @param c The connection 11729 * @return A cookie 11730 * 11731 * Delivers a request to the X server. 11732 * 11733 */ 11734 xcb_set_modifier_mapping_cookie_t 11735 xcb_set_modifier_mapping (xcb_connection_t *c /**< */, 11736 uint8_t keycodes_per_modifier /**< */, 11737 const xcb_keycode_t *keycodes /**< */); 11738 11739 /** 11740 * 11741 * @param c The connection 11742 * @return A cookie 11743 * 11744 * Delivers a request to the X server. 11745 * 11746 * This form can be used only if the request will cause 11747 * a reply to be generated. Any returned error will be 11748 * placed in the event queue. 11749 */ 11750 xcb_set_modifier_mapping_cookie_t 11751 xcb_set_modifier_mapping_unchecked (xcb_connection_t *c /**< */, 11752 uint8_t keycodes_per_modifier /**< */, 11753 const xcb_keycode_t *keycodes /**< */); 11754 11755 /** 11756 * Return the reply 11757 * @param c The connection 11758 * @param cookie The cookie 11759 * @param e The xcb_generic_error_t supplied 11760 * 11761 * Returns the reply of the request asked by 11762 * 11763 * The parameter @p e supplied to this function must be NULL if 11764 * xcb_set_modifier_mapping_unchecked(). is used. 11765 * Otherwise, it stores the error if any. 11766 * 11767 * The returned value must be freed by the caller using free(). 11768 */ 11769 xcb_set_modifier_mapping_reply_t * 11770 xcb_set_modifier_mapping_reply (xcb_connection_t *c /**< */, 11771 xcb_set_modifier_mapping_cookie_t cookie /**< */, 11772 xcb_generic_error_t **e /**< */); 11773 11774 int 11775 xcb_get_modifier_mapping_sizeof (const void *_buffer /**< */); 11776 11777 /** 11778 * 11779 * @param c The connection 11780 * @return A cookie 11781 * 11782 * Delivers a request to the X server. 11783 * 11784 */ 11785 xcb_get_modifier_mapping_cookie_t 11786 xcb_get_modifier_mapping (xcb_connection_t *c /**< */); 11787 11788 /** 11789 * 11790 * @param c The connection 11791 * @return A cookie 11792 * 11793 * Delivers a request to the X server. 11794 * 11795 * This form can be used only if the request will cause 11796 * a reply to be generated. Any returned error will be 11797 * placed in the event queue. 11798 */ 11799 xcb_get_modifier_mapping_cookie_t 11800 xcb_get_modifier_mapping_unchecked (xcb_connection_t *c /**< */); 11801 11802 xcb_keycode_t * 11803 xcb_get_modifier_mapping_keycodes (const xcb_get_modifier_mapping_reply_t *R /**< */); 11804 11805 int 11806 xcb_get_modifier_mapping_keycodes_length (const xcb_get_modifier_mapping_reply_t *R /**< */); 11807 11808 xcb_generic_iterator_t 11809 xcb_get_modifier_mapping_keycodes_end (const xcb_get_modifier_mapping_reply_t *R /**< */); 11810 11811 /** 11812 * Return the reply 11813 * @param c The connection 11814 * @param cookie The cookie 11815 * @param e The xcb_generic_error_t supplied 11816 * 11817 * Returns the reply of the request asked by 11818 * 11819 * The parameter @p e supplied to this function must be NULL if 11820 * xcb_get_modifier_mapping_unchecked(). is used. 11821 * Otherwise, it stores the error if any. 11822 * 11823 * The returned value must be freed by the caller using free(). 11824 */ 11825 xcb_get_modifier_mapping_reply_t * 11826 xcb_get_modifier_mapping_reply (xcb_connection_t *c /**< */, 11827 xcb_get_modifier_mapping_cookie_t cookie /**< */, 11828 xcb_generic_error_t **e /**< */); 11829 11830 /** 11831 * 11832 * @param c The connection 11833 * @return A cookie 11834 * 11835 * Delivers a request to the X server. 11836 * 11837 * This form can be used only if the request will not cause 11838 * a reply to be generated. Any returned error will be 11839 * saved for handling by xcb_request_check(). 11840 */ 11841 xcb_void_cookie_t 11842 xcb_no_operation_checked (xcb_connection_t *c /**< */); 11843 11844 /** 11845 * 11846 * @param c The connection 11847 * @return A cookie 11848 * 11849 * Delivers a request to the X server. 11850 * 11851 */ 11852 xcb_void_cookie_t 11853 xcb_no_operation (xcb_connection_t *c /**< */); 11854 11855 11856 #ifdef __cplusplus 11857 } 11858 #endif 11859 11860 #endif 11861 11862 /** 11863 * @} 11864 */ 11865