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