annotate CSP2/CSP2_env/env-d9b9114564458d9d-741b3de822f2aaca6c6caa4325c4afce/include/xcb/xproto.h @ 69:33d812a61356

planemo upload commit 2e9511a184a1ca667c7be0c6321a36dc4e3d116d
author jpayne
date Tue, 18 Mar 2025 17:55:14 -0400
parents
children
rev   line source
jpayne@69 1 /*
jpayne@69 2 * This file generated automatically from xproto.xml by c_client.py.
jpayne@69 3 * Edit at your peril.
jpayne@69 4 */
jpayne@69 5
jpayne@69 6 /**
jpayne@69 7 * @defgroup XCB__API XCB API
jpayne@69 8 * @brief XCB Protocol Implementation.
jpayne@69 9 * @{
jpayne@69 10 **/
jpayne@69 11
jpayne@69 12 #ifndef __XPROTO_H
jpayne@69 13 #define __XPROTO_H
jpayne@69 14
jpayne@69 15 #include "xcb.h"
jpayne@69 16
jpayne@69 17 #ifdef __cplusplus
jpayne@69 18 extern "C" {
jpayne@69 19 #endif
jpayne@69 20
jpayne@69 21 /**
jpayne@69 22 * @brief xcb_char2b_t
jpayne@69 23 **/
jpayne@69 24 typedef struct xcb_char2b_t {
jpayne@69 25 uint8_t byte1;
jpayne@69 26 uint8_t byte2;
jpayne@69 27 } xcb_char2b_t;
jpayne@69 28
jpayne@69 29 /**
jpayne@69 30 * @brief xcb_char2b_iterator_t
jpayne@69 31 **/
jpayne@69 32 typedef struct xcb_char2b_iterator_t {
jpayne@69 33 xcb_char2b_t *data;
jpayne@69 34 int rem;
jpayne@69 35 int index;
jpayne@69 36 } xcb_char2b_iterator_t;
jpayne@69 37
jpayne@69 38 typedef uint32_t xcb_window_t;
jpayne@69 39
jpayne@69 40 /**
jpayne@69 41 * @brief xcb_window_iterator_t
jpayne@69 42 **/
jpayne@69 43 typedef struct xcb_window_iterator_t {
jpayne@69 44 xcb_window_t *data;
jpayne@69 45 int rem;
jpayne@69 46 int index;
jpayne@69 47 } xcb_window_iterator_t;
jpayne@69 48
jpayne@69 49 typedef uint32_t xcb_pixmap_t;
jpayne@69 50
jpayne@69 51 /**
jpayne@69 52 * @brief xcb_pixmap_iterator_t
jpayne@69 53 **/
jpayne@69 54 typedef struct xcb_pixmap_iterator_t {
jpayne@69 55 xcb_pixmap_t *data;
jpayne@69 56 int rem;
jpayne@69 57 int index;
jpayne@69 58 } xcb_pixmap_iterator_t;
jpayne@69 59
jpayne@69 60 typedef uint32_t xcb_cursor_t;
jpayne@69 61
jpayne@69 62 /**
jpayne@69 63 * @brief xcb_cursor_iterator_t
jpayne@69 64 **/
jpayne@69 65 typedef struct xcb_cursor_iterator_t {
jpayne@69 66 xcb_cursor_t *data;
jpayne@69 67 int rem;
jpayne@69 68 int index;
jpayne@69 69 } xcb_cursor_iterator_t;
jpayne@69 70
jpayne@69 71 typedef uint32_t xcb_font_t;
jpayne@69 72
jpayne@69 73 /**
jpayne@69 74 * @brief xcb_font_iterator_t
jpayne@69 75 **/
jpayne@69 76 typedef struct xcb_font_iterator_t {
jpayne@69 77 xcb_font_t *data;
jpayne@69 78 int rem;
jpayne@69 79 int index;
jpayne@69 80 } xcb_font_iterator_t;
jpayne@69 81
jpayne@69 82 typedef uint32_t xcb_gcontext_t;
jpayne@69 83
jpayne@69 84 /**
jpayne@69 85 * @brief xcb_gcontext_iterator_t
jpayne@69 86 **/
jpayne@69 87 typedef struct xcb_gcontext_iterator_t {
jpayne@69 88 xcb_gcontext_t *data;
jpayne@69 89 int rem;
jpayne@69 90 int index;
jpayne@69 91 } xcb_gcontext_iterator_t;
jpayne@69 92
jpayne@69 93 typedef uint32_t xcb_colormap_t;
jpayne@69 94
jpayne@69 95 /**
jpayne@69 96 * @brief xcb_colormap_iterator_t
jpayne@69 97 **/
jpayne@69 98 typedef struct xcb_colormap_iterator_t {
jpayne@69 99 xcb_colormap_t *data;
jpayne@69 100 int rem;
jpayne@69 101 int index;
jpayne@69 102 } xcb_colormap_iterator_t;
jpayne@69 103
jpayne@69 104 typedef uint32_t xcb_atom_t;
jpayne@69 105
jpayne@69 106 /**
jpayne@69 107 * @brief xcb_atom_iterator_t
jpayne@69 108 **/
jpayne@69 109 typedef struct xcb_atom_iterator_t {
jpayne@69 110 xcb_atom_t *data;
jpayne@69 111 int rem;
jpayne@69 112 int index;
jpayne@69 113 } xcb_atom_iterator_t;
jpayne@69 114
jpayne@69 115 typedef uint32_t xcb_drawable_t;
jpayne@69 116
jpayne@69 117 /**
jpayne@69 118 * @brief xcb_drawable_iterator_t
jpayne@69 119 **/
jpayne@69 120 typedef struct xcb_drawable_iterator_t {
jpayne@69 121 xcb_drawable_t *data;
jpayne@69 122 int rem;
jpayne@69 123 int index;
jpayne@69 124 } xcb_drawable_iterator_t;
jpayne@69 125
jpayne@69 126 typedef uint32_t xcb_fontable_t;
jpayne@69 127
jpayne@69 128 /**
jpayne@69 129 * @brief xcb_fontable_iterator_t
jpayne@69 130 **/
jpayne@69 131 typedef struct xcb_fontable_iterator_t {
jpayne@69 132 xcb_fontable_t *data;
jpayne@69 133 int rem;
jpayne@69 134 int index;
jpayne@69 135 } xcb_fontable_iterator_t;
jpayne@69 136
jpayne@69 137 typedef uint32_t xcb_bool32_t;
jpayne@69 138
jpayne@69 139 /**
jpayne@69 140 * @brief xcb_bool32_iterator_t
jpayne@69 141 **/
jpayne@69 142 typedef struct xcb_bool32_iterator_t {
jpayne@69 143 xcb_bool32_t *data;
jpayne@69 144 int rem;
jpayne@69 145 int index;
jpayne@69 146 } xcb_bool32_iterator_t;
jpayne@69 147
jpayne@69 148 typedef uint32_t xcb_visualid_t;
jpayne@69 149
jpayne@69 150 /**
jpayne@69 151 * @brief xcb_visualid_iterator_t
jpayne@69 152 **/
jpayne@69 153 typedef struct xcb_visualid_iterator_t {
jpayne@69 154 xcb_visualid_t *data;
jpayne@69 155 int rem;
jpayne@69 156 int index;
jpayne@69 157 } xcb_visualid_iterator_t;
jpayne@69 158
jpayne@69 159 typedef uint32_t xcb_timestamp_t;
jpayne@69 160
jpayne@69 161 /**
jpayne@69 162 * @brief xcb_timestamp_iterator_t
jpayne@69 163 **/
jpayne@69 164 typedef struct xcb_timestamp_iterator_t {
jpayne@69 165 xcb_timestamp_t *data;
jpayne@69 166 int rem;
jpayne@69 167 int index;
jpayne@69 168 } xcb_timestamp_iterator_t;
jpayne@69 169
jpayne@69 170 typedef uint32_t xcb_keysym_t;
jpayne@69 171
jpayne@69 172 /**
jpayne@69 173 * @brief xcb_keysym_iterator_t
jpayne@69 174 **/
jpayne@69 175 typedef struct xcb_keysym_iterator_t {
jpayne@69 176 xcb_keysym_t *data;
jpayne@69 177 int rem;
jpayne@69 178 int index;
jpayne@69 179 } xcb_keysym_iterator_t;
jpayne@69 180
jpayne@69 181 typedef uint8_t xcb_keycode_t;
jpayne@69 182
jpayne@69 183 /**
jpayne@69 184 * @brief xcb_keycode_iterator_t
jpayne@69 185 **/
jpayne@69 186 typedef struct xcb_keycode_iterator_t {
jpayne@69 187 xcb_keycode_t *data;
jpayne@69 188 int rem;
jpayne@69 189 int index;
jpayne@69 190 } xcb_keycode_iterator_t;
jpayne@69 191
jpayne@69 192 typedef uint32_t xcb_keycode32_t;
jpayne@69 193
jpayne@69 194 /**
jpayne@69 195 * @brief xcb_keycode32_iterator_t
jpayne@69 196 **/
jpayne@69 197 typedef struct xcb_keycode32_iterator_t {
jpayne@69 198 xcb_keycode32_t *data;
jpayne@69 199 int rem;
jpayne@69 200 int index;
jpayne@69 201 } xcb_keycode32_iterator_t;
jpayne@69 202
jpayne@69 203 typedef uint8_t xcb_button_t;
jpayne@69 204
jpayne@69 205 /**
jpayne@69 206 * @brief xcb_button_iterator_t
jpayne@69 207 **/
jpayne@69 208 typedef struct xcb_button_iterator_t {
jpayne@69 209 xcb_button_t *data;
jpayne@69 210 int rem;
jpayne@69 211 int index;
jpayne@69 212 } xcb_button_iterator_t;
jpayne@69 213
jpayne@69 214 /**
jpayne@69 215 * @brief xcb_point_t
jpayne@69 216 **/
jpayne@69 217 typedef struct xcb_point_t {
jpayne@69 218 int16_t x;
jpayne@69 219 int16_t y;
jpayne@69 220 } xcb_point_t;
jpayne@69 221
jpayne@69 222 /**
jpayne@69 223 * @brief xcb_point_iterator_t
jpayne@69 224 **/
jpayne@69 225 typedef struct xcb_point_iterator_t {
jpayne@69 226 xcb_point_t *data;
jpayne@69 227 int rem;
jpayne@69 228 int index;
jpayne@69 229 } xcb_point_iterator_t;
jpayne@69 230
jpayne@69 231 /**
jpayne@69 232 * @brief xcb_rectangle_t
jpayne@69 233 **/
jpayne@69 234 typedef struct xcb_rectangle_t {
jpayne@69 235 int16_t x;
jpayne@69 236 int16_t y;
jpayne@69 237 uint16_t width;
jpayne@69 238 uint16_t height;
jpayne@69 239 } xcb_rectangle_t;
jpayne@69 240
jpayne@69 241 /**
jpayne@69 242 * @brief xcb_rectangle_iterator_t
jpayne@69 243 **/
jpayne@69 244 typedef struct xcb_rectangle_iterator_t {
jpayne@69 245 xcb_rectangle_t *data;
jpayne@69 246 int rem;
jpayne@69 247 int index;
jpayne@69 248 } xcb_rectangle_iterator_t;
jpayne@69 249
jpayne@69 250 /**
jpayne@69 251 * @brief xcb_arc_t
jpayne@69 252 **/
jpayne@69 253 typedef struct xcb_arc_t {
jpayne@69 254 int16_t x;
jpayne@69 255 int16_t y;
jpayne@69 256 uint16_t width;
jpayne@69 257 uint16_t height;
jpayne@69 258 int16_t angle1;
jpayne@69 259 int16_t angle2;
jpayne@69 260 } xcb_arc_t;
jpayne@69 261
jpayne@69 262 /**
jpayne@69 263 * @brief xcb_arc_iterator_t
jpayne@69 264 **/
jpayne@69 265 typedef struct xcb_arc_iterator_t {
jpayne@69 266 xcb_arc_t *data;
jpayne@69 267 int rem;
jpayne@69 268 int index;
jpayne@69 269 } xcb_arc_iterator_t;
jpayne@69 270
jpayne@69 271 /**
jpayne@69 272 * @brief xcb_format_t
jpayne@69 273 **/
jpayne@69 274 typedef struct xcb_format_t {
jpayne@69 275 uint8_t depth;
jpayne@69 276 uint8_t bits_per_pixel;
jpayne@69 277 uint8_t scanline_pad;
jpayne@69 278 uint8_t pad0[5];
jpayne@69 279 } xcb_format_t;
jpayne@69 280
jpayne@69 281 /**
jpayne@69 282 * @brief xcb_format_iterator_t
jpayne@69 283 **/
jpayne@69 284 typedef struct xcb_format_iterator_t {
jpayne@69 285 xcb_format_t *data;
jpayne@69 286 int rem;
jpayne@69 287 int index;
jpayne@69 288 } xcb_format_iterator_t;
jpayne@69 289
jpayne@69 290 typedef enum xcb_visual_class_t {
jpayne@69 291 XCB_VISUAL_CLASS_STATIC_GRAY = 0,
jpayne@69 292 XCB_VISUAL_CLASS_GRAY_SCALE = 1,
jpayne@69 293 XCB_VISUAL_CLASS_STATIC_COLOR = 2,
jpayne@69 294 XCB_VISUAL_CLASS_PSEUDO_COLOR = 3,
jpayne@69 295 XCB_VISUAL_CLASS_TRUE_COLOR = 4,
jpayne@69 296 XCB_VISUAL_CLASS_DIRECT_COLOR = 5
jpayne@69 297 } xcb_visual_class_t;
jpayne@69 298
jpayne@69 299 /**
jpayne@69 300 * @brief xcb_visualtype_t
jpayne@69 301 **/
jpayne@69 302 typedef struct xcb_visualtype_t {
jpayne@69 303 xcb_visualid_t visual_id;
jpayne@69 304 uint8_t _class;
jpayne@69 305 uint8_t bits_per_rgb_value;
jpayne@69 306 uint16_t colormap_entries;
jpayne@69 307 uint32_t red_mask;
jpayne@69 308 uint32_t green_mask;
jpayne@69 309 uint32_t blue_mask;
jpayne@69 310 uint8_t pad0[4];
jpayne@69 311 } xcb_visualtype_t;
jpayne@69 312
jpayne@69 313 /**
jpayne@69 314 * @brief xcb_visualtype_iterator_t
jpayne@69 315 **/
jpayne@69 316 typedef struct xcb_visualtype_iterator_t {
jpayne@69 317 xcb_visualtype_t *data;
jpayne@69 318 int rem;
jpayne@69 319 int index;
jpayne@69 320 } xcb_visualtype_iterator_t;
jpayne@69 321
jpayne@69 322 /**
jpayne@69 323 * @brief xcb_depth_t
jpayne@69 324 **/
jpayne@69 325 typedef struct xcb_depth_t {
jpayne@69 326 uint8_t depth;
jpayne@69 327 uint8_t pad0;
jpayne@69 328 uint16_t visuals_len;
jpayne@69 329 uint8_t pad1[4];
jpayne@69 330 } xcb_depth_t;
jpayne@69 331
jpayne@69 332 /**
jpayne@69 333 * @brief xcb_depth_iterator_t
jpayne@69 334 **/
jpayne@69 335 typedef struct xcb_depth_iterator_t {
jpayne@69 336 xcb_depth_t *data;
jpayne@69 337 int rem;
jpayne@69 338 int index;
jpayne@69 339 } xcb_depth_iterator_t;
jpayne@69 340
jpayne@69 341 typedef enum xcb_event_mask_t {
jpayne@69 342 XCB_EVENT_MASK_NO_EVENT = 0,
jpayne@69 343 XCB_EVENT_MASK_KEY_PRESS = 1,
jpayne@69 344 XCB_EVENT_MASK_KEY_RELEASE = 2,
jpayne@69 345 XCB_EVENT_MASK_BUTTON_PRESS = 4,
jpayne@69 346 XCB_EVENT_MASK_BUTTON_RELEASE = 8,
jpayne@69 347 XCB_EVENT_MASK_ENTER_WINDOW = 16,
jpayne@69 348 XCB_EVENT_MASK_LEAVE_WINDOW = 32,
jpayne@69 349 XCB_EVENT_MASK_POINTER_MOTION = 64,
jpayne@69 350 XCB_EVENT_MASK_POINTER_MOTION_HINT = 128,
jpayne@69 351 XCB_EVENT_MASK_BUTTON_1_MOTION = 256,
jpayne@69 352 XCB_EVENT_MASK_BUTTON_2_MOTION = 512,
jpayne@69 353 XCB_EVENT_MASK_BUTTON_3_MOTION = 1024,
jpayne@69 354 XCB_EVENT_MASK_BUTTON_4_MOTION = 2048,
jpayne@69 355 XCB_EVENT_MASK_BUTTON_5_MOTION = 4096,
jpayne@69 356 XCB_EVENT_MASK_BUTTON_MOTION = 8192,
jpayne@69 357 XCB_EVENT_MASK_KEYMAP_STATE = 16384,
jpayne@69 358 XCB_EVENT_MASK_EXPOSURE = 32768,
jpayne@69 359 XCB_EVENT_MASK_VISIBILITY_CHANGE = 65536,
jpayne@69 360 XCB_EVENT_MASK_STRUCTURE_NOTIFY = 131072,
jpayne@69 361 XCB_EVENT_MASK_RESIZE_REDIRECT = 262144,
jpayne@69 362 XCB_EVENT_MASK_SUBSTRUCTURE_NOTIFY = 524288,
jpayne@69 363 XCB_EVENT_MASK_SUBSTRUCTURE_REDIRECT = 1048576,
jpayne@69 364 XCB_EVENT_MASK_FOCUS_CHANGE = 2097152,
jpayne@69 365 XCB_EVENT_MASK_PROPERTY_CHANGE = 4194304,
jpayne@69 366 XCB_EVENT_MASK_COLOR_MAP_CHANGE = 8388608,
jpayne@69 367 XCB_EVENT_MASK_OWNER_GRAB_BUTTON = 16777216
jpayne@69 368 } xcb_event_mask_t;
jpayne@69 369
jpayne@69 370 typedef enum xcb_backing_store_t {
jpayne@69 371 XCB_BACKING_STORE_NOT_USEFUL = 0,
jpayne@69 372 XCB_BACKING_STORE_WHEN_MAPPED = 1,
jpayne@69 373 XCB_BACKING_STORE_ALWAYS = 2
jpayne@69 374 } xcb_backing_store_t;
jpayne@69 375
jpayne@69 376 /**
jpayne@69 377 * @brief xcb_screen_t
jpayne@69 378 **/
jpayne@69 379 typedef struct xcb_screen_t {
jpayne@69 380 xcb_window_t root;
jpayne@69 381 xcb_colormap_t default_colormap;
jpayne@69 382 uint32_t white_pixel;
jpayne@69 383 uint32_t black_pixel;
jpayne@69 384 uint32_t current_input_masks;
jpayne@69 385 uint16_t width_in_pixels;
jpayne@69 386 uint16_t height_in_pixels;
jpayne@69 387 uint16_t width_in_millimeters;
jpayne@69 388 uint16_t height_in_millimeters;
jpayne@69 389 uint16_t min_installed_maps;
jpayne@69 390 uint16_t max_installed_maps;
jpayne@69 391 xcb_visualid_t root_visual;
jpayne@69 392 uint8_t backing_stores;
jpayne@69 393 uint8_t save_unders;
jpayne@69 394 uint8_t root_depth;
jpayne@69 395 uint8_t allowed_depths_len;
jpayne@69 396 } xcb_screen_t;
jpayne@69 397
jpayne@69 398 /**
jpayne@69 399 * @brief xcb_screen_iterator_t
jpayne@69 400 **/
jpayne@69 401 typedef struct xcb_screen_iterator_t {
jpayne@69 402 xcb_screen_t *data;
jpayne@69 403 int rem;
jpayne@69 404 int index;
jpayne@69 405 } xcb_screen_iterator_t;
jpayne@69 406
jpayne@69 407 /**
jpayne@69 408 * @brief xcb_setup_request_t
jpayne@69 409 **/
jpayne@69 410 typedef struct xcb_setup_request_t {
jpayne@69 411 uint8_t byte_order;
jpayne@69 412 uint8_t pad0;
jpayne@69 413 uint16_t protocol_major_version;
jpayne@69 414 uint16_t protocol_minor_version;
jpayne@69 415 uint16_t authorization_protocol_name_len;
jpayne@69 416 uint16_t authorization_protocol_data_len;
jpayne@69 417 uint8_t pad1[2];
jpayne@69 418 } xcb_setup_request_t;
jpayne@69 419
jpayne@69 420 /**
jpayne@69 421 * @brief xcb_setup_request_iterator_t
jpayne@69 422 **/
jpayne@69 423 typedef struct xcb_setup_request_iterator_t {
jpayne@69 424 xcb_setup_request_t *data;
jpayne@69 425 int rem;
jpayne@69 426 int index;
jpayne@69 427 } xcb_setup_request_iterator_t;
jpayne@69 428
jpayne@69 429 /**
jpayne@69 430 * @brief xcb_setup_failed_t
jpayne@69 431 **/
jpayne@69 432 typedef struct xcb_setup_failed_t {
jpayne@69 433 uint8_t status;
jpayne@69 434 uint8_t reason_len;
jpayne@69 435 uint16_t protocol_major_version;
jpayne@69 436 uint16_t protocol_minor_version;
jpayne@69 437 uint16_t length;
jpayne@69 438 } xcb_setup_failed_t;
jpayne@69 439
jpayne@69 440 /**
jpayne@69 441 * @brief xcb_setup_failed_iterator_t
jpayne@69 442 **/
jpayne@69 443 typedef struct xcb_setup_failed_iterator_t {
jpayne@69 444 xcb_setup_failed_t *data;
jpayne@69 445 int rem;
jpayne@69 446 int index;
jpayne@69 447 } xcb_setup_failed_iterator_t;
jpayne@69 448
jpayne@69 449 /**
jpayne@69 450 * @brief xcb_setup_authenticate_t
jpayne@69 451 **/
jpayne@69 452 typedef struct xcb_setup_authenticate_t {
jpayne@69 453 uint8_t status;
jpayne@69 454 uint8_t pad0[5];
jpayne@69 455 uint16_t length;
jpayne@69 456 } xcb_setup_authenticate_t;
jpayne@69 457
jpayne@69 458 /**
jpayne@69 459 * @brief xcb_setup_authenticate_iterator_t
jpayne@69 460 **/
jpayne@69 461 typedef struct xcb_setup_authenticate_iterator_t {
jpayne@69 462 xcb_setup_authenticate_t *data;
jpayne@69 463 int rem;
jpayne@69 464 int index;
jpayne@69 465 } xcb_setup_authenticate_iterator_t;
jpayne@69 466
jpayne@69 467 typedef enum xcb_image_order_t {
jpayne@69 468 XCB_IMAGE_ORDER_LSB_FIRST = 0,
jpayne@69 469 XCB_IMAGE_ORDER_MSB_FIRST = 1
jpayne@69 470 } xcb_image_order_t;
jpayne@69 471
jpayne@69 472 /**
jpayne@69 473 * @brief xcb_setup_t
jpayne@69 474 **/
jpayne@69 475 typedef struct xcb_setup_t {
jpayne@69 476 uint8_t status;
jpayne@69 477 uint8_t pad0;
jpayne@69 478 uint16_t protocol_major_version;
jpayne@69 479 uint16_t protocol_minor_version;
jpayne@69 480 uint16_t length;
jpayne@69 481 uint32_t release_number;
jpayne@69 482 uint32_t resource_id_base;
jpayne@69 483 uint32_t resource_id_mask;
jpayne@69 484 uint32_t motion_buffer_size;
jpayne@69 485 uint16_t vendor_len;
jpayne@69 486 uint16_t maximum_request_length;
jpayne@69 487 uint8_t roots_len;
jpayne@69 488 uint8_t pixmap_formats_len;
jpayne@69 489 uint8_t image_byte_order;
jpayne@69 490 uint8_t bitmap_format_bit_order;
jpayne@69 491 uint8_t bitmap_format_scanline_unit;
jpayne@69 492 uint8_t bitmap_format_scanline_pad;
jpayne@69 493 xcb_keycode_t min_keycode;
jpayne@69 494 xcb_keycode_t max_keycode;
jpayne@69 495 uint8_t pad1[4];
jpayne@69 496 } xcb_setup_t;
jpayne@69 497
jpayne@69 498 /**
jpayne@69 499 * @brief xcb_setup_iterator_t
jpayne@69 500 **/
jpayne@69 501 typedef struct xcb_setup_iterator_t {
jpayne@69 502 xcb_setup_t *data;
jpayne@69 503 int rem;
jpayne@69 504 int index;
jpayne@69 505 } xcb_setup_iterator_t;
jpayne@69 506
jpayne@69 507 typedef enum xcb_mod_mask_t {
jpayne@69 508 XCB_MOD_MASK_SHIFT = 1,
jpayne@69 509 XCB_MOD_MASK_LOCK = 2,
jpayne@69 510 XCB_MOD_MASK_CONTROL = 4,
jpayne@69 511 XCB_MOD_MASK_1 = 8,
jpayne@69 512 XCB_MOD_MASK_2 = 16,
jpayne@69 513 XCB_MOD_MASK_3 = 32,
jpayne@69 514 XCB_MOD_MASK_4 = 64,
jpayne@69 515 XCB_MOD_MASK_5 = 128,
jpayne@69 516 XCB_MOD_MASK_ANY = 32768
jpayne@69 517 } xcb_mod_mask_t;
jpayne@69 518
jpayne@69 519 typedef enum xcb_key_but_mask_t {
jpayne@69 520 XCB_KEY_BUT_MASK_SHIFT = 1,
jpayne@69 521 XCB_KEY_BUT_MASK_LOCK = 2,
jpayne@69 522 XCB_KEY_BUT_MASK_CONTROL = 4,
jpayne@69 523 XCB_KEY_BUT_MASK_MOD_1 = 8,
jpayne@69 524 XCB_KEY_BUT_MASK_MOD_2 = 16,
jpayne@69 525 XCB_KEY_BUT_MASK_MOD_3 = 32,
jpayne@69 526 XCB_KEY_BUT_MASK_MOD_4 = 64,
jpayne@69 527 XCB_KEY_BUT_MASK_MOD_5 = 128,
jpayne@69 528 XCB_KEY_BUT_MASK_BUTTON_1 = 256,
jpayne@69 529 XCB_KEY_BUT_MASK_BUTTON_2 = 512,
jpayne@69 530 XCB_KEY_BUT_MASK_BUTTON_3 = 1024,
jpayne@69 531 XCB_KEY_BUT_MASK_BUTTON_4 = 2048,
jpayne@69 532 XCB_KEY_BUT_MASK_BUTTON_5 = 4096
jpayne@69 533 } xcb_key_but_mask_t;
jpayne@69 534
jpayne@69 535 typedef enum xcb_window_enum_t {
jpayne@69 536 XCB_WINDOW_NONE = 0
jpayne@69 537 } xcb_window_enum_t;
jpayne@69 538
jpayne@69 539 /** Opcode for xcb_key_press. */
jpayne@69 540 #define XCB_KEY_PRESS 2
jpayne@69 541
jpayne@69 542 /**
jpayne@69 543 * @brief xcb_key_press_event_t
jpayne@69 544 **/
jpayne@69 545 typedef struct xcb_key_press_event_t {
jpayne@69 546 uint8_t response_type;
jpayne@69 547 xcb_keycode_t detail;
jpayne@69 548 uint16_t sequence;
jpayne@69 549 xcb_timestamp_t time;
jpayne@69 550 xcb_window_t root;
jpayne@69 551 xcb_window_t event;
jpayne@69 552 xcb_window_t child;
jpayne@69 553 int16_t root_x;
jpayne@69 554 int16_t root_y;
jpayne@69 555 int16_t event_x;
jpayne@69 556 int16_t event_y;
jpayne@69 557 uint16_t state;
jpayne@69 558 uint8_t same_screen;
jpayne@69 559 uint8_t pad0;
jpayne@69 560 } xcb_key_press_event_t;
jpayne@69 561
jpayne@69 562 /** Opcode for xcb_key_release. */
jpayne@69 563 #define XCB_KEY_RELEASE 3
jpayne@69 564
jpayne@69 565 typedef xcb_key_press_event_t xcb_key_release_event_t;
jpayne@69 566
jpayne@69 567 typedef enum xcb_button_mask_t {
jpayne@69 568 XCB_BUTTON_MASK_1 = 256,
jpayne@69 569 XCB_BUTTON_MASK_2 = 512,
jpayne@69 570 XCB_BUTTON_MASK_3 = 1024,
jpayne@69 571 XCB_BUTTON_MASK_4 = 2048,
jpayne@69 572 XCB_BUTTON_MASK_5 = 4096,
jpayne@69 573 XCB_BUTTON_MASK_ANY = 32768
jpayne@69 574 } xcb_button_mask_t;
jpayne@69 575
jpayne@69 576 /** Opcode for xcb_button_press. */
jpayne@69 577 #define XCB_BUTTON_PRESS 4
jpayne@69 578
jpayne@69 579 /**
jpayne@69 580 * @brief xcb_button_press_event_t
jpayne@69 581 **/
jpayne@69 582 typedef struct xcb_button_press_event_t {
jpayne@69 583 uint8_t response_type;
jpayne@69 584 xcb_button_t detail;
jpayne@69 585 uint16_t sequence;
jpayne@69 586 xcb_timestamp_t time;
jpayne@69 587 xcb_window_t root;
jpayne@69 588 xcb_window_t event;
jpayne@69 589 xcb_window_t child;
jpayne@69 590 int16_t root_x;
jpayne@69 591 int16_t root_y;
jpayne@69 592 int16_t event_x;
jpayne@69 593 int16_t event_y;
jpayne@69 594 uint16_t state;
jpayne@69 595 uint8_t same_screen;
jpayne@69 596 uint8_t pad0;
jpayne@69 597 } xcb_button_press_event_t;
jpayne@69 598
jpayne@69 599 /** Opcode for xcb_button_release. */
jpayne@69 600 #define XCB_BUTTON_RELEASE 5
jpayne@69 601
jpayne@69 602 typedef xcb_button_press_event_t xcb_button_release_event_t;
jpayne@69 603
jpayne@69 604 typedef enum xcb_motion_t {
jpayne@69 605 XCB_MOTION_NORMAL = 0,
jpayne@69 606 XCB_MOTION_HINT = 1
jpayne@69 607 } xcb_motion_t;
jpayne@69 608
jpayne@69 609 /** Opcode for xcb_motion_notify. */
jpayne@69 610 #define XCB_MOTION_NOTIFY 6
jpayne@69 611
jpayne@69 612 /**
jpayne@69 613 * @brief xcb_motion_notify_event_t
jpayne@69 614 **/
jpayne@69 615 typedef struct xcb_motion_notify_event_t {
jpayne@69 616 uint8_t response_type;
jpayne@69 617 uint8_t detail;
jpayne@69 618 uint16_t sequence;
jpayne@69 619 xcb_timestamp_t time;
jpayne@69 620 xcb_window_t root;
jpayne@69 621 xcb_window_t event;
jpayne@69 622 xcb_window_t child;
jpayne@69 623 int16_t root_x;
jpayne@69 624 int16_t root_y;
jpayne@69 625 int16_t event_x;
jpayne@69 626 int16_t event_y;
jpayne@69 627 uint16_t state;
jpayne@69 628 uint8_t same_screen;
jpayne@69 629 uint8_t pad0;
jpayne@69 630 } xcb_motion_notify_event_t;
jpayne@69 631
jpayne@69 632 typedef enum xcb_notify_detail_t {
jpayne@69 633 XCB_NOTIFY_DETAIL_ANCESTOR = 0,
jpayne@69 634 XCB_NOTIFY_DETAIL_VIRTUAL = 1,
jpayne@69 635 XCB_NOTIFY_DETAIL_INFERIOR = 2,
jpayne@69 636 XCB_NOTIFY_DETAIL_NONLINEAR = 3,
jpayne@69 637 XCB_NOTIFY_DETAIL_NONLINEAR_VIRTUAL = 4,
jpayne@69 638 XCB_NOTIFY_DETAIL_POINTER = 5,
jpayne@69 639 XCB_NOTIFY_DETAIL_POINTER_ROOT = 6,
jpayne@69 640 XCB_NOTIFY_DETAIL_NONE = 7
jpayne@69 641 } xcb_notify_detail_t;
jpayne@69 642
jpayne@69 643 typedef enum xcb_notify_mode_t {
jpayne@69 644 XCB_NOTIFY_MODE_NORMAL = 0,
jpayne@69 645 XCB_NOTIFY_MODE_GRAB = 1,
jpayne@69 646 XCB_NOTIFY_MODE_UNGRAB = 2,
jpayne@69 647 XCB_NOTIFY_MODE_WHILE_GRABBED = 3
jpayne@69 648 } xcb_notify_mode_t;
jpayne@69 649
jpayne@69 650 /** Opcode for xcb_enter_notify. */
jpayne@69 651 #define XCB_ENTER_NOTIFY 7
jpayne@69 652
jpayne@69 653 /**
jpayne@69 654 * @brief xcb_enter_notify_event_t
jpayne@69 655 **/
jpayne@69 656 typedef struct xcb_enter_notify_event_t {
jpayne@69 657 uint8_t response_type;
jpayne@69 658 uint8_t detail;
jpayne@69 659 uint16_t sequence;
jpayne@69 660 xcb_timestamp_t time;
jpayne@69 661 xcb_window_t root;
jpayne@69 662 xcb_window_t event;
jpayne@69 663 xcb_window_t child;
jpayne@69 664 int16_t root_x;
jpayne@69 665 int16_t root_y;
jpayne@69 666 int16_t event_x;
jpayne@69 667 int16_t event_y;
jpayne@69 668 uint16_t state;
jpayne@69 669 uint8_t mode;
jpayne@69 670 uint8_t same_screen_focus;
jpayne@69 671 } xcb_enter_notify_event_t;
jpayne@69 672
jpayne@69 673 /** Opcode for xcb_leave_notify. */
jpayne@69 674 #define XCB_LEAVE_NOTIFY 8
jpayne@69 675
jpayne@69 676 typedef xcb_enter_notify_event_t xcb_leave_notify_event_t;
jpayne@69 677
jpayne@69 678 /** Opcode for xcb_focus_in. */
jpayne@69 679 #define XCB_FOCUS_IN 9
jpayne@69 680
jpayne@69 681 /**
jpayne@69 682 * @brief xcb_focus_in_event_t
jpayne@69 683 **/
jpayne@69 684 typedef struct xcb_focus_in_event_t {
jpayne@69 685 uint8_t response_type;
jpayne@69 686 uint8_t detail;
jpayne@69 687 uint16_t sequence;
jpayne@69 688 xcb_window_t event;
jpayne@69 689 uint8_t mode;
jpayne@69 690 uint8_t pad0[3];
jpayne@69 691 } xcb_focus_in_event_t;
jpayne@69 692
jpayne@69 693 /** Opcode for xcb_focus_out. */
jpayne@69 694 #define XCB_FOCUS_OUT 10
jpayne@69 695
jpayne@69 696 typedef xcb_focus_in_event_t xcb_focus_out_event_t;
jpayne@69 697
jpayne@69 698 /** Opcode for xcb_keymap_notify. */
jpayne@69 699 #define XCB_KEYMAP_NOTIFY 11
jpayne@69 700
jpayne@69 701 /**
jpayne@69 702 * @brief xcb_keymap_notify_event_t
jpayne@69 703 **/
jpayne@69 704 typedef struct xcb_keymap_notify_event_t {
jpayne@69 705 uint8_t response_type;
jpayne@69 706 uint8_t keys[31];
jpayne@69 707 } xcb_keymap_notify_event_t;
jpayne@69 708
jpayne@69 709 /** Opcode for xcb_expose. */
jpayne@69 710 #define XCB_EXPOSE 12
jpayne@69 711
jpayne@69 712 /**
jpayne@69 713 * @brief xcb_expose_event_t
jpayne@69 714 **/
jpayne@69 715 typedef struct xcb_expose_event_t {
jpayne@69 716 uint8_t response_type;
jpayne@69 717 uint8_t pad0;
jpayne@69 718 uint16_t sequence;
jpayne@69 719 xcb_window_t window;
jpayne@69 720 uint16_t x;
jpayne@69 721 uint16_t y;
jpayne@69 722 uint16_t width;
jpayne@69 723 uint16_t height;
jpayne@69 724 uint16_t count;
jpayne@69 725 uint8_t pad1[2];
jpayne@69 726 } xcb_expose_event_t;
jpayne@69 727
jpayne@69 728 /** Opcode for xcb_graphics_exposure. */
jpayne@69 729 #define XCB_GRAPHICS_EXPOSURE 13
jpayne@69 730
jpayne@69 731 /**
jpayne@69 732 * @brief xcb_graphics_exposure_event_t
jpayne@69 733 **/
jpayne@69 734 typedef struct xcb_graphics_exposure_event_t {
jpayne@69 735 uint8_t response_type;
jpayne@69 736 uint8_t pad0;
jpayne@69 737 uint16_t sequence;
jpayne@69 738 xcb_drawable_t drawable;
jpayne@69 739 uint16_t x;
jpayne@69 740 uint16_t y;
jpayne@69 741 uint16_t width;
jpayne@69 742 uint16_t height;
jpayne@69 743 uint16_t minor_opcode;
jpayne@69 744 uint16_t count;
jpayne@69 745 uint8_t major_opcode;
jpayne@69 746 uint8_t pad1[3];
jpayne@69 747 } xcb_graphics_exposure_event_t;
jpayne@69 748
jpayne@69 749 /** Opcode for xcb_no_exposure. */
jpayne@69 750 #define XCB_NO_EXPOSURE 14
jpayne@69 751
jpayne@69 752 /**
jpayne@69 753 * @brief xcb_no_exposure_event_t
jpayne@69 754 **/
jpayne@69 755 typedef struct xcb_no_exposure_event_t {
jpayne@69 756 uint8_t response_type;
jpayne@69 757 uint8_t pad0;
jpayne@69 758 uint16_t sequence;
jpayne@69 759 xcb_drawable_t drawable;
jpayne@69 760 uint16_t minor_opcode;
jpayne@69 761 uint8_t major_opcode;
jpayne@69 762 uint8_t pad1;
jpayne@69 763 } xcb_no_exposure_event_t;
jpayne@69 764
jpayne@69 765 typedef enum xcb_visibility_t {
jpayne@69 766 XCB_VISIBILITY_UNOBSCURED = 0,
jpayne@69 767 XCB_VISIBILITY_PARTIALLY_OBSCURED = 1,
jpayne@69 768 XCB_VISIBILITY_FULLY_OBSCURED = 2
jpayne@69 769 } xcb_visibility_t;
jpayne@69 770
jpayne@69 771 /** Opcode for xcb_visibility_notify. */
jpayne@69 772 #define XCB_VISIBILITY_NOTIFY 15
jpayne@69 773
jpayne@69 774 /**
jpayne@69 775 * @brief xcb_visibility_notify_event_t
jpayne@69 776 **/
jpayne@69 777 typedef struct xcb_visibility_notify_event_t {
jpayne@69 778 uint8_t response_type;
jpayne@69 779 uint8_t pad0;
jpayne@69 780 uint16_t sequence;
jpayne@69 781 xcb_window_t window;
jpayne@69 782 uint8_t state;
jpayne@69 783 uint8_t pad1[3];
jpayne@69 784 } xcb_visibility_notify_event_t;
jpayne@69 785
jpayne@69 786 /** Opcode for xcb_create_notify. */
jpayne@69 787 #define XCB_CREATE_NOTIFY 16
jpayne@69 788
jpayne@69 789 /**
jpayne@69 790 * @brief xcb_create_notify_event_t
jpayne@69 791 **/
jpayne@69 792 typedef struct xcb_create_notify_event_t {
jpayne@69 793 uint8_t response_type;
jpayne@69 794 uint8_t pad0;
jpayne@69 795 uint16_t sequence;
jpayne@69 796 xcb_window_t parent;
jpayne@69 797 xcb_window_t window;
jpayne@69 798 int16_t x;
jpayne@69 799 int16_t y;
jpayne@69 800 uint16_t width;
jpayne@69 801 uint16_t height;
jpayne@69 802 uint16_t border_width;
jpayne@69 803 uint8_t override_redirect;
jpayne@69 804 uint8_t pad1;
jpayne@69 805 } xcb_create_notify_event_t;
jpayne@69 806
jpayne@69 807 /** Opcode for xcb_destroy_notify. */
jpayne@69 808 #define XCB_DESTROY_NOTIFY 17
jpayne@69 809
jpayne@69 810 /**
jpayne@69 811 * @brief xcb_destroy_notify_event_t
jpayne@69 812 **/
jpayne@69 813 typedef struct xcb_destroy_notify_event_t {
jpayne@69 814 uint8_t response_type;
jpayne@69 815 uint8_t pad0;
jpayne@69 816 uint16_t sequence;
jpayne@69 817 xcb_window_t event;
jpayne@69 818 xcb_window_t window;
jpayne@69 819 } xcb_destroy_notify_event_t;
jpayne@69 820
jpayne@69 821 /** Opcode for xcb_unmap_notify. */
jpayne@69 822 #define XCB_UNMAP_NOTIFY 18
jpayne@69 823
jpayne@69 824 /**
jpayne@69 825 * @brief xcb_unmap_notify_event_t
jpayne@69 826 **/
jpayne@69 827 typedef struct xcb_unmap_notify_event_t {
jpayne@69 828 uint8_t response_type;
jpayne@69 829 uint8_t pad0;
jpayne@69 830 uint16_t sequence;
jpayne@69 831 xcb_window_t event;
jpayne@69 832 xcb_window_t window;
jpayne@69 833 uint8_t from_configure;
jpayne@69 834 uint8_t pad1[3];
jpayne@69 835 } xcb_unmap_notify_event_t;
jpayne@69 836
jpayne@69 837 /** Opcode for xcb_map_notify. */
jpayne@69 838 #define XCB_MAP_NOTIFY 19
jpayne@69 839
jpayne@69 840 /**
jpayne@69 841 * @brief xcb_map_notify_event_t
jpayne@69 842 **/
jpayne@69 843 typedef struct xcb_map_notify_event_t {
jpayne@69 844 uint8_t response_type;
jpayne@69 845 uint8_t pad0;
jpayne@69 846 uint16_t sequence;
jpayne@69 847 xcb_window_t event;
jpayne@69 848 xcb_window_t window;
jpayne@69 849 uint8_t override_redirect;
jpayne@69 850 uint8_t pad1[3];
jpayne@69 851 } xcb_map_notify_event_t;
jpayne@69 852
jpayne@69 853 /** Opcode for xcb_map_request. */
jpayne@69 854 #define XCB_MAP_REQUEST 20
jpayne@69 855
jpayne@69 856 /**
jpayne@69 857 * @brief xcb_map_request_event_t
jpayne@69 858 **/
jpayne@69 859 typedef struct xcb_map_request_event_t {
jpayne@69 860 uint8_t response_type;
jpayne@69 861 uint8_t pad0;
jpayne@69 862 uint16_t sequence;
jpayne@69 863 xcb_window_t parent;
jpayne@69 864 xcb_window_t window;
jpayne@69 865 } xcb_map_request_event_t;
jpayne@69 866
jpayne@69 867 /** Opcode for xcb_reparent_notify. */
jpayne@69 868 #define XCB_REPARENT_NOTIFY 21
jpayne@69 869
jpayne@69 870 /**
jpayne@69 871 * @brief xcb_reparent_notify_event_t
jpayne@69 872 **/
jpayne@69 873 typedef struct xcb_reparent_notify_event_t {
jpayne@69 874 uint8_t response_type;
jpayne@69 875 uint8_t pad0;
jpayne@69 876 uint16_t sequence;
jpayne@69 877 xcb_window_t event;
jpayne@69 878 xcb_window_t window;
jpayne@69 879 xcb_window_t parent;
jpayne@69 880 int16_t x;
jpayne@69 881 int16_t y;
jpayne@69 882 uint8_t override_redirect;
jpayne@69 883 uint8_t pad1[3];
jpayne@69 884 } xcb_reparent_notify_event_t;
jpayne@69 885
jpayne@69 886 /** Opcode for xcb_configure_notify. */
jpayne@69 887 #define XCB_CONFIGURE_NOTIFY 22
jpayne@69 888
jpayne@69 889 /**
jpayne@69 890 * @brief xcb_configure_notify_event_t
jpayne@69 891 **/
jpayne@69 892 typedef struct xcb_configure_notify_event_t {
jpayne@69 893 uint8_t response_type;
jpayne@69 894 uint8_t pad0;
jpayne@69 895 uint16_t sequence;
jpayne@69 896 xcb_window_t event;
jpayne@69 897 xcb_window_t window;
jpayne@69 898 xcb_window_t above_sibling;
jpayne@69 899 int16_t x;
jpayne@69 900 int16_t y;
jpayne@69 901 uint16_t width;
jpayne@69 902 uint16_t height;
jpayne@69 903 uint16_t border_width;
jpayne@69 904 uint8_t override_redirect;
jpayne@69 905 uint8_t pad1;
jpayne@69 906 } xcb_configure_notify_event_t;
jpayne@69 907
jpayne@69 908 /** Opcode for xcb_configure_request. */
jpayne@69 909 #define XCB_CONFIGURE_REQUEST 23
jpayne@69 910
jpayne@69 911 /**
jpayne@69 912 * @brief xcb_configure_request_event_t
jpayne@69 913 **/
jpayne@69 914 typedef struct xcb_configure_request_event_t {
jpayne@69 915 uint8_t response_type;
jpayne@69 916 uint8_t stack_mode;
jpayne@69 917 uint16_t sequence;
jpayne@69 918 xcb_window_t parent;
jpayne@69 919 xcb_window_t window;
jpayne@69 920 xcb_window_t sibling;
jpayne@69 921 int16_t x;
jpayne@69 922 int16_t y;
jpayne@69 923 uint16_t width;
jpayne@69 924 uint16_t height;
jpayne@69 925 uint16_t border_width;
jpayne@69 926 uint16_t value_mask;
jpayne@69 927 } xcb_configure_request_event_t;
jpayne@69 928
jpayne@69 929 /** Opcode for xcb_gravity_notify. */
jpayne@69 930 #define XCB_GRAVITY_NOTIFY 24
jpayne@69 931
jpayne@69 932 /**
jpayne@69 933 * @brief xcb_gravity_notify_event_t
jpayne@69 934 **/
jpayne@69 935 typedef struct xcb_gravity_notify_event_t {
jpayne@69 936 uint8_t response_type;
jpayne@69 937 uint8_t pad0;
jpayne@69 938 uint16_t sequence;
jpayne@69 939 xcb_window_t event;
jpayne@69 940 xcb_window_t window;
jpayne@69 941 int16_t x;
jpayne@69 942 int16_t y;
jpayne@69 943 } xcb_gravity_notify_event_t;
jpayne@69 944
jpayne@69 945 /** Opcode for xcb_resize_request. */
jpayne@69 946 #define XCB_RESIZE_REQUEST 25
jpayne@69 947
jpayne@69 948 /**
jpayne@69 949 * @brief xcb_resize_request_event_t
jpayne@69 950 **/
jpayne@69 951 typedef struct xcb_resize_request_event_t {
jpayne@69 952 uint8_t response_type;
jpayne@69 953 uint8_t pad0;
jpayne@69 954 uint16_t sequence;
jpayne@69 955 xcb_window_t window;
jpayne@69 956 uint16_t width;
jpayne@69 957 uint16_t height;
jpayne@69 958 } xcb_resize_request_event_t;
jpayne@69 959
jpayne@69 960 typedef enum xcb_place_t {
jpayne@69 961 XCB_PLACE_ON_TOP = 0,
jpayne@69 962 /**< The window is now on top of all siblings. */
jpayne@69 963
jpayne@69 964 XCB_PLACE_ON_BOTTOM = 1
jpayne@69 965 /**< The window is now below all siblings. */
jpayne@69 966
jpayne@69 967 } xcb_place_t;
jpayne@69 968
jpayne@69 969 /** Opcode for xcb_circulate_notify. */
jpayne@69 970 #define XCB_CIRCULATE_NOTIFY 26
jpayne@69 971
jpayne@69 972 /**
jpayne@69 973 * @brief xcb_circulate_notify_event_t
jpayne@69 974 **/
jpayne@69 975 typedef struct xcb_circulate_notify_event_t {
jpayne@69 976 uint8_t response_type;
jpayne@69 977 uint8_t pad0;
jpayne@69 978 uint16_t sequence;
jpayne@69 979 xcb_window_t event;
jpayne@69 980 xcb_window_t window;
jpayne@69 981 uint8_t pad1[4];
jpayne@69 982 uint8_t place;
jpayne@69 983 uint8_t pad2[3];
jpayne@69 984 } xcb_circulate_notify_event_t;
jpayne@69 985
jpayne@69 986 /** Opcode for xcb_circulate_request. */
jpayne@69 987 #define XCB_CIRCULATE_REQUEST 27
jpayne@69 988
jpayne@69 989 typedef xcb_circulate_notify_event_t xcb_circulate_request_event_t;
jpayne@69 990
jpayne@69 991 typedef enum xcb_property_t {
jpayne@69 992 XCB_PROPERTY_NEW_VALUE = 0,
jpayne@69 993 XCB_PROPERTY_DELETE = 1
jpayne@69 994 } xcb_property_t;
jpayne@69 995
jpayne@69 996 /** Opcode for xcb_property_notify. */
jpayne@69 997 #define XCB_PROPERTY_NOTIFY 28
jpayne@69 998
jpayne@69 999 /**
jpayne@69 1000 * @brief xcb_property_notify_event_t
jpayne@69 1001 **/
jpayne@69 1002 typedef struct xcb_property_notify_event_t {
jpayne@69 1003 uint8_t response_type;
jpayne@69 1004 uint8_t pad0;
jpayne@69 1005 uint16_t sequence;
jpayne@69 1006 xcb_window_t window;
jpayne@69 1007 xcb_atom_t atom;
jpayne@69 1008 xcb_timestamp_t time;
jpayne@69 1009 uint8_t state;
jpayne@69 1010 uint8_t pad1[3];
jpayne@69 1011 } xcb_property_notify_event_t;
jpayne@69 1012
jpayne@69 1013 /** Opcode for xcb_selection_clear. */
jpayne@69 1014 #define XCB_SELECTION_CLEAR 29
jpayne@69 1015
jpayne@69 1016 /**
jpayne@69 1017 * @brief xcb_selection_clear_event_t
jpayne@69 1018 **/
jpayne@69 1019 typedef struct xcb_selection_clear_event_t {
jpayne@69 1020 uint8_t response_type;
jpayne@69 1021 uint8_t pad0;
jpayne@69 1022 uint16_t sequence;
jpayne@69 1023 xcb_timestamp_t time;
jpayne@69 1024 xcb_window_t owner;
jpayne@69 1025 xcb_atom_t selection;
jpayne@69 1026 } xcb_selection_clear_event_t;
jpayne@69 1027
jpayne@69 1028 typedef enum xcb_time_t {
jpayne@69 1029 XCB_TIME_CURRENT_TIME = 0
jpayne@69 1030 } xcb_time_t;
jpayne@69 1031
jpayne@69 1032 typedef enum xcb_atom_enum_t {
jpayne@69 1033 XCB_ATOM_NONE = 0,
jpayne@69 1034 XCB_ATOM_ANY = 0,
jpayne@69 1035 XCB_ATOM_PRIMARY = 1,
jpayne@69 1036 XCB_ATOM_SECONDARY = 2,
jpayne@69 1037 XCB_ATOM_ARC = 3,
jpayne@69 1038 XCB_ATOM_ATOM = 4,
jpayne@69 1039 XCB_ATOM_BITMAP = 5,
jpayne@69 1040 XCB_ATOM_CARDINAL = 6,
jpayne@69 1041 XCB_ATOM_COLORMAP = 7,
jpayne@69 1042 XCB_ATOM_CURSOR = 8,
jpayne@69 1043 XCB_ATOM_CUT_BUFFER0 = 9,
jpayne@69 1044 XCB_ATOM_CUT_BUFFER1 = 10,
jpayne@69 1045 XCB_ATOM_CUT_BUFFER2 = 11,
jpayne@69 1046 XCB_ATOM_CUT_BUFFER3 = 12,
jpayne@69 1047 XCB_ATOM_CUT_BUFFER4 = 13,
jpayne@69 1048 XCB_ATOM_CUT_BUFFER5 = 14,
jpayne@69 1049 XCB_ATOM_CUT_BUFFER6 = 15,
jpayne@69 1050 XCB_ATOM_CUT_BUFFER7 = 16,
jpayne@69 1051 XCB_ATOM_DRAWABLE = 17,
jpayne@69 1052 XCB_ATOM_FONT = 18,
jpayne@69 1053 XCB_ATOM_INTEGER = 19,
jpayne@69 1054 XCB_ATOM_PIXMAP = 20,
jpayne@69 1055 XCB_ATOM_POINT = 21,
jpayne@69 1056 XCB_ATOM_RECTANGLE = 22,
jpayne@69 1057 XCB_ATOM_RESOURCE_MANAGER = 23,
jpayne@69 1058 XCB_ATOM_RGB_COLOR_MAP = 24,
jpayne@69 1059 XCB_ATOM_RGB_BEST_MAP = 25,
jpayne@69 1060 XCB_ATOM_RGB_BLUE_MAP = 26,
jpayne@69 1061 XCB_ATOM_RGB_DEFAULT_MAP = 27,
jpayne@69 1062 XCB_ATOM_RGB_GRAY_MAP = 28,
jpayne@69 1063 XCB_ATOM_RGB_GREEN_MAP = 29,
jpayne@69 1064 XCB_ATOM_RGB_RED_MAP = 30,
jpayne@69 1065 XCB_ATOM_STRING = 31,
jpayne@69 1066 XCB_ATOM_VISUALID = 32,
jpayne@69 1067 XCB_ATOM_WINDOW = 33,
jpayne@69 1068 XCB_ATOM_WM_COMMAND = 34,
jpayne@69 1069 XCB_ATOM_WM_HINTS = 35,
jpayne@69 1070 XCB_ATOM_WM_CLIENT_MACHINE = 36,
jpayne@69 1071 XCB_ATOM_WM_ICON_NAME = 37,
jpayne@69 1072 XCB_ATOM_WM_ICON_SIZE = 38,
jpayne@69 1073 XCB_ATOM_WM_NAME = 39,
jpayne@69 1074 XCB_ATOM_WM_NORMAL_HINTS = 40,
jpayne@69 1075 XCB_ATOM_WM_SIZE_HINTS = 41,
jpayne@69 1076 XCB_ATOM_WM_ZOOM_HINTS = 42,
jpayne@69 1077 XCB_ATOM_MIN_SPACE = 43,
jpayne@69 1078 XCB_ATOM_NORM_SPACE = 44,
jpayne@69 1079 XCB_ATOM_MAX_SPACE = 45,
jpayne@69 1080 XCB_ATOM_END_SPACE = 46,
jpayne@69 1081 XCB_ATOM_SUPERSCRIPT_X = 47,
jpayne@69 1082 XCB_ATOM_SUPERSCRIPT_Y = 48,
jpayne@69 1083 XCB_ATOM_SUBSCRIPT_X = 49,
jpayne@69 1084 XCB_ATOM_SUBSCRIPT_Y = 50,
jpayne@69 1085 XCB_ATOM_UNDERLINE_POSITION = 51,
jpayne@69 1086 XCB_ATOM_UNDERLINE_THICKNESS = 52,
jpayne@69 1087 XCB_ATOM_STRIKEOUT_ASCENT = 53,
jpayne@69 1088 XCB_ATOM_STRIKEOUT_DESCENT = 54,
jpayne@69 1089 XCB_ATOM_ITALIC_ANGLE = 55,
jpayne@69 1090 XCB_ATOM_X_HEIGHT = 56,
jpayne@69 1091 XCB_ATOM_QUAD_WIDTH = 57,
jpayne@69 1092 XCB_ATOM_WEIGHT = 58,
jpayne@69 1093 XCB_ATOM_POINT_SIZE = 59,
jpayne@69 1094 XCB_ATOM_RESOLUTION = 60,
jpayne@69 1095 XCB_ATOM_COPYRIGHT = 61,
jpayne@69 1096 XCB_ATOM_NOTICE = 62,
jpayne@69 1097 XCB_ATOM_FONT_NAME = 63,
jpayne@69 1098 XCB_ATOM_FAMILY_NAME = 64,
jpayne@69 1099 XCB_ATOM_FULL_NAME = 65,
jpayne@69 1100 XCB_ATOM_CAP_HEIGHT = 66,
jpayne@69 1101 XCB_ATOM_WM_CLASS = 67,
jpayne@69 1102 XCB_ATOM_WM_TRANSIENT_FOR = 68
jpayne@69 1103 } xcb_atom_enum_t;
jpayne@69 1104
jpayne@69 1105 /** Opcode for xcb_selection_request. */
jpayne@69 1106 #define XCB_SELECTION_REQUEST 30
jpayne@69 1107
jpayne@69 1108 /**
jpayne@69 1109 * @brief xcb_selection_request_event_t
jpayne@69 1110 **/
jpayne@69 1111 typedef struct xcb_selection_request_event_t {
jpayne@69 1112 uint8_t response_type;
jpayne@69 1113 uint8_t pad0;
jpayne@69 1114 uint16_t sequence;
jpayne@69 1115 xcb_timestamp_t time;
jpayne@69 1116 xcb_window_t owner;
jpayne@69 1117 xcb_window_t requestor;
jpayne@69 1118 xcb_atom_t selection;
jpayne@69 1119 xcb_atom_t target;
jpayne@69 1120 xcb_atom_t property;
jpayne@69 1121 } xcb_selection_request_event_t;
jpayne@69 1122
jpayne@69 1123 /** Opcode for xcb_selection_notify. */
jpayne@69 1124 #define XCB_SELECTION_NOTIFY 31
jpayne@69 1125
jpayne@69 1126 /**
jpayne@69 1127 * @brief xcb_selection_notify_event_t
jpayne@69 1128 **/
jpayne@69 1129 typedef struct xcb_selection_notify_event_t {
jpayne@69 1130 uint8_t response_type;
jpayne@69 1131 uint8_t pad0;
jpayne@69 1132 uint16_t sequence;
jpayne@69 1133 xcb_timestamp_t time;
jpayne@69 1134 xcb_window_t requestor;
jpayne@69 1135 xcb_atom_t selection;
jpayne@69 1136 xcb_atom_t target;
jpayne@69 1137 xcb_atom_t property;
jpayne@69 1138 } xcb_selection_notify_event_t;
jpayne@69 1139
jpayne@69 1140 typedef enum xcb_colormap_state_t {
jpayne@69 1141 XCB_COLORMAP_STATE_UNINSTALLED = 0,
jpayne@69 1142 /**< The colormap was uninstalled. */
jpayne@69 1143
jpayne@69 1144 XCB_COLORMAP_STATE_INSTALLED = 1
jpayne@69 1145 /**< The colormap was installed. */
jpayne@69 1146
jpayne@69 1147 } xcb_colormap_state_t;
jpayne@69 1148
jpayne@69 1149 typedef enum xcb_colormap_enum_t {
jpayne@69 1150 XCB_COLORMAP_NONE = 0
jpayne@69 1151 } xcb_colormap_enum_t;
jpayne@69 1152
jpayne@69 1153 /** Opcode for xcb_colormap_notify. */
jpayne@69 1154 #define XCB_COLORMAP_NOTIFY 32
jpayne@69 1155
jpayne@69 1156 /**
jpayne@69 1157 * @brief xcb_colormap_notify_event_t
jpayne@69 1158 **/
jpayne@69 1159 typedef struct xcb_colormap_notify_event_t {
jpayne@69 1160 uint8_t response_type;
jpayne@69 1161 uint8_t pad0;
jpayne@69 1162 uint16_t sequence;
jpayne@69 1163 xcb_window_t window;
jpayne@69 1164 xcb_colormap_t colormap;
jpayne@69 1165 uint8_t _new;
jpayne@69 1166 uint8_t state;
jpayne@69 1167 uint8_t pad1[2];
jpayne@69 1168 } xcb_colormap_notify_event_t;
jpayne@69 1169
jpayne@69 1170 /**
jpayne@69 1171 * @brief xcb_client_message_data_t
jpayne@69 1172 **/
jpayne@69 1173 typedef union xcb_client_message_data_t {
jpayne@69 1174 uint8_t data8[20];
jpayne@69 1175 uint16_t data16[10];
jpayne@69 1176 uint32_t data32[5];
jpayne@69 1177 } xcb_client_message_data_t;
jpayne@69 1178
jpayne@69 1179 /**
jpayne@69 1180 * @brief xcb_client_message_data_iterator_t
jpayne@69 1181 **/
jpayne@69 1182 typedef struct xcb_client_message_data_iterator_t {
jpayne@69 1183 xcb_client_message_data_t *data;
jpayne@69 1184 int rem;
jpayne@69 1185 int index;
jpayne@69 1186 } xcb_client_message_data_iterator_t;
jpayne@69 1187
jpayne@69 1188 /** Opcode for xcb_client_message. */
jpayne@69 1189 #define XCB_CLIENT_MESSAGE 33
jpayne@69 1190
jpayne@69 1191 /**
jpayne@69 1192 * @brief xcb_client_message_event_t
jpayne@69 1193 **/
jpayne@69 1194 typedef struct xcb_client_message_event_t {
jpayne@69 1195 uint8_t response_type;
jpayne@69 1196 uint8_t format;
jpayne@69 1197 uint16_t sequence;
jpayne@69 1198 xcb_window_t window;
jpayne@69 1199 xcb_atom_t type;
jpayne@69 1200 xcb_client_message_data_t data;
jpayne@69 1201 } xcb_client_message_event_t;
jpayne@69 1202
jpayne@69 1203 typedef enum xcb_mapping_t {
jpayne@69 1204 XCB_MAPPING_MODIFIER = 0,
jpayne@69 1205 XCB_MAPPING_KEYBOARD = 1,
jpayne@69 1206 XCB_MAPPING_POINTER = 2
jpayne@69 1207 } xcb_mapping_t;
jpayne@69 1208
jpayne@69 1209 /** Opcode for xcb_mapping_notify. */
jpayne@69 1210 #define XCB_MAPPING_NOTIFY 34
jpayne@69 1211
jpayne@69 1212 /**
jpayne@69 1213 * @brief xcb_mapping_notify_event_t
jpayne@69 1214 **/
jpayne@69 1215 typedef struct xcb_mapping_notify_event_t {
jpayne@69 1216 uint8_t response_type;
jpayne@69 1217 uint8_t pad0;
jpayne@69 1218 uint16_t sequence;
jpayne@69 1219 uint8_t request;
jpayne@69 1220 xcb_keycode_t first_keycode;
jpayne@69 1221 uint8_t count;
jpayne@69 1222 uint8_t pad1;
jpayne@69 1223 } xcb_mapping_notify_event_t;
jpayne@69 1224
jpayne@69 1225 /** Opcode for xcb_ge_generic. */
jpayne@69 1226 #define XCB_GE_GENERIC 35
jpayne@69 1227
jpayne@69 1228 /**
jpayne@69 1229 * @brief xcb_ge_generic_event_t
jpayne@69 1230 **/
jpayne@69 1231 typedef struct xcb_ge_generic_event_t {
jpayne@69 1232 uint8_t response_type;
jpayne@69 1233 uint8_t extension;
jpayne@69 1234 uint16_t sequence;
jpayne@69 1235 uint32_t length;
jpayne@69 1236 uint16_t event_type;
jpayne@69 1237 uint8_t pad0[22];
jpayne@69 1238 uint32_t full_sequence;
jpayne@69 1239 } xcb_ge_generic_event_t;
jpayne@69 1240
jpayne@69 1241 /** Opcode for xcb_request. */
jpayne@69 1242 #define XCB_REQUEST 1
jpayne@69 1243
jpayne@69 1244 /**
jpayne@69 1245 * @brief xcb_request_error_t
jpayne@69 1246 **/
jpayne@69 1247 typedef struct xcb_request_error_t {
jpayne@69 1248 uint8_t response_type;
jpayne@69 1249 uint8_t error_code;
jpayne@69 1250 uint16_t sequence;
jpayne@69 1251 uint32_t bad_value;
jpayne@69 1252 uint16_t minor_opcode;
jpayne@69 1253 uint8_t major_opcode;
jpayne@69 1254 uint8_t pad0;
jpayne@69 1255 } xcb_request_error_t;
jpayne@69 1256
jpayne@69 1257 /** Opcode for xcb_value. */
jpayne@69 1258 #define XCB_VALUE 2
jpayne@69 1259
jpayne@69 1260 /**
jpayne@69 1261 * @brief xcb_value_error_t
jpayne@69 1262 **/
jpayne@69 1263 typedef struct xcb_value_error_t {
jpayne@69 1264 uint8_t response_type;
jpayne@69 1265 uint8_t error_code;
jpayne@69 1266 uint16_t sequence;
jpayne@69 1267 uint32_t bad_value;
jpayne@69 1268 uint16_t minor_opcode;
jpayne@69 1269 uint8_t major_opcode;
jpayne@69 1270 uint8_t pad0;
jpayne@69 1271 } xcb_value_error_t;
jpayne@69 1272
jpayne@69 1273 /** Opcode for xcb_window. */
jpayne@69 1274 #define XCB_WINDOW 3
jpayne@69 1275
jpayne@69 1276 typedef xcb_value_error_t xcb_window_error_t;
jpayne@69 1277
jpayne@69 1278 /** Opcode for xcb_pixmap. */
jpayne@69 1279 #define XCB_PIXMAP 4
jpayne@69 1280
jpayne@69 1281 typedef xcb_value_error_t xcb_pixmap_error_t;
jpayne@69 1282
jpayne@69 1283 /** Opcode for xcb_atom. */
jpayne@69 1284 #define XCB_ATOM 5
jpayne@69 1285
jpayne@69 1286 typedef xcb_value_error_t xcb_atom_error_t;
jpayne@69 1287
jpayne@69 1288 /** Opcode for xcb_cursor. */
jpayne@69 1289 #define XCB_CURSOR 6
jpayne@69 1290
jpayne@69 1291 typedef xcb_value_error_t xcb_cursor_error_t;
jpayne@69 1292
jpayne@69 1293 /** Opcode for xcb_font. */
jpayne@69 1294 #define XCB_FONT 7
jpayne@69 1295
jpayne@69 1296 typedef xcb_value_error_t xcb_font_error_t;
jpayne@69 1297
jpayne@69 1298 /** Opcode for xcb_match. */
jpayne@69 1299 #define XCB_MATCH 8
jpayne@69 1300
jpayne@69 1301 typedef xcb_request_error_t xcb_match_error_t;
jpayne@69 1302
jpayne@69 1303 /** Opcode for xcb_drawable. */
jpayne@69 1304 #define XCB_DRAWABLE 9
jpayne@69 1305
jpayne@69 1306 typedef xcb_value_error_t xcb_drawable_error_t;
jpayne@69 1307
jpayne@69 1308 /** Opcode for xcb_access. */
jpayne@69 1309 #define XCB_ACCESS 10
jpayne@69 1310
jpayne@69 1311 typedef xcb_request_error_t xcb_access_error_t;
jpayne@69 1312
jpayne@69 1313 /** Opcode for xcb_alloc. */
jpayne@69 1314 #define XCB_ALLOC 11
jpayne@69 1315
jpayne@69 1316 typedef xcb_request_error_t xcb_alloc_error_t;
jpayne@69 1317
jpayne@69 1318 /** Opcode for xcb_colormap. */
jpayne@69 1319 #define XCB_COLORMAP 12
jpayne@69 1320
jpayne@69 1321 typedef xcb_value_error_t xcb_colormap_error_t;
jpayne@69 1322
jpayne@69 1323 /** Opcode for xcb_g_context. */
jpayne@69 1324 #define XCB_G_CONTEXT 13
jpayne@69 1325
jpayne@69 1326 typedef xcb_value_error_t xcb_g_context_error_t;
jpayne@69 1327
jpayne@69 1328 /** Opcode for xcb_id_choice. */
jpayne@69 1329 #define XCB_ID_CHOICE 14
jpayne@69 1330
jpayne@69 1331 typedef xcb_value_error_t xcb_id_choice_error_t;
jpayne@69 1332
jpayne@69 1333 /** Opcode for xcb_name. */
jpayne@69 1334 #define XCB_NAME 15
jpayne@69 1335
jpayne@69 1336 typedef xcb_request_error_t xcb_name_error_t;
jpayne@69 1337
jpayne@69 1338 /** Opcode for xcb_length. */
jpayne@69 1339 #define XCB_LENGTH 16
jpayne@69 1340
jpayne@69 1341 typedef xcb_request_error_t xcb_length_error_t;
jpayne@69 1342
jpayne@69 1343 /** Opcode for xcb_implementation. */
jpayne@69 1344 #define XCB_IMPLEMENTATION 17
jpayne@69 1345
jpayne@69 1346 typedef xcb_request_error_t xcb_implementation_error_t;
jpayne@69 1347
jpayne@69 1348 typedef enum xcb_window_class_t {
jpayne@69 1349 XCB_WINDOW_CLASS_COPY_FROM_PARENT = 0,
jpayne@69 1350 XCB_WINDOW_CLASS_INPUT_OUTPUT = 1,
jpayne@69 1351 XCB_WINDOW_CLASS_INPUT_ONLY = 2
jpayne@69 1352 } xcb_window_class_t;
jpayne@69 1353
jpayne@69 1354 typedef enum xcb_cw_t {
jpayne@69 1355 XCB_CW_BACK_PIXMAP = 1,
jpayne@69 1356 /**< Overrides the default background-pixmap. The background pixmap and window must
jpayne@69 1357 have the same root and same depth. Any size pixmap can be used, although some
jpayne@69 1358 sizes may be faster than others.
jpayne@69 1359
jpayne@69 1360 If `XCB_BACK_PIXMAP_NONE` is specified, the window has no defined background.
jpayne@69 1361 The server may fill the contents with the previous screen contents or with
jpayne@69 1362 contents of its own choosing.
jpayne@69 1363
jpayne@69 1364 If `XCB_BACK_PIXMAP_PARENT_RELATIVE` is specified, the parent's background is
jpayne@69 1365 used, but the window must have the same depth as the parent (or a Match error
jpayne@69 1366 results). The parent's background is tracked, and the current version is
jpayne@69 1367 used each time the window background is required. */
jpayne@69 1368
jpayne@69 1369 XCB_CW_BACK_PIXEL = 2,
jpayne@69 1370 /**< Overrides `BackPixmap`. A pixmap of undefined size filled with the specified
jpayne@69 1371 background pixel is used for the background. Range-checking is not performed,
jpayne@69 1372 the background pixel is truncated to the appropriate number of bits. */
jpayne@69 1373
jpayne@69 1374 XCB_CW_BORDER_PIXMAP = 4,
jpayne@69 1375 /**< Overrides the default border-pixmap. The border pixmap and window must have the
jpayne@69 1376 same root and the same depth. Any size pixmap can be used, although some sizes
jpayne@69 1377 may be faster than others.
jpayne@69 1378
jpayne@69 1379 The special value `XCB_COPY_FROM_PARENT` means the parent's border pixmap is
jpayne@69 1380 copied (subsequent changes to the parent's border attribute do not affect the
jpayne@69 1381 child), but the window must have the same depth as the parent. */
jpayne@69 1382
jpayne@69 1383 XCB_CW_BORDER_PIXEL = 8,
jpayne@69 1384 /**< Overrides `BorderPixmap`. A pixmap of undefined size filled with the specified
jpayne@69 1385 border pixel is used for the border. Range checking is not performed on the
jpayne@69 1386 border-pixel value, it is truncated to the appropriate number of bits. */
jpayne@69 1387
jpayne@69 1388 XCB_CW_BIT_GRAVITY = 16,
jpayne@69 1389 /**< Defines which region of the window should be retained if the window is resized. */
jpayne@69 1390
jpayne@69 1391 XCB_CW_WIN_GRAVITY = 32,
jpayne@69 1392 /**< Defines how the window should be repositioned if the parent is resized (see
jpayne@69 1393 `ConfigureWindow`). */
jpayne@69 1394
jpayne@69 1395 XCB_CW_BACKING_STORE = 64,
jpayne@69 1396 /**< A backing-store of `WhenMapped` advises the server that maintaining contents of
jpayne@69 1397 obscured regions when the window is mapped would be beneficial. A backing-store
jpayne@69 1398 of `Always` advises the server that maintaining contents even when the window
jpayne@69 1399 is unmapped would be beneficial. In this case, the server may generate an
jpayne@69 1400 exposure event when the window is created. A value of `NotUseful` advises the
jpayne@69 1401 server that maintaining contents is unnecessary, although a server may still
jpayne@69 1402 choose to maintain contents while the window is mapped. Note that if the server
jpayne@69 1403 maintains contents, then the server should maintain complete contents not just
jpayne@69 1404 the region within the parent boundaries, even if the window is larger than its
jpayne@69 1405 parent. While the server maintains contents, exposure events will not normally
jpayne@69 1406 be generated, but the server may stop maintaining contents at any time. */
jpayne@69 1407
jpayne@69 1408 XCB_CW_BACKING_PLANES = 128,
jpayne@69 1409 /**< The backing-planes indicates (with bits set to 1) which bit planes of the
jpayne@69 1410 window hold dynamic data that must be preserved in backing-stores and during
jpayne@69 1411 save-unders. */
jpayne@69 1412
jpayne@69 1413 XCB_CW_BACKING_PIXEL = 256,
jpayne@69 1414 /**< The backing-pixel specifies what value to use in planes not covered by
jpayne@69 1415 backing-planes. The server is free to save only the specified bit planes in the
jpayne@69 1416 backing-store or save-under and regenerate the remaining planes with the
jpayne@69 1417 specified pixel value. Any bits beyond the specified depth of the window in
jpayne@69 1418 these values are simply ignored. */
jpayne@69 1419
jpayne@69 1420 XCB_CW_OVERRIDE_REDIRECT = 512,
jpayne@69 1421 /**< The override-redirect specifies whether map and configure requests on this
jpayne@69 1422 window should override a SubstructureRedirect on the parent, typically to
jpayne@69 1423 inform a window manager not to tamper with the window. */
jpayne@69 1424
jpayne@69 1425 XCB_CW_SAVE_UNDER = 1024,
jpayne@69 1426 /**< If 1, the server is advised that when this window is mapped, saving the
jpayne@69 1427 contents of windows it obscures would be beneficial. */
jpayne@69 1428
jpayne@69 1429 XCB_CW_EVENT_MASK = 2048,
jpayne@69 1430 /**< The event-mask defines which events the client is interested in for this window
jpayne@69 1431 (or for some event types, inferiors of the window). */
jpayne@69 1432
jpayne@69 1433 XCB_CW_DONT_PROPAGATE = 4096,
jpayne@69 1434 /**< The do-not-propagate-mask defines which events should not be propagated to
jpayne@69 1435 ancestor windows when no client has the event type selected in this window. */
jpayne@69 1436
jpayne@69 1437 XCB_CW_COLORMAP = 8192,
jpayne@69 1438 /**< The colormap specifies the colormap that best reflects the true colors of the window. Servers
jpayne@69 1439 capable of supporting multiple hardware colormaps may use this information, and window man-
jpayne@69 1440 agers may use it for InstallColormap requests. The colormap must have the same visual type
jpayne@69 1441 and root as the window (or a Match error results). If CopyFromParent is specified, the parent's
jpayne@69 1442 colormap is copied (subsequent changes to the parent's colormap attribute do not affect the child).
jpayne@69 1443 However, the window must have the same visual type as the parent (or a Match error results),
jpayne@69 1444 and the parent must not have a colormap of None (or a Match error results). For an explanation
jpayne@69 1445 of None, see FreeColormap request. The colormap is copied by sharing the colormap object
jpayne@69 1446 between the child and the parent, not by making a complete copy of the colormap contents. */
jpayne@69 1447
jpayne@69 1448 XCB_CW_CURSOR = 16384
jpayne@69 1449 /**< If a cursor is specified, it will be used whenever the pointer is in the window. If None is speci-
jpayne@69 1450 fied, the parent's cursor will be used when the pointer is in the window, and any change in the
jpayne@69 1451 parent's cursor will cause an immediate change in the displayed cursor. */
jpayne@69 1452
jpayne@69 1453 } xcb_cw_t;
jpayne@69 1454
jpayne@69 1455 typedef enum xcb_back_pixmap_t {
jpayne@69 1456 XCB_BACK_PIXMAP_NONE = 0,
jpayne@69 1457 XCB_BACK_PIXMAP_PARENT_RELATIVE = 1
jpayne@69 1458 } xcb_back_pixmap_t;
jpayne@69 1459
jpayne@69 1460 typedef enum xcb_gravity_t {
jpayne@69 1461 XCB_GRAVITY_BIT_FORGET = 0,
jpayne@69 1462 XCB_GRAVITY_WIN_UNMAP = 0,
jpayne@69 1463 XCB_GRAVITY_NORTH_WEST = 1,
jpayne@69 1464 XCB_GRAVITY_NORTH = 2,
jpayne@69 1465 XCB_GRAVITY_NORTH_EAST = 3,
jpayne@69 1466 XCB_GRAVITY_WEST = 4,
jpayne@69 1467 XCB_GRAVITY_CENTER = 5,
jpayne@69 1468 XCB_GRAVITY_EAST = 6,
jpayne@69 1469 XCB_GRAVITY_SOUTH_WEST = 7,
jpayne@69 1470 XCB_GRAVITY_SOUTH = 8,
jpayne@69 1471 XCB_GRAVITY_SOUTH_EAST = 9,
jpayne@69 1472 XCB_GRAVITY_STATIC = 10
jpayne@69 1473 } xcb_gravity_t;
jpayne@69 1474
jpayne@69 1475 /**
jpayne@69 1476 * @brief xcb_create_window_value_list_t
jpayne@69 1477 **/
jpayne@69 1478 typedef struct xcb_create_window_value_list_t {
jpayne@69 1479 xcb_pixmap_t background_pixmap;
jpayne@69 1480 uint32_t background_pixel;
jpayne@69 1481 xcb_pixmap_t border_pixmap;
jpayne@69 1482 uint32_t border_pixel;
jpayne@69 1483 uint32_t bit_gravity;
jpayne@69 1484 uint32_t win_gravity;
jpayne@69 1485 uint32_t backing_store;
jpayne@69 1486 uint32_t backing_planes;
jpayne@69 1487 uint32_t backing_pixel;
jpayne@69 1488 xcb_bool32_t override_redirect;
jpayne@69 1489 xcb_bool32_t save_under;
jpayne@69 1490 uint32_t event_mask;
jpayne@69 1491 uint32_t do_not_propogate_mask;
jpayne@69 1492 xcb_colormap_t colormap;
jpayne@69 1493 xcb_cursor_t cursor;
jpayne@69 1494 } xcb_create_window_value_list_t;
jpayne@69 1495
jpayne@69 1496 /** Opcode for xcb_create_window. */
jpayne@69 1497 #define XCB_CREATE_WINDOW 1
jpayne@69 1498
jpayne@69 1499 /**
jpayne@69 1500 * @brief xcb_create_window_request_t
jpayne@69 1501 **/
jpayne@69 1502 typedef struct xcb_create_window_request_t {
jpayne@69 1503 uint8_t major_opcode;
jpayne@69 1504 uint8_t depth;
jpayne@69 1505 uint16_t length;
jpayne@69 1506 xcb_window_t wid;
jpayne@69 1507 xcb_window_t parent;
jpayne@69 1508 int16_t x;
jpayne@69 1509 int16_t y;
jpayne@69 1510 uint16_t width;
jpayne@69 1511 uint16_t height;
jpayne@69 1512 uint16_t border_width;
jpayne@69 1513 uint16_t _class;
jpayne@69 1514 xcb_visualid_t visual;
jpayne@69 1515 uint32_t value_mask;
jpayne@69 1516 } xcb_create_window_request_t;
jpayne@69 1517
jpayne@69 1518 /**
jpayne@69 1519 * @brief xcb_change_window_attributes_value_list_t
jpayne@69 1520 **/
jpayne@69 1521 typedef struct xcb_change_window_attributes_value_list_t {
jpayne@69 1522 xcb_pixmap_t background_pixmap;
jpayne@69 1523 uint32_t background_pixel;
jpayne@69 1524 xcb_pixmap_t border_pixmap;
jpayne@69 1525 uint32_t border_pixel;
jpayne@69 1526 uint32_t bit_gravity;
jpayne@69 1527 uint32_t win_gravity;
jpayne@69 1528 uint32_t backing_store;
jpayne@69 1529 uint32_t backing_planes;
jpayne@69 1530 uint32_t backing_pixel;
jpayne@69 1531 xcb_bool32_t override_redirect;
jpayne@69 1532 xcb_bool32_t save_under;
jpayne@69 1533 uint32_t event_mask;
jpayne@69 1534 uint32_t do_not_propogate_mask;
jpayne@69 1535 xcb_colormap_t colormap;
jpayne@69 1536 xcb_cursor_t cursor;
jpayne@69 1537 } xcb_change_window_attributes_value_list_t;
jpayne@69 1538
jpayne@69 1539 /** Opcode for xcb_change_window_attributes. */
jpayne@69 1540 #define XCB_CHANGE_WINDOW_ATTRIBUTES 2
jpayne@69 1541
jpayne@69 1542 /**
jpayne@69 1543 * @brief xcb_change_window_attributes_request_t
jpayne@69 1544 **/
jpayne@69 1545 typedef struct xcb_change_window_attributes_request_t {
jpayne@69 1546 uint8_t major_opcode;
jpayne@69 1547 uint8_t pad0;
jpayne@69 1548 uint16_t length;
jpayne@69 1549 xcb_window_t window;
jpayne@69 1550 uint32_t value_mask;
jpayne@69 1551 } xcb_change_window_attributes_request_t;
jpayne@69 1552
jpayne@69 1553 typedef enum xcb_map_state_t {
jpayne@69 1554 XCB_MAP_STATE_UNMAPPED = 0,
jpayne@69 1555 XCB_MAP_STATE_UNVIEWABLE = 1,
jpayne@69 1556 XCB_MAP_STATE_VIEWABLE = 2
jpayne@69 1557 } xcb_map_state_t;
jpayne@69 1558
jpayne@69 1559 /**
jpayne@69 1560 * @brief xcb_get_window_attributes_cookie_t
jpayne@69 1561 **/
jpayne@69 1562 typedef struct xcb_get_window_attributes_cookie_t {
jpayne@69 1563 unsigned int sequence;
jpayne@69 1564 } xcb_get_window_attributes_cookie_t;
jpayne@69 1565
jpayne@69 1566 /** Opcode for xcb_get_window_attributes. */
jpayne@69 1567 #define XCB_GET_WINDOW_ATTRIBUTES 3
jpayne@69 1568
jpayne@69 1569 /**
jpayne@69 1570 * @brief xcb_get_window_attributes_request_t
jpayne@69 1571 **/
jpayne@69 1572 typedef struct xcb_get_window_attributes_request_t {
jpayne@69 1573 uint8_t major_opcode;
jpayne@69 1574 uint8_t pad0;
jpayne@69 1575 uint16_t length;
jpayne@69 1576 xcb_window_t window;
jpayne@69 1577 } xcb_get_window_attributes_request_t;
jpayne@69 1578
jpayne@69 1579 /**
jpayne@69 1580 * @brief xcb_get_window_attributes_reply_t
jpayne@69 1581 **/
jpayne@69 1582 typedef struct xcb_get_window_attributes_reply_t {
jpayne@69 1583 uint8_t response_type;
jpayne@69 1584 uint8_t backing_store;
jpayne@69 1585 uint16_t sequence;
jpayne@69 1586 uint32_t length;
jpayne@69 1587 xcb_visualid_t visual;
jpayne@69 1588 uint16_t _class;
jpayne@69 1589 uint8_t bit_gravity;
jpayne@69 1590 uint8_t win_gravity;
jpayne@69 1591 uint32_t backing_planes;
jpayne@69 1592 uint32_t backing_pixel;
jpayne@69 1593 uint8_t save_under;
jpayne@69 1594 uint8_t map_is_installed;
jpayne@69 1595 uint8_t map_state;
jpayne@69 1596 uint8_t override_redirect;
jpayne@69 1597 xcb_colormap_t colormap;
jpayne@69 1598 uint32_t all_event_masks;
jpayne@69 1599 uint32_t your_event_mask;
jpayne@69 1600 uint16_t do_not_propagate_mask;
jpayne@69 1601 uint8_t pad0[2];
jpayne@69 1602 } xcb_get_window_attributes_reply_t;
jpayne@69 1603
jpayne@69 1604 /** Opcode for xcb_destroy_window. */
jpayne@69 1605 #define XCB_DESTROY_WINDOW 4
jpayne@69 1606
jpayne@69 1607 /**
jpayne@69 1608 * @brief xcb_destroy_window_request_t
jpayne@69 1609 **/
jpayne@69 1610 typedef struct xcb_destroy_window_request_t {
jpayne@69 1611 uint8_t major_opcode;
jpayne@69 1612 uint8_t pad0;
jpayne@69 1613 uint16_t length;
jpayne@69 1614 xcb_window_t window;
jpayne@69 1615 } xcb_destroy_window_request_t;
jpayne@69 1616
jpayne@69 1617 /** Opcode for xcb_destroy_subwindows. */
jpayne@69 1618 #define XCB_DESTROY_SUBWINDOWS 5
jpayne@69 1619
jpayne@69 1620 /**
jpayne@69 1621 * @brief xcb_destroy_subwindows_request_t
jpayne@69 1622 **/
jpayne@69 1623 typedef struct xcb_destroy_subwindows_request_t {
jpayne@69 1624 uint8_t major_opcode;
jpayne@69 1625 uint8_t pad0;
jpayne@69 1626 uint16_t length;
jpayne@69 1627 xcb_window_t window;
jpayne@69 1628 } xcb_destroy_subwindows_request_t;
jpayne@69 1629
jpayne@69 1630 typedef enum xcb_set_mode_t {
jpayne@69 1631 XCB_SET_MODE_INSERT = 0,
jpayne@69 1632 XCB_SET_MODE_DELETE = 1
jpayne@69 1633 } xcb_set_mode_t;
jpayne@69 1634
jpayne@69 1635 /** Opcode for xcb_change_save_set. */
jpayne@69 1636 #define XCB_CHANGE_SAVE_SET 6
jpayne@69 1637
jpayne@69 1638 /**
jpayne@69 1639 * @brief xcb_change_save_set_request_t
jpayne@69 1640 **/
jpayne@69 1641 typedef struct xcb_change_save_set_request_t {
jpayne@69 1642 uint8_t major_opcode;
jpayne@69 1643 uint8_t mode;
jpayne@69 1644 uint16_t length;
jpayne@69 1645 xcb_window_t window;
jpayne@69 1646 } xcb_change_save_set_request_t;
jpayne@69 1647
jpayne@69 1648 /** Opcode for xcb_reparent_window. */
jpayne@69 1649 #define XCB_REPARENT_WINDOW 7
jpayne@69 1650
jpayne@69 1651 /**
jpayne@69 1652 * @brief xcb_reparent_window_request_t
jpayne@69 1653 **/
jpayne@69 1654 typedef struct xcb_reparent_window_request_t {
jpayne@69 1655 uint8_t major_opcode;
jpayne@69 1656 uint8_t pad0;
jpayne@69 1657 uint16_t length;
jpayne@69 1658 xcb_window_t window;
jpayne@69 1659 xcb_window_t parent;
jpayne@69 1660 int16_t x;
jpayne@69 1661 int16_t y;
jpayne@69 1662 } xcb_reparent_window_request_t;
jpayne@69 1663
jpayne@69 1664 /** Opcode for xcb_map_window. */
jpayne@69 1665 #define XCB_MAP_WINDOW 8
jpayne@69 1666
jpayne@69 1667 /**
jpayne@69 1668 * @brief xcb_map_window_request_t
jpayne@69 1669 **/
jpayne@69 1670 typedef struct xcb_map_window_request_t {
jpayne@69 1671 uint8_t major_opcode;
jpayne@69 1672 uint8_t pad0;
jpayne@69 1673 uint16_t length;
jpayne@69 1674 xcb_window_t window;
jpayne@69 1675 } xcb_map_window_request_t;
jpayne@69 1676
jpayne@69 1677 /** Opcode for xcb_map_subwindows. */
jpayne@69 1678 #define XCB_MAP_SUBWINDOWS 9
jpayne@69 1679
jpayne@69 1680 /**
jpayne@69 1681 * @brief xcb_map_subwindows_request_t
jpayne@69 1682 **/
jpayne@69 1683 typedef struct xcb_map_subwindows_request_t {
jpayne@69 1684 uint8_t major_opcode;
jpayne@69 1685 uint8_t pad0;
jpayne@69 1686 uint16_t length;
jpayne@69 1687 xcb_window_t window;
jpayne@69 1688 } xcb_map_subwindows_request_t;
jpayne@69 1689
jpayne@69 1690 /** Opcode for xcb_unmap_window. */
jpayne@69 1691 #define XCB_UNMAP_WINDOW 10
jpayne@69 1692
jpayne@69 1693 /**
jpayne@69 1694 * @brief xcb_unmap_window_request_t
jpayne@69 1695 **/
jpayne@69 1696 typedef struct xcb_unmap_window_request_t {
jpayne@69 1697 uint8_t major_opcode;
jpayne@69 1698 uint8_t pad0;
jpayne@69 1699 uint16_t length;
jpayne@69 1700 xcb_window_t window;
jpayne@69 1701 } xcb_unmap_window_request_t;
jpayne@69 1702
jpayne@69 1703 /** Opcode for xcb_unmap_subwindows. */
jpayne@69 1704 #define XCB_UNMAP_SUBWINDOWS 11
jpayne@69 1705
jpayne@69 1706 /**
jpayne@69 1707 * @brief xcb_unmap_subwindows_request_t
jpayne@69 1708 **/
jpayne@69 1709 typedef struct xcb_unmap_subwindows_request_t {
jpayne@69 1710 uint8_t major_opcode;
jpayne@69 1711 uint8_t pad0;
jpayne@69 1712 uint16_t length;
jpayne@69 1713 xcb_window_t window;
jpayne@69 1714 } xcb_unmap_subwindows_request_t;
jpayne@69 1715
jpayne@69 1716 typedef enum xcb_config_window_t {
jpayne@69 1717 XCB_CONFIG_WINDOW_X = 1,
jpayne@69 1718 XCB_CONFIG_WINDOW_Y = 2,
jpayne@69 1719 XCB_CONFIG_WINDOW_WIDTH = 4,
jpayne@69 1720 XCB_CONFIG_WINDOW_HEIGHT = 8,
jpayne@69 1721 XCB_CONFIG_WINDOW_BORDER_WIDTH = 16,
jpayne@69 1722 XCB_CONFIG_WINDOW_SIBLING = 32,
jpayne@69 1723 XCB_CONFIG_WINDOW_STACK_MODE = 64
jpayne@69 1724 } xcb_config_window_t;
jpayne@69 1725
jpayne@69 1726 typedef enum xcb_stack_mode_t {
jpayne@69 1727 XCB_STACK_MODE_ABOVE = 0,
jpayne@69 1728 XCB_STACK_MODE_BELOW = 1,
jpayne@69 1729 XCB_STACK_MODE_TOP_IF = 2,
jpayne@69 1730 XCB_STACK_MODE_BOTTOM_IF = 3,
jpayne@69 1731 XCB_STACK_MODE_OPPOSITE = 4
jpayne@69 1732 } xcb_stack_mode_t;
jpayne@69 1733
jpayne@69 1734 /**
jpayne@69 1735 * @brief xcb_configure_window_value_list_t
jpayne@69 1736 **/
jpayne@69 1737 typedef struct xcb_configure_window_value_list_t {
jpayne@69 1738 int32_t x;
jpayne@69 1739 int32_t y;
jpayne@69 1740 uint32_t width;
jpayne@69 1741 uint32_t height;
jpayne@69 1742 uint32_t border_width;
jpayne@69 1743 xcb_window_t sibling;
jpayne@69 1744 uint32_t stack_mode;
jpayne@69 1745 } xcb_configure_window_value_list_t;
jpayne@69 1746
jpayne@69 1747 /** Opcode for xcb_configure_window. */
jpayne@69 1748 #define XCB_CONFIGURE_WINDOW 12
jpayne@69 1749
jpayne@69 1750 /**
jpayne@69 1751 * @brief xcb_configure_window_request_t
jpayne@69 1752 **/
jpayne@69 1753 typedef struct xcb_configure_window_request_t {
jpayne@69 1754 uint8_t major_opcode;
jpayne@69 1755 uint8_t pad0;
jpayne@69 1756 uint16_t length;
jpayne@69 1757 xcb_window_t window;
jpayne@69 1758 uint16_t value_mask;
jpayne@69 1759 uint8_t pad1[2];
jpayne@69 1760 } xcb_configure_window_request_t;
jpayne@69 1761
jpayne@69 1762 typedef enum xcb_circulate_t {
jpayne@69 1763 XCB_CIRCULATE_RAISE_LOWEST = 0,
jpayne@69 1764 XCB_CIRCULATE_LOWER_HIGHEST = 1
jpayne@69 1765 } xcb_circulate_t;
jpayne@69 1766
jpayne@69 1767 /** Opcode for xcb_circulate_window. */
jpayne@69 1768 #define XCB_CIRCULATE_WINDOW 13
jpayne@69 1769
jpayne@69 1770 /**
jpayne@69 1771 * @brief xcb_circulate_window_request_t
jpayne@69 1772 **/
jpayne@69 1773 typedef struct xcb_circulate_window_request_t {
jpayne@69 1774 uint8_t major_opcode;
jpayne@69 1775 uint8_t direction;
jpayne@69 1776 uint16_t length;
jpayne@69 1777 xcb_window_t window;
jpayne@69 1778 } xcb_circulate_window_request_t;
jpayne@69 1779
jpayne@69 1780 /**
jpayne@69 1781 * @brief xcb_get_geometry_cookie_t
jpayne@69 1782 **/
jpayne@69 1783 typedef struct xcb_get_geometry_cookie_t {
jpayne@69 1784 unsigned int sequence;
jpayne@69 1785 } xcb_get_geometry_cookie_t;
jpayne@69 1786
jpayne@69 1787 /** Opcode for xcb_get_geometry. */
jpayne@69 1788 #define XCB_GET_GEOMETRY 14
jpayne@69 1789
jpayne@69 1790 /**
jpayne@69 1791 * @brief xcb_get_geometry_request_t
jpayne@69 1792 **/
jpayne@69 1793 typedef struct xcb_get_geometry_request_t {
jpayne@69 1794 uint8_t major_opcode;
jpayne@69 1795 uint8_t pad0;
jpayne@69 1796 uint16_t length;
jpayne@69 1797 xcb_drawable_t drawable;
jpayne@69 1798 } xcb_get_geometry_request_t;
jpayne@69 1799
jpayne@69 1800 /**
jpayne@69 1801 * @brief xcb_get_geometry_reply_t
jpayne@69 1802 **/
jpayne@69 1803 typedef struct xcb_get_geometry_reply_t {
jpayne@69 1804 uint8_t response_type;
jpayne@69 1805 uint8_t depth;
jpayne@69 1806 uint16_t sequence;
jpayne@69 1807 uint32_t length;
jpayne@69 1808 xcb_window_t root;
jpayne@69 1809 int16_t x;
jpayne@69 1810 int16_t y;
jpayne@69 1811 uint16_t width;
jpayne@69 1812 uint16_t height;
jpayne@69 1813 uint16_t border_width;
jpayne@69 1814 uint8_t pad0[2];
jpayne@69 1815 } xcb_get_geometry_reply_t;
jpayne@69 1816
jpayne@69 1817 /**
jpayne@69 1818 * @brief xcb_query_tree_cookie_t
jpayne@69 1819 **/
jpayne@69 1820 typedef struct xcb_query_tree_cookie_t {
jpayne@69 1821 unsigned int sequence;
jpayne@69 1822 } xcb_query_tree_cookie_t;
jpayne@69 1823
jpayne@69 1824 /** Opcode for xcb_query_tree. */
jpayne@69 1825 #define XCB_QUERY_TREE 15
jpayne@69 1826
jpayne@69 1827 /**
jpayne@69 1828 * @brief xcb_query_tree_request_t
jpayne@69 1829 **/
jpayne@69 1830 typedef struct xcb_query_tree_request_t {
jpayne@69 1831 uint8_t major_opcode;
jpayne@69 1832 uint8_t pad0;
jpayne@69 1833 uint16_t length;
jpayne@69 1834 xcb_window_t window;
jpayne@69 1835 } xcb_query_tree_request_t;
jpayne@69 1836
jpayne@69 1837 /**
jpayne@69 1838 * @brief xcb_query_tree_reply_t
jpayne@69 1839 **/
jpayne@69 1840 typedef struct xcb_query_tree_reply_t {
jpayne@69 1841 uint8_t response_type;
jpayne@69 1842 uint8_t pad0;
jpayne@69 1843 uint16_t sequence;
jpayne@69 1844 uint32_t length;
jpayne@69 1845 xcb_window_t root;
jpayne@69 1846 xcb_window_t parent;
jpayne@69 1847 uint16_t children_len;
jpayne@69 1848 uint8_t pad1[14];
jpayne@69 1849 } xcb_query_tree_reply_t;
jpayne@69 1850
jpayne@69 1851 /**
jpayne@69 1852 * @brief xcb_intern_atom_cookie_t
jpayne@69 1853 **/
jpayne@69 1854 typedef struct xcb_intern_atom_cookie_t {
jpayne@69 1855 unsigned int sequence;
jpayne@69 1856 } xcb_intern_atom_cookie_t;
jpayne@69 1857
jpayne@69 1858 /** Opcode for xcb_intern_atom. */
jpayne@69 1859 #define XCB_INTERN_ATOM 16
jpayne@69 1860
jpayne@69 1861 /**
jpayne@69 1862 * @brief xcb_intern_atom_request_t
jpayne@69 1863 **/
jpayne@69 1864 typedef struct xcb_intern_atom_request_t {
jpayne@69 1865 uint8_t major_opcode;
jpayne@69 1866 uint8_t only_if_exists;
jpayne@69 1867 uint16_t length;
jpayne@69 1868 uint16_t name_len;
jpayne@69 1869 uint8_t pad0[2];
jpayne@69 1870 } xcb_intern_atom_request_t;
jpayne@69 1871
jpayne@69 1872 /**
jpayne@69 1873 * @brief xcb_intern_atom_reply_t
jpayne@69 1874 **/
jpayne@69 1875 typedef struct xcb_intern_atom_reply_t {
jpayne@69 1876 uint8_t response_type;
jpayne@69 1877 uint8_t pad0;
jpayne@69 1878 uint16_t sequence;
jpayne@69 1879 uint32_t length;
jpayne@69 1880 xcb_atom_t atom;
jpayne@69 1881 } xcb_intern_atom_reply_t;
jpayne@69 1882
jpayne@69 1883 /**
jpayne@69 1884 * @brief xcb_get_atom_name_cookie_t
jpayne@69 1885 **/
jpayne@69 1886 typedef struct xcb_get_atom_name_cookie_t {
jpayne@69 1887 unsigned int sequence;
jpayne@69 1888 } xcb_get_atom_name_cookie_t;
jpayne@69 1889
jpayne@69 1890 /** Opcode for xcb_get_atom_name. */
jpayne@69 1891 #define XCB_GET_ATOM_NAME 17
jpayne@69 1892
jpayne@69 1893 /**
jpayne@69 1894 * @brief xcb_get_atom_name_request_t
jpayne@69 1895 **/
jpayne@69 1896 typedef struct xcb_get_atom_name_request_t {
jpayne@69 1897 uint8_t major_opcode;
jpayne@69 1898 uint8_t pad0;
jpayne@69 1899 uint16_t length;
jpayne@69 1900 xcb_atom_t atom;
jpayne@69 1901 } xcb_get_atom_name_request_t;
jpayne@69 1902
jpayne@69 1903 /**
jpayne@69 1904 * @brief xcb_get_atom_name_reply_t
jpayne@69 1905 **/
jpayne@69 1906 typedef struct xcb_get_atom_name_reply_t {
jpayne@69 1907 uint8_t response_type;
jpayne@69 1908 uint8_t pad0;
jpayne@69 1909 uint16_t sequence;
jpayne@69 1910 uint32_t length;
jpayne@69 1911 uint16_t name_len;
jpayne@69 1912 uint8_t pad1[22];
jpayne@69 1913 } xcb_get_atom_name_reply_t;
jpayne@69 1914
jpayne@69 1915 typedef enum xcb_prop_mode_t {
jpayne@69 1916 XCB_PROP_MODE_REPLACE = 0,
jpayne@69 1917 /**< Discard the previous property value and store the new data. */
jpayne@69 1918
jpayne@69 1919 XCB_PROP_MODE_PREPEND = 1,
jpayne@69 1920 /**< Insert the new data before the beginning of existing data. The `format` must
jpayne@69 1921 match existing property value. If the property is undefined, it is treated as
jpayne@69 1922 defined with the correct type and format with zero-length data. */
jpayne@69 1923
jpayne@69 1924 XCB_PROP_MODE_APPEND = 2
jpayne@69 1925 /**< Insert the new data after the beginning of existing data. The `format` must
jpayne@69 1926 match existing property value. If the property is undefined, it is treated as
jpayne@69 1927 defined with the correct type and format with zero-length data. */
jpayne@69 1928
jpayne@69 1929 } xcb_prop_mode_t;
jpayne@69 1930
jpayne@69 1931 /** Opcode for xcb_change_property. */
jpayne@69 1932 #define XCB_CHANGE_PROPERTY 18
jpayne@69 1933
jpayne@69 1934 /**
jpayne@69 1935 * @brief xcb_change_property_request_t
jpayne@69 1936 **/
jpayne@69 1937 typedef struct xcb_change_property_request_t {
jpayne@69 1938 uint8_t major_opcode;
jpayne@69 1939 uint8_t mode;
jpayne@69 1940 uint16_t length;
jpayne@69 1941 xcb_window_t window;
jpayne@69 1942 xcb_atom_t property;
jpayne@69 1943 xcb_atom_t type;
jpayne@69 1944 uint8_t format;
jpayne@69 1945 uint8_t pad0[3];
jpayne@69 1946 uint32_t data_len;
jpayne@69 1947 } xcb_change_property_request_t;
jpayne@69 1948
jpayne@69 1949 /** Opcode for xcb_delete_property. */
jpayne@69 1950 #define XCB_DELETE_PROPERTY 19
jpayne@69 1951
jpayne@69 1952 /**
jpayne@69 1953 * @brief xcb_delete_property_request_t
jpayne@69 1954 **/
jpayne@69 1955 typedef struct xcb_delete_property_request_t {
jpayne@69 1956 uint8_t major_opcode;
jpayne@69 1957 uint8_t pad0;
jpayne@69 1958 uint16_t length;
jpayne@69 1959 xcb_window_t window;
jpayne@69 1960 xcb_atom_t property;
jpayne@69 1961 } xcb_delete_property_request_t;
jpayne@69 1962
jpayne@69 1963 typedef enum xcb_get_property_type_t {
jpayne@69 1964 XCB_GET_PROPERTY_TYPE_ANY = 0
jpayne@69 1965 } xcb_get_property_type_t;
jpayne@69 1966
jpayne@69 1967 /**
jpayne@69 1968 * @brief xcb_get_property_cookie_t
jpayne@69 1969 **/
jpayne@69 1970 typedef struct xcb_get_property_cookie_t {
jpayne@69 1971 unsigned int sequence;
jpayne@69 1972 } xcb_get_property_cookie_t;
jpayne@69 1973
jpayne@69 1974 /** Opcode for xcb_get_property. */
jpayne@69 1975 #define XCB_GET_PROPERTY 20
jpayne@69 1976
jpayne@69 1977 /**
jpayne@69 1978 * @brief xcb_get_property_request_t
jpayne@69 1979 **/
jpayne@69 1980 typedef struct xcb_get_property_request_t {
jpayne@69 1981 uint8_t major_opcode;
jpayne@69 1982 uint8_t _delete;
jpayne@69 1983 uint16_t length;
jpayne@69 1984 xcb_window_t window;
jpayne@69 1985 xcb_atom_t property;
jpayne@69 1986 xcb_atom_t type;
jpayne@69 1987 uint32_t long_offset;
jpayne@69 1988 uint32_t long_length;
jpayne@69 1989 } xcb_get_property_request_t;
jpayne@69 1990
jpayne@69 1991 /**
jpayne@69 1992 * @brief xcb_get_property_reply_t
jpayne@69 1993 **/
jpayne@69 1994 typedef struct xcb_get_property_reply_t {
jpayne@69 1995 uint8_t response_type;
jpayne@69 1996 uint8_t format;
jpayne@69 1997 uint16_t sequence;
jpayne@69 1998 uint32_t length;
jpayne@69 1999 xcb_atom_t type;
jpayne@69 2000 uint32_t bytes_after;
jpayne@69 2001 uint32_t value_len;
jpayne@69 2002 uint8_t pad0[12];
jpayne@69 2003 } xcb_get_property_reply_t;
jpayne@69 2004
jpayne@69 2005 /**
jpayne@69 2006 * @brief xcb_list_properties_cookie_t
jpayne@69 2007 **/
jpayne@69 2008 typedef struct xcb_list_properties_cookie_t {
jpayne@69 2009 unsigned int sequence;
jpayne@69 2010 } xcb_list_properties_cookie_t;
jpayne@69 2011
jpayne@69 2012 /** Opcode for xcb_list_properties. */
jpayne@69 2013 #define XCB_LIST_PROPERTIES 21
jpayne@69 2014
jpayne@69 2015 /**
jpayne@69 2016 * @brief xcb_list_properties_request_t
jpayne@69 2017 **/
jpayne@69 2018 typedef struct xcb_list_properties_request_t {
jpayne@69 2019 uint8_t major_opcode;
jpayne@69 2020 uint8_t pad0;
jpayne@69 2021 uint16_t length;
jpayne@69 2022 xcb_window_t window;
jpayne@69 2023 } xcb_list_properties_request_t;
jpayne@69 2024
jpayne@69 2025 /**
jpayne@69 2026 * @brief xcb_list_properties_reply_t
jpayne@69 2027 **/
jpayne@69 2028 typedef struct xcb_list_properties_reply_t {
jpayne@69 2029 uint8_t response_type;
jpayne@69 2030 uint8_t pad0;
jpayne@69 2031 uint16_t sequence;
jpayne@69 2032 uint32_t length;
jpayne@69 2033 uint16_t atoms_len;
jpayne@69 2034 uint8_t pad1[22];
jpayne@69 2035 } xcb_list_properties_reply_t;
jpayne@69 2036
jpayne@69 2037 /** Opcode for xcb_set_selection_owner. */
jpayne@69 2038 #define XCB_SET_SELECTION_OWNER 22
jpayne@69 2039
jpayne@69 2040 /**
jpayne@69 2041 * @brief xcb_set_selection_owner_request_t
jpayne@69 2042 **/
jpayne@69 2043 typedef struct xcb_set_selection_owner_request_t {
jpayne@69 2044 uint8_t major_opcode;
jpayne@69 2045 uint8_t pad0;
jpayne@69 2046 uint16_t length;
jpayne@69 2047 xcb_window_t owner;
jpayne@69 2048 xcb_atom_t selection;
jpayne@69 2049 xcb_timestamp_t time;
jpayne@69 2050 } xcb_set_selection_owner_request_t;
jpayne@69 2051
jpayne@69 2052 /**
jpayne@69 2053 * @brief xcb_get_selection_owner_cookie_t
jpayne@69 2054 **/
jpayne@69 2055 typedef struct xcb_get_selection_owner_cookie_t {
jpayne@69 2056 unsigned int sequence;
jpayne@69 2057 } xcb_get_selection_owner_cookie_t;
jpayne@69 2058
jpayne@69 2059 /** Opcode for xcb_get_selection_owner. */
jpayne@69 2060 #define XCB_GET_SELECTION_OWNER 23
jpayne@69 2061
jpayne@69 2062 /**
jpayne@69 2063 * @brief xcb_get_selection_owner_request_t
jpayne@69 2064 **/
jpayne@69 2065 typedef struct xcb_get_selection_owner_request_t {
jpayne@69 2066 uint8_t major_opcode;
jpayne@69 2067 uint8_t pad0;
jpayne@69 2068 uint16_t length;
jpayne@69 2069 xcb_atom_t selection;
jpayne@69 2070 } xcb_get_selection_owner_request_t;
jpayne@69 2071
jpayne@69 2072 /**
jpayne@69 2073 * @brief xcb_get_selection_owner_reply_t
jpayne@69 2074 **/
jpayne@69 2075 typedef struct xcb_get_selection_owner_reply_t {
jpayne@69 2076 uint8_t response_type;
jpayne@69 2077 uint8_t pad0;
jpayne@69 2078 uint16_t sequence;
jpayne@69 2079 uint32_t length;
jpayne@69 2080 xcb_window_t owner;
jpayne@69 2081 } xcb_get_selection_owner_reply_t;
jpayne@69 2082
jpayne@69 2083 /** Opcode for xcb_convert_selection. */
jpayne@69 2084 #define XCB_CONVERT_SELECTION 24
jpayne@69 2085
jpayne@69 2086 /**
jpayne@69 2087 * @brief xcb_convert_selection_request_t
jpayne@69 2088 **/
jpayne@69 2089 typedef struct xcb_convert_selection_request_t {
jpayne@69 2090 uint8_t major_opcode;
jpayne@69 2091 uint8_t pad0;
jpayne@69 2092 uint16_t length;
jpayne@69 2093 xcb_window_t requestor;
jpayne@69 2094 xcb_atom_t selection;
jpayne@69 2095 xcb_atom_t target;
jpayne@69 2096 xcb_atom_t property;
jpayne@69 2097 xcb_timestamp_t time;
jpayne@69 2098 } xcb_convert_selection_request_t;
jpayne@69 2099
jpayne@69 2100 typedef enum xcb_send_event_dest_t {
jpayne@69 2101 XCB_SEND_EVENT_DEST_POINTER_WINDOW = 0,
jpayne@69 2102 XCB_SEND_EVENT_DEST_ITEM_FOCUS = 1
jpayne@69 2103 } xcb_send_event_dest_t;
jpayne@69 2104
jpayne@69 2105 /** Opcode for xcb_send_event. */
jpayne@69 2106 #define XCB_SEND_EVENT 25
jpayne@69 2107
jpayne@69 2108 /**
jpayne@69 2109 * @brief xcb_send_event_request_t
jpayne@69 2110 **/
jpayne@69 2111 typedef struct xcb_send_event_request_t {
jpayne@69 2112 uint8_t major_opcode;
jpayne@69 2113 uint8_t propagate;
jpayne@69 2114 uint16_t length;
jpayne@69 2115 xcb_window_t destination;
jpayne@69 2116 uint32_t event_mask;
jpayne@69 2117 char event[32];
jpayne@69 2118 } xcb_send_event_request_t;
jpayne@69 2119
jpayne@69 2120 typedef enum xcb_grab_mode_t {
jpayne@69 2121 XCB_GRAB_MODE_SYNC = 0,
jpayne@69 2122 /**< The state of the keyboard appears to freeze: No further keyboard events are
jpayne@69 2123 generated by the server until the grabbing client issues a releasing
jpayne@69 2124 `AllowEvents` request or until the keyboard grab is released. */
jpayne@69 2125
jpayne@69 2126 XCB_GRAB_MODE_ASYNC = 1
jpayne@69 2127 /**< Keyboard event processing continues normally. */
jpayne@69 2128
jpayne@69 2129 } xcb_grab_mode_t;
jpayne@69 2130
jpayne@69 2131 typedef enum xcb_grab_status_t {
jpayne@69 2132 XCB_GRAB_STATUS_SUCCESS = 0,
jpayne@69 2133 XCB_GRAB_STATUS_ALREADY_GRABBED = 1,
jpayne@69 2134 XCB_GRAB_STATUS_INVALID_TIME = 2,
jpayne@69 2135 XCB_GRAB_STATUS_NOT_VIEWABLE = 3,
jpayne@69 2136 XCB_GRAB_STATUS_FROZEN = 4
jpayne@69 2137 } xcb_grab_status_t;
jpayne@69 2138
jpayne@69 2139 typedef enum xcb_cursor_enum_t {
jpayne@69 2140 XCB_CURSOR_NONE = 0
jpayne@69 2141 } xcb_cursor_enum_t;
jpayne@69 2142
jpayne@69 2143 /**
jpayne@69 2144 * @brief xcb_grab_pointer_cookie_t
jpayne@69 2145 **/
jpayne@69 2146 typedef struct xcb_grab_pointer_cookie_t {
jpayne@69 2147 unsigned int sequence;
jpayne@69 2148 } xcb_grab_pointer_cookie_t;
jpayne@69 2149
jpayne@69 2150 /** Opcode for xcb_grab_pointer. */
jpayne@69 2151 #define XCB_GRAB_POINTER 26
jpayne@69 2152
jpayne@69 2153 /**
jpayne@69 2154 * @brief xcb_grab_pointer_request_t
jpayne@69 2155 **/
jpayne@69 2156 typedef struct xcb_grab_pointer_request_t {
jpayne@69 2157 uint8_t major_opcode;
jpayne@69 2158 uint8_t owner_events;
jpayne@69 2159 uint16_t length;
jpayne@69 2160 xcb_window_t grab_window;
jpayne@69 2161 uint16_t event_mask;
jpayne@69 2162 uint8_t pointer_mode;
jpayne@69 2163 uint8_t keyboard_mode;
jpayne@69 2164 xcb_window_t confine_to;
jpayne@69 2165 xcb_cursor_t cursor;
jpayne@69 2166 xcb_timestamp_t time;
jpayne@69 2167 } xcb_grab_pointer_request_t;
jpayne@69 2168
jpayne@69 2169 /**
jpayne@69 2170 * @brief xcb_grab_pointer_reply_t
jpayne@69 2171 **/
jpayne@69 2172 typedef struct xcb_grab_pointer_reply_t {
jpayne@69 2173 uint8_t response_type;
jpayne@69 2174 uint8_t status;
jpayne@69 2175 uint16_t sequence;
jpayne@69 2176 uint32_t length;
jpayne@69 2177 } xcb_grab_pointer_reply_t;
jpayne@69 2178
jpayne@69 2179 /** Opcode for xcb_ungrab_pointer. */
jpayne@69 2180 #define XCB_UNGRAB_POINTER 27
jpayne@69 2181
jpayne@69 2182 /**
jpayne@69 2183 * @brief xcb_ungrab_pointer_request_t
jpayne@69 2184 **/
jpayne@69 2185 typedef struct xcb_ungrab_pointer_request_t {
jpayne@69 2186 uint8_t major_opcode;
jpayne@69 2187 uint8_t pad0;
jpayne@69 2188 uint16_t length;
jpayne@69 2189 xcb_timestamp_t time;
jpayne@69 2190 } xcb_ungrab_pointer_request_t;
jpayne@69 2191
jpayne@69 2192 typedef enum xcb_button_index_t {
jpayne@69 2193 XCB_BUTTON_INDEX_ANY = 0,
jpayne@69 2194 /**< Any of the following (or none): */
jpayne@69 2195
jpayne@69 2196 XCB_BUTTON_INDEX_1 = 1,
jpayne@69 2197 /**< The left mouse button. */
jpayne@69 2198
jpayne@69 2199 XCB_BUTTON_INDEX_2 = 2,
jpayne@69 2200 /**< The right mouse button. */
jpayne@69 2201
jpayne@69 2202 XCB_BUTTON_INDEX_3 = 3,
jpayne@69 2203 /**< The middle mouse button. */
jpayne@69 2204
jpayne@69 2205 XCB_BUTTON_INDEX_4 = 4,
jpayne@69 2206 /**< Scroll wheel. TODO: direction? */
jpayne@69 2207
jpayne@69 2208 XCB_BUTTON_INDEX_5 = 5
jpayne@69 2209 /**< Scroll wheel. TODO: direction? */
jpayne@69 2210
jpayne@69 2211 } xcb_button_index_t;
jpayne@69 2212
jpayne@69 2213 /** Opcode for xcb_grab_button. */
jpayne@69 2214 #define XCB_GRAB_BUTTON 28
jpayne@69 2215
jpayne@69 2216 /**
jpayne@69 2217 * @brief xcb_grab_button_request_t
jpayne@69 2218 **/
jpayne@69 2219 typedef struct xcb_grab_button_request_t {
jpayne@69 2220 uint8_t major_opcode;
jpayne@69 2221 uint8_t owner_events;
jpayne@69 2222 uint16_t length;
jpayne@69 2223 xcb_window_t grab_window;
jpayne@69 2224 uint16_t event_mask;
jpayne@69 2225 uint8_t pointer_mode;
jpayne@69 2226 uint8_t keyboard_mode;
jpayne@69 2227 xcb_window_t confine_to;
jpayne@69 2228 xcb_cursor_t cursor;
jpayne@69 2229 uint8_t button;
jpayne@69 2230 uint8_t pad0;
jpayne@69 2231 uint16_t modifiers;
jpayne@69 2232 } xcb_grab_button_request_t;
jpayne@69 2233
jpayne@69 2234 /** Opcode for xcb_ungrab_button. */
jpayne@69 2235 #define XCB_UNGRAB_BUTTON 29
jpayne@69 2236
jpayne@69 2237 /**
jpayne@69 2238 * @brief xcb_ungrab_button_request_t
jpayne@69 2239 **/
jpayne@69 2240 typedef struct xcb_ungrab_button_request_t {
jpayne@69 2241 uint8_t major_opcode;
jpayne@69 2242 uint8_t button;
jpayne@69 2243 uint16_t length;
jpayne@69 2244 xcb_window_t grab_window;
jpayne@69 2245 uint16_t modifiers;
jpayne@69 2246 uint8_t pad0[2];
jpayne@69 2247 } xcb_ungrab_button_request_t;
jpayne@69 2248
jpayne@69 2249 /** Opcode for xcb_change_active_pointer_grab. */
jpayne@69 2250 #define XCB_CHANGE_ACTIVE_POINTER_GRAB 30
jpayne@69 2251
jpayne@69 2252 /**
jpayne@69 2253 * @brief xcb_change_active_pointer_grab_request_t
jpayne@69 2254 **/
jpayne@69 2255 typedef struct xcb_change_active_pointer_grab_request_t {
jpayne@69 2256 uint8_t major_opcode;
jpayne@69 2257 uint8_t pad0;
jpayne@69 2258 uint16_t length;
jpayne@69 2259 xcb_cursor_t cursor;
jpayne@69 2260 xcb_timestamp_t time;
jpayne@69 2261 uint16_t event_mask;
jpayne@69 2262 uint8_t pad1[2];
jpayne@69 2263 } xcb_change_active_pointer_grab_request_t;
jpayne@69 2264
jpayne@69 2265 /**
jpayne@69 2266 * @brief xcb_grab_keyboard_cookie_t
jpayne@69 2267 **/
jpayne@69 2268 typedef struct xcb_grab_keyboard_cookie_t {
jpayne@69 2269 unsigned int sequence;
jpayne@69 2270 } xcb_grab_keyboard_cookie_t;
jpayne@69 2271
jpayne@69 2272 /** Opcode for xcb_grab_keyboard. */
jpayne@69 2273 #define XCB_GRAB_KEYBOARD 31
jpayne@69 2274
jpayne@69 2275 /**
jpayne@69 2276 * @brief xcb_grab_keyboard_request_t
jpayne@69 2277 **/
jpayne@69 2278 typedef struct xcb_grab_keyboard_request_t {
jpayne@69 2279 uint8_t major_opcode;
jpayne@69 2280 uint8_t owner_events;
jpayne@69 2281 uint16_t length;
jpayne@69 2282 xcb_window_t grab_window;
jpayne@69 2283 xcb_timestamp_t time;
jpayne@69 2284 uint8_t pointer_mode;
jpayne@69 2285 uint8_t keyboard_mode;
jpayne@69 2286 uint8_t pad0[2];
jpayne@69 2287 } xcb_grab_keyboard_request_t;
jpayne@69 2288
jpayne@69 2289 /**
jpayne@69 2290 * @brief xcb_grab_keyboard_reply_t
jpayne@69 2291 **/
jpayne@69 2292 typedef struct xcb_grab_keyboard_reply_t {
jpayne@69 2293 uint8_t response_type;
jpayne@69 2294 uint8_t status;
jpayne@69 2295 uint16_t sequence;
jpayne@69 2296 uint32_t length;
jpayne@69 2297 } xcb_grab_keyboard_reply_t;
jpayne@69 2298
jpayne@69 2299 /** Opcode for xcb_ungrab_keyboard. */
jpayne@69 2300 #define XCB_UNGRAB_KEYBOARD 32
jpayne@69 2301
jpayne@69 2302 /**
jpayne@69 2303 * @brief xcb_ungrab_keyboard_request_t
jpayne@69 2304 **/
jpayne@69 2305 typedef struct xcb_ungrab_keyboard_request_t {
jpayne@69 2306 uint8_t major_opcode;
jpayne@69 2307 uint8_t pad0;
jpayne@69 2308 uint16_t length;
jpayne@69 2309 xcb_timestamp_t time;
jpayne@69 2310 } xcb_ungrab_keyboard_request_t;
jpayne@69 2311
jpayne@69 2312 typedef enum xcb_grab_t {
jpayne@69 2313 XCB_GRAB_ANY = 0
jpayne@69 2314 } xcb_grab_t;
jpayne@69 2315
jpayne@69 2316 /** Opcode for xcb_grab_key. */
jpayne@69 2317 #define XCB_GRAB_KEY 33
jpayne@69 2318
jpayne@69 2319 /**
jpayne@69 2320 * @brief xcb_grab_key_request_t
jpayne@69 2321 **/
jpayne@69 2322 typedef struct xcb_grab_key_request_t {
jpayne@69 2323 uint8_t major_opcode;
jpayne@69 2324 uint8_t owner_events;
jpayne@69 2325 uint16_t length;
jpayne@69 2326 xcb_window_t grab_window;
jpayne@69 2327 uint16_t modifiers;
jpayne@69 2328 xcb_keycode_t key;
jpayne@69 2329 uint8_t pointer_mode;
jpayne@69 2330 uint8_t keyboard_mode;
jpayne@69 2331 uint8_t pad0[3];
jpayne@69 2332 } xcb_grab_key_request_t;
jpayne@69 2333
jpayne@69 2334 /** Opcode for xcb_ungrab_key. */
jpayne@69 2335 #define XCB_UNGRAB_KEY 34
jpayne@69 2336
jpayne@69 2337 /**
jpayne@69 2338 * @brief xcb_ungrab_key_request_t
jpayne@69 2339 **/
jpayne@69 2340 typedef struct xcb_ungrab_key_request_t {
jpayne@69 2341 uint8_t major_opcode;
jpayne@69 2342 xcb_keycode_t key;
jpayne@69 2343 uint16_t length;
jpayne@69 2344 xcb_window_t grab_window;
jpayne@69 2345 uint16_t modifiers;
jpayne@69 2346 uint8_t pad0[2];
jpayne@69 2347 } xcb_ungrab_key_request_t;
jpayne@69 2348
jpayne@69 2349 typedef enum xcb_allow_t {
jpayne@69 2350 XCB_ALLOW_ASYNC_POINTER = 0,
jpayne@69 2351 /**< For AsyncPointer, if the pointer is frozen by the client, pointer event
jpayne@69 2352 processing continues normally. If the pointer is frozen twice by the client on
jpayne@69 2353 behalf of two separate grabs, AsyncPointer thaws for both. AsyncPointer has no
jpayne@69 2354 effect if the pointer is not frozen by the client, but the pointer need not be
jpayne@69 2355 grabbed by the client.
jpayne@69 2356
jpayne@69 2357 TODO: rewrite this in more understandable terms. */
jpayne@69 2358
jpayne@69 2359 XCB_ALLOW_SYNC_POINTER = 1,
jpayne@69 2360 /**< For SyncPointer, if the pointer is frozen and actively grabbed by the client,
jpayne@69 2361 pointer event processing continues normally until the next ButtonPress or
jpayne@69 2362 ButtonRelease event is reported to the client, at which time the pointer again
jpayne@69 2363 appears to freeze. However, if the reported event causes the pointer grab to be
jpayne@69 2364 released, then the pointer does not freeze. SyncPointer has no effect if the
jpayne@69 2365 pointer is not frozen by the client or if the pointer is not grabbed by the
jpayne@69 2366 client. */
jpayne@69 2367
jpayne@69 2368 XCB_ALLOW_REPLAY_POINTER = 2,
jpayne@69 2369 /**< For ReplayPointer, if the pointer is actively grabbed by the client and is
jpayne@69 2370 frozen as the result of an event having been sent to the client (either from
jpayne@69 2371 the activation of a GrabButton or from a previous AllowEvents with mode
jpayne@69 2372 SyncPointer but not from a GrabPointer), then the pointer grab is released and
jpayne@69 2373 that event is completely reprocessed, this time ignoring any passive grabs at
jpayne@69 2374 or above (towards the root) the grab-window of the grab just released. The
jpayne@69 2375 request has no effect if the pointer is not grabbed by the client or if the
jpayne@69 2376 pointer is not frozen as the result of an event. */
jpayne@69 2377
jpayne@69 2378 XCB_ALLOW_ASYNC_KEYBOARD = 3,
jpayne@69 2379 /**< For AsyncKeyboard, if the keyboard is frozen by the client, keyboard event
jpayne@69 2380 processing continues normally. If the keyboard is frozen twice by the client on
jpayne@69 2381 behalf of two separate grabs, AsyncKeyboard thaws for both. AsyncKeyboard has
jpayne@69 2382 no effect if the keyboard is not frozen by the client, but the keyboard need
jpayne@69 2383 not be grabbed by the client. */
jpayne@69 2384
jpayne@69 2385 XCB_ALLOW_SYNC_KEYBOARD = 4,
jpayne@69 2386 /**< For SyncKeyboard, if the keyboard is frozen and actively grabbed by the client,
jpayne@69 2387 keyboard event processing continues normally until the next KeyPress or
jpayne@69 2388 KeyRelease event is reported to the client, at which time the keyboard again
jpayne@69 2389 appears to freeze. However, if the reported event causes the keyboard grab to
jpayne@69 2390 be released, then the keyboard does not freeze. SyncKeyboard has no effect if
jpayne@69 2391 the keyboard is not frozen by the client or if the keyboard is not grabbed by
jpayne@69 2392 the client. */
jpayne@69 2393
jpayne@69 2394 XCB_ALLOW_REPLAY_KEYBOARD = 5,
jpayne@69 2395 /**< For ReplayKeyboard, if the keyboard is actively grabbed by the client and is
jpayne@69 2396 frozen as the result of an event having been sent to the client (either from
jpayne@69 2397 the activation of a GrabKey or from a previous AllowEvents with mode
jpayne@69 2398 SyncKeyboard but not from a GrabKeyboard), then the keyboard grab is released
jpayne@69 2399 and that event is completely reprocessed, this time ignoring any passive grabs
jpayne@69 2400 at or above (towards the root) the grab-window of the grab just released. The
jpayne@69 2401 request has no effect if the keyboard is not grabbed by the client or if the
jpayne@69 2402 keyboard is not frozen as the result of an event. */
jpayne@69 2403
jpayne@69 2404 XCB_ALLOW_ASYNC_BOTH = 6,
jpayne@69 2405 /**< For AsyncBoth, if the pointer and the keyboard are frozen by the client, event
jpayne@69 2406 processing for both devices continues normally. If a device is frozen twice by
jpayne@69 2407 the client on behalf of two separate grabs, AsyncBoth thaws for both. AsyncBoth
jpayne@69 2408 has no effect unless both pointer and keyboard are frozen by the client. */
jpayne@69 2409
jpayne@69 2410 XCB_ALLOW_SYNC_BOTH = 7
jpayne@69 2411 /**< For SyncBoth, if both pointer and keyboard are frozen by the client, event
jpayne@69 2412 processing (for both devices) continues normally until the next ButtonPress,
jpayne@69 2413 ButtonRelease, KeyPress, or KeyRelease event is reported to the client for a
jpayne@69 2414 grabbed device (button event for the pointer, key event for the keyboard), at
jpayne@69 2415 which time the devices again appear to freeze. However, if the reported event
jpayne@69 2416 causes the grab to be released, then the devices do not freeze (but if the
jpayne@69 2417 other device is still grabbed, then a subsequent event for it will still cause
jpayne@69 2418 both devices to freeze). SyncBoth has no effect unless both pointer and
jpayne@69 2419 keyboard are frozen by the client. If the pointer or keyboard is frozen twice
jpayne@69 2420 by the client on behalf of two separate grabs, SyncBoth thaws for both (but a
jpayne@69 2421 subsequent freeze for SyncBoth will only freeze each device once). */
jpayne@69 2422
jpayne@69 2423 } xcb_allow_t;
jpayne@69 2424
jpayne@69 2425 /** Opcode for xcb_allow_events. */
jpayne@69 2426 #define XCB_ALLOW_EVENTS 35
jpayne@69 2427
jpayne@69 2428 /**
jpayne@69 2429 * @brief xcb_allow_events_request_t
jpayne@69 2430 **/
jpayne@69 2431 typedef struct xcb_allow_events_request_t {
jpayne@69 2432 uint8_t major_opcode;
jpayne@69 2433 uint8_t mode;
jpayne@69 2434 uint16_t length;
jpayne@69 2435 xcb_timestamp_t time;
jpayne@69 2436 } xcb_allow_events_request_t;
jpayne@69 2437
jpayne@69 2438 /** Opcode for xcb_grab_server. */
jpayne@69 2439 #define XCB_GRAB_SERVER 36
jpayne@69 2440
jpayne@69 2441 /**
jpayne@69 2442 * @brief xcb_grab_server_request_t
jpayne@69 2443 **/
jpayne@69 2444 typedef struct xcb_grab_server_request_t {
jpayne@69 2445 uint8_t major_opcode;
jpayne@69 2446 uint8_t pad0;
jpayne@69 2447 uint16_t length;
jpayne@69 2448 } xcb_grab_server_request_t;
jpayne@69 2449
jpayne@69 2450 /** Opcode for xcb_ungrab_server. */
jpayne@69 2451 #define XCB_UNGRAB_SERVER 37
jpayne@69 2452
jpayne@69 2453 /**
jpayne@69 2454 * @brief xcb_ungrab_server_request_t
jpayne@69 2455 **/
jpayne@69 2456 typedef struct xcb_ungrab_server_request_t {
jpayne@69 2457 uint8_t major_opcode;
jpayne@69 2458 uint8_t pad0;
jpayne@69 2459 uint16_t length;
jpayne@69 2460 } xcb_ungrab_server_request_t;
jpayne@69 2461
jpayne@69 2462 /**
jpayne@69 2463 * @brief xcb_query_pointer_cookie_t
jpayne@69 2464 **/
jpayne@69 2465 typedef struct xcb_query_pointer_cookie_t {
jpayne@69 2466 unsigned int sequence;
jpayne@69 2467 } xcb_query_pointer_cookie_t;
jpayne@69 2468
jpayne@69 2469 /** Opcode for xcb_query_pointer. */
jpayne@69 2470 #define XCB_QUERY_POINTER 38
jpayne@69 2471
jpayne@69 2472 /**
jpayne@69 2473 * @brief xcb_query_pointer_request_t
jpayne@69 2474 **/
jpayne@69 2475 typedef struct xcb_query_pointer_request_t {
jpayne@69 2476 uint8_t major_opcode;
jpayne@69 2477 uint8_t pad0;
jpayne@69 2478 uint16_t length;
jpayne@69 2479 xcb_window_t window;
jpayne@69 2480 } xcb_query_pointer_request_t;
jpayne@69 2481
jpayne@69 2482 /**
jpayne@69 2483 * @brief xcb_query_pointer_reply_t
jpayne@69 2484 **/
jpayne@69 2485 typedef struct xcb_query_pointer_reply_t {
jpayne@69 2486 uint8_t response_type;
jpayne@69 2487 uint8_t same_screen;
jpayne@69 2488 uint16_t sequence;
jpayne@69 2489 uint32_t length;
jpayne@69 2490 xcb_window_t root;
jpayne@69 2491 xcb_window_t child;
jpayne@69 2492 int16_t root_x;
jpayne@69 2493 int16_t root_y;
jpayne@69 2494 int16_t win_x;
jpayne@69 2495 int16_t win_y;
jpayne@69 2496 uint16_t mask;
jpayne@69 2497 uint8_t pad0[2];
jpayne@69 2498 } xcb_query_pointer_reply_t;
jpayne@69 2499
jpayne@69 2500 /**
jpayne@69 2501 * @brief xcb_timecoord_t
jpayne@69 2502 **/
jpayne@69 2503 typedef struct xcb_timecoord_t {
jpayne@69 2504 xcb_timestamp_t time;
jpayne@69 2505 int16_t x;
jpayne@69 2506 int16_t y;
jpayne@69 2507 } xcb_timecoord_t;
jpayne@69 2508
jpayne@69 2509 /**
jpayne@69 2510 * @brief xcb_timecoord_iterator_t
jpayne@69 2511 **/
jpayne@69 2512 typedef struct xcb_timecoord_iterator_t {
jpayne@69 2513 xcb_timecoord_t *data;
jpayne@69 2514 int rem;
jpayne@69 2515 int index;
jpayne@69 2516 } xcb_timecoord_iterator_t;
jpayne@69 2517
jpayne@69 2518 /**
jpayne@69 2519 * @brief xcb_get_motion_events_cookie_t
jpayne@69 2520 **/
jpayne@69 2521 typedef struct xcb_get_motion_events_cookie_t {
jpayne@69 2522 unsigned int sequence;
jpayne@69 2523 } xcb_get_motion_events_cookie_t;
jpayne@69 2524
jpayne@69 2525 /** Opcode for xcb_get_motion_events. */
jpayne@69 2526 #define XCB_GET_MOTION_EVENTS 39
jpayne@69 2527
jpayne@69 2528 /**
jpayne@69 2529 * @brief xcb_get_motion_events_request_t
jpayne@69 2530 **/
jpayne@69 2531 typedef struct xcb_get_motion_events_request_t {
jpayne@69 2532 uint8_t major_opcode;
jpayne@69 2533 uint8_t pad0;
jpayne@69 2534 uint16_t length;
jpayne@69 2535 xcb_window_t window;
jpayne@69 2536 xcb_timestamp_t start;
jpayne@69 2537 xcb_timestamp_t stop;
jpayne@69 2538 } xcb_get_motion_events_request_t;
jpayne@69 2539
jpayne@69 2540 /**
jpayne@69 2541 * @brief xcb_get_motion_events_reply_t
jpayne@69 2542 **/
jpayne@69 2543 typedef struct xcb_get_motion_events_reply_t {
jpayne@69 2544 uint8_t response_type;
jpayne@69 2545 uint8_t pad0;
jpayne@69 2546 uint16_t sequence;
jpayne@69 2547 uint32_t length;
jpayne@69 2548 uint32_t events_len;
jpayne@69 2549 uint8_t pad1[20];
jpayne@69 2550 } xcb_get_motion_events_reply_t;
jpayne@69 2551
jpayne@69 2552 /**
jpayne@69 2553 * @brief xcb_translate_coordinates_cookie_t
jpayne@69 2554 **/
jpayne@69 2555 typedef struct xcb_translate_coordinates_cookie_t {
jpayne@69 2556 unsigned int sequence;
jpayne@69 2557 } xcb_translate_coordinates_cookie_t;
jpayne@69 2558
jpayne@69 2559 /** Opcode for xcb_translate_coordinates. */
jpayne@69 2560 #define XCB_TRANSLATE_COORDINATES 40
jpayne@69 2561
jpayne@69 2562 /**
jpayne@69 2563 * @brief xcb_translate_coordinates_request_t
jpayne@69 2564 **/
jpayne@69 2565 typedef struct xcb_translate_coordinates_request_t {
jpayne@69 2566 uint8_t major_opcode;
jpayne@69 2567 uint8_t pad0;
jpayne@69 2568 uint16_t length;
jpayne@69 2569 xcb_window_t src_window;
jpayne@69 2570 xcb_window_t dst_window;
jpayne@69 2571 int16_t src_x;
jpayne@69 2572 int16_t src_y;
jpayne@69 2573 } xcb_translate_coordinates_request_t;
jpayne@69 2574
jpayne@69 2575 /**
jpayne@69 2576 * @brief xcb_translate_coordinates_reply_t
jpayne@69 2577 **/
jpayne@69 2578 typedef struct xcb_translate_coordinates_reply_t {
jpayne@69 2579 uint8_t response_type;
jpayne@69 2580 uint8_t same_screen;
jpayne@69 2581 uint16_t sequence;
jpayne@69 2582 uint32_t length;
jpayne@69 2583 xcb_window_t child;
jpayne@69 2584 int16_t dst_x;
jpayne@69 2585 int16_t dst_y;
jpayne@69 2586 } xcb_translate_coordinates_reply_t;
jpayne@69 2587
jpayne@69 2588 /** Opcode for xcb_warp_pointer. */
jpayne@69 2589 #define XCB_WARP_POINTER 41
jpayne@69 2590
jpayne@69 2591 /**
jpayne@69 2592 * @brief xcb_warp_pointer_request_t
jpayne@69 2593 **/
jpayne@69 2594 typedef struct xcb_warp_pointer_request_t {
jpayne@69 2595 uint8_t major_opcode;
jpayne@69 2596 uint8_t pad0;
jpayne@69 2597 uint16_t length;
jpayne@69 2598 xcb_window_t src_window;
jpayne@69 2599 xcb_window_t dst_window;
jpayne@69 2600 int16_t src_x;
jpayne@69 2601 int16_t src_y;
jpayne@69 2602 uint16_t src_width;
jpayne@69 2603 uint16_t src_height;
jpayne@69 2604 int16_t dst_x;
jpayne@69 2605 int16_t dst_y;
jpayne@69 2606 } xcb_warp_pointer_request_t;
jpayne@69 2607
jpayne@69 2608 typedef enum xcb_input_focus_t {
jpayne@69 2609 XCB_INPUT_FOCUS_NONE = 0,
jpayne@69 2610 /**< The focus reverts to `XCB_NONE`, so no window will have the input focus. */
jpayne@69 2611
jpayne@69 2612 XCB_INPUT_FOCUS_POINTER_ROOT = 1,
jpayne@69 2613 /**< The focus reverts to `XCB_POINTER_ROOT` respectively. When the focus reverts,
jpayne@69 2614 FocusIn and FocusOut events are generated, but the last-focus-change time is
jpayne@69 2615 not changed. */
jpayne@69 2616
jpayne@69 2617 XCB_INPUT_FOCUS_PARENT = 2,
jpayne@69 2618 /**< The focus reverts to the parent (or closest viewable ancestor) and the new
jpayne@69 2619 revert_to value is `XCB_INPUT_FOCUS_NONE`. */
jpayne@69 2620
jpayne@69 2621 XCB_INPUT_FOCUS_FOLLOW_KEYBOARD = 3
jpayne@69 2622 /**< NOT YET DOCUMENTED. Only relevant for the xinput extension. */
jpayne@69 2623
jpayne@69 2624 } xcb_input_focus_t;
jpayne@69 2625
jpayne@69 2626 /** Opcode for xcb_set_input_focus. */
jpayne@69 2627 #define XCB_SET_INPUT_FOCUS 42
jpayne@69 2628
jpayne@69 2629 /**
jpayne@69 2630 * @brief xcb_set_input_focus_request_t
jpayne@69 2631 **/
jpayne@69 2632 typedef struct xcb_set_input_focus_request_t {
jpayne@69 2633 uint8_t major_opcode;
jpayne@69 2634 uint8_t revert_to;
jpayne@69 2635 uint16_t length;
jpayne@69 2636 xcb_window_t focus;
jpayne@69 2637 xcb_timestamp_t time;
jpayne@69 2638 } xcb_set_input_focus_request_t;
jpayne@69 2639
jpayne@69 2640 /**
jpayne@69 2641 * @brief xcb_get_input_focus_cookie_t
jpayne@69 2642 **/
jpayne@69 2643 typedef struct xcb_get_input_focus_cookie_t {
jpayne@69 2644 unsigned int sequence;
jpayne@69 2645 } xcb_get_input_focus_cookie_t;
jpayne@69 2646
jpayne@69 2647 /** Opcode for xcb_get_input_focus. */
jpayne@69 2648 #define XCB_GET_INPUT_FOCUS 43
jpayne@69 2649
jpayne@69 2650 /**
jpayne@69 2651 * @brief xcb_get_input_focus_request_t
jpayne@69 2652 **/
jpayne@69 2653 typedef struct xcb_get_input_focus_request_t {
jpayne@69 2654 uint8_t major_opcode;
jpayne@69 2655 uint8_t pad0;
jpayne@69 2656 uint16_t length;
jpayne@69 2657 } xcb_get_input_focus_request_t;
jpayne@69 2658
jpayne@69 2659 /**
jpayne@69 2660 * @brief xcb_get_input_focus_reply_t
jpayne@69 2661 **/
jpayne@69 2662 typedef struct xcb_get_input_focus_reply_t {
jpayne@69 2663 uint8_t response_type;
jpayne@69 2664 uint8_t revert_to;
jpayne@69 2665 uint16_t sequence;
jpayne@69 2666 uint32_t length;
jpayne@69 2667 xcb_window_t focus;
jpayne@69 2668 } xcb_get_input_focus_reply_t;
jpayne@69 2669
jpayne@69 2670 /**
jpayne@69 2671 * @brief xcb_query_keymap_cookie_t
jpayne@69 2672 **/
jpayne@69 2673 typedef struct xcb_query_keymap_cookie_t {
jpayne@69 2674 unsigned int sequence;
jpayne@69 2675 } xcb_query_keymap_cookie_t;
jpayne@69 2676
jpayne@69 2677 /** Opcode for xcb_query_keymap. */
jpayne@69 2678 #define XCB_QUERY_KEYMAP 44
jpayne@69 2679
jpayne@69 2680 /**
jpayne@69 2681 * @brief xcb_query_keymap_request_t
jpayne@69 2682 **/
jpayne@69 2683 typedef struct xcb_query_keymap_request_t {
jpayne@69 2684 uint8_t major_opcode;
jpayne@69 2685 uint8_t pad0;
jpayne@69 2686 uint16_t length;
jpayne@69 2687 } xcb_query_keymap_request_t;
jpayne@69 2688
jpayne@69 2689 /**
jpayne@69 2690 * @brief xcb_query_keymap_reply_t
jpayne@69 2691 **/
jpayne@69 2692 typedef struct xcb_query_keymap_reply_t {
jpayne@69 2693 uint8_t response_type;
jpayne@69 2694 uint8_t pad0;
jpayne@69 2695 uint16_t sequence;
jpayne@69 2696 uint32_t length;
jpayne@69 2697 uint8_t keys[32];
jpayne@69 2698 } xcb_query_keymap_reply_t;
jpayne@69 2699
jpayne@69 2700 /** Opcode for xcb_open_font. */
jpayne@69 2701 #define XCB_OPEN_FONT 45
jpayne@69 2702
jpayne@69 2703 /**
jpayne@69 2704 * @brief xcb_open_font_request_t
jpayne@69 2705 **/
jpayne@69 2706 typedef struct xcb_open_font_request_t {
jpayne@69 2707 uint8_t major_opcode;
jpayne@69 2708 uint8_t pad0;
jpayne@69 2709 uint16_t length;
jpayne@69 2710 xcb_font_t fid;
jpayne@69 2711 uint16_t name_len;
jpayne@69 2712 uint8_t pad1[2];
jpayne@69 2713 } xcb_open_font_request_t;
jpayne@69 2714
jpayne@69 2715 /** Opcode for xcb_close_font. */
jpayne@69 2716 #define XCB_CLOSE_FONT 46
jpayne@69 2717
jpayne@69 2718 /**
jpayne@69 2719 * @brief xcb_close_font_request_t
jpayne@69 2720 **/
jpayne@69 2721 typedef struct xcb_close_font_request_t {
jpayne@69 2722 uint8_t major_opcode;
jpayne@69 2723 uint8_t pad0;
jpayne@69 2724 uint16_t length;
jpayne@69 2725 xcb_font_t font;
jpayne@69 2726 } xcb_close_font_request_t;
jpayne@69 2727
jpayne@69 2728 typedef enum xcb_font_draw_t {
jpayne@69 2729 XCB_FONT_DRAW_LEFT_TO_RIGHT = 0,
jpayne@69 2730 XCB_FONT_DRAW_RIGHT_TO_LEFT = 1
jpayne@69 2731 } xcb_font_draw_t;
jpayne@69 2732
jpayne@69 2733 /**
jpayne@69 2734 * @brief xcb_fontprop_t
jpayne@69 2735 **/
jpayne@69 2736 typedef struct xcb_fontprop_t {
jpayne@69 2737 xcb_atom_t name;
jpayne@69 2738 uint32_t value;
jpayne@69 2739 } xcb_fontprop_t;
jpayne@69 2740
jpayne@69 2741 /**
jpayne@69 2742 * @brief xcb_fontprop_iterator_t
jpayne@69 2743 **/
jpayne@69 2744 typedef struct xcb_fontprop_iterator_t {
jpayne@69 2745 xcb_fontprop_t *data;
jpayne@69 2746 int rem;
jpayne@69 2747 int index;
jpayne@69 2748 } xcb_fontprop_iterator_t;
jpayne@69 2749
jpayne@69 2750 /**
jpayne@69 2751 * @brief xcb_charinfo_t
jpayne@69 2752 **/
jpayne@69 2753 typedef struct xcb_charinfo_t {
jpayne@69 2754 int16_t left_side_bearing;
jpayne@69 2755 int16_t right_side_bearing;
jpayne@69 2756 int16_t character_width;
jpayne@69 2757 int16_t ascent;
jpayne@69 2758 int16_t descent;
jpayne@69 2759 uint16_t attributes;
jpayne@69 2760 } xcb_charinfo_t;
jpayne@69 2761
jpayne@69 2762 /**
jpayne@69 2763 * @brief xcb_charinfo_iterator_t
jpayne@69 2764 **/
jpayne@69 2765 typedef struct xcb_charinfo_iterator_t {
jpayne@69 2766 xcb_charinfo_t *data;
jpayne@69 2767 int rem;
jpayne@69 2768 int index;
jpayne@69 2769 } xcb_charinfo_iterator_t;
jpayne@69 2770
jpayne@69 2771 /**
jpayne@69 2772 * @brief xcb_query_font_cookie_t
jpayne@69 2773 **/
jpayne@69 2774 typedef struct xcb_query_font_cookie_t {
jpayne@69 2775 unsigned int sequence;
jpayne@69 2776 } xcb_query_font_cookie_t;
jpayne@69 2777
jpayne@69 2778 /** Opcode for xcb_query_font. */
jpayne@69 2779 #define XCB_QUERY_FONT 47
jpayne@69 2780
jpayne@69 2781 /**
jpayne@69 2782 * @brief xcb_query_font_request_t
jpayne@69 2783 **/
jpayne@69 2784 typedef struct xcb_query_font_request_t {
jpayne@69 2785 uint8_t major_opcode;
jpayne@69 2786 uint8_t pad0;
jpayne@69 2787 uint16_t length;
jpayne@69 2788 xcb_fontable_t font;
jpayne@69 2789 } xcb_query_font_request_t;
jpayne@69 2790
jpayne@69 2791 /**
jpayne@69 2792 * @brief xcb_query_font_reply_t
jpayne@69 2793 **/
jpayne@69 2794 typedef struct xcb_query_font_reply_t {
jpayne@69 2795 uint8_t response_type;
jpayne@69 2796 uint8_t pad0;
jpayne@69 2797 uint16_t sequence;
jpayne@69 2798 uint32_t length;
jpayne@69 2799 xcb_charinfo_t min_bounds;
jpayne@69 2800 uint8_t pad1[4];
jpayne@69 2801 xcb_charinfo_t max_bounds;
jpayne@69 2802 uint8_t pad2[4];
jpayne@69 2803 uint16_t min_char_or_byte2;
jpayne@69 2804 uint16_t max_char_or_byte2;
jpayne@69 2805 uint16_t default_char;
jpayne@69 2806 uint16_t properties_len;
jpayne@69 2807 uint8_t draw_direction;
jpayne@69 2808 uint8_t min_byte1;
jpayne@69 2809 uint8_t max_byte1;
jpayne@69 2810 uint8_t all_chars_exist;
jpayne@69 2811 int16_t font_ascent;
jpayne@69 2812 int16_t font_descent;
jpayne@69 2813 uint32_t char_infos_len;
jpayne@69 2814 } xcb_query_font_reply_t;
jpayne@69 2815
jpayne@69 2816 /**
jpayne@69 2817 * @brief xcb_query_text_extents_cookie_t
jpayne@69 2818 **/
jpayne@69 2819 typedef struct xcb_query_text_extents_cookie_t {
jpayne@69 2820 unsigned int sequence;
jpayne@69 2821 } xcb_query_text_extents_cookie_t;
jpayne@69 2822
jpayne@69 2823 /** Opcode for xcb_query_text_extents. */
jpayne@69 2824 #define XCB_QUERY_TEXT_EXTENTS 48
jpayne@69 2825
jpayne@69 2826 /**
jpayne@69 2827 * @brief xcb_query_text_extents_request_t
jpayne@69 2828 **/
jpayne@69 2829 typedef struct xcb_query_text_extents_request_t {
jpayne@69 2830 uint8_t major_opcode;
jpayne@69 2831 uint8_t odd_length;
jpayne@69 2832 uint16_t length;
jpayne@69 2833 xcb_fontable_t font;
jpayne@69 2834 } xcb_query_text_extents_request_t;
jpayne@69 2835
jpayne@69 2836 /**
jpayne@69 2837 * @brief xcb_query_text_extents_reply_t
jpayne@69 2838 **/
jpayne@69 2839 typedef struct xcb_query_text_extents_reply_t {
jpayne@69 2840 uint8_t response_type;
jpayne@69 2841 uint8_t draw_direction;
jpayne@69 2842 uint16_t sequence;
jpayne@69 2843 uint32_t length;
jpayne@69 2844 int16_t font_ascent;
jpayne@69 2845 int16_t font_descent;
jpayne@69 2846 int16_t overall_ascent;
jpayne@69 2847 int16_t overall_descent;
jpayne@69 2848 int32_t overall_width;
jpayne@69 2849 int32_t overall_left;
jpayne@69 2850 int32_t overall_right;
jpayne@69 2851 } xcb_query_text_extents_reply_t;
jpayne@69 2852
jpayne@69 2853 /**
jpayne@69 2854 * @brief xcb_str_t
jpayne@69 2855 **/
jpayne@69 2856 typedef struct xcb_str_t {
jpayne@69 2857 uint8_t name_len;
jpayne@69 2858 } xcb_str_t;
jpayne@69 2859
jpayne@69 2860 /**
jpayne@69 2861 * @brief xcb_str_iterator_t
jpayne@69 2862 **/
jpayne@69 2863 typedef struct xcb_str_iterator_t {
jpayne@69 2864 xcb_str_t *data;
jpayne@69 2865 int rem;
jpayne@69 2866 int index;
jpayne@69 2867 } xcb_str_iterator_t;
jpayne@69 2868
jpayne@69 2869 /**
jpayne@69 2870 * @brief xcb_list_fonts_cookie_t
jpayne@69 2871 **/
jpayne@69 2872 typedef struct xcb_list_fonts_cookie_t {
jpayne@69 2873 unsigned int sequence;
jpayne@69 2874 } xcb_list_fonts_cookie_t;
jpayne@69 2875
jpayne@69 2876 /** Opcode for xcb_list_fonts. */
jpayne@69 2877 #define XCB_LIST_FONTS 49
jpayne@69 2878
jpayne@69 2879 /**
jpayne@69 2880 * @brief xcb_list_fonts_request_t
jpayne@69 2881 **/
jpayne@69 2882 typedef struct xcb_list_fonts_request_t {
jpayne@69 2883 uint8_t major_opcode;
jpayne@69 2884 uint8_t pad0;
jpayne@69 2885 uint16_t length;
jpayne@69 2886 uint16_t max_names;
jpayne@69 2887 uint16_t pattern_len;
jpayne@69 2888 } xcb_list_fonts_request_t;
jpayne@69 2889
jpayne@69 2890 /**
jpayne@69 2891 * @brief xcb_list_fonts_reply_t
jpayne@69 2892 **/
jpayne@69 2893 typedef struct xcb_list_fonts_reply_t {
jpayne@69 2894 uint8_t response_type;
jpayne@69 2895 uint8_t pad0;
jpayne@69 2896 uint16_t sequence;
jpayne@69 2897 uint32_t length;
jpayne@69 2898 uint16_t names_len;
jpayne@69 2899 uint8_t pad1[22];
jpayne@69 2900 } xcb_list_fonts_reply_t;
jpayne@69 2901
jpayne@69 2902 /**
jpayne@69 2903 * @brief xcb_list_fonts_with_info_cookie_t
jpayne@69 2904 **/
jpayne@69 2905 typedef struct xcb_list_fonts_with_info_cookie_t {
jpayne@69 2906 unsigned int sequence;
jpayne@69 2907 } xcb_list_fonts_with_info_cookie_t;
jpayne@69 2908
jpayne@69 2909 /** Opcode for xcb_list_fonts_with_info. */
jpayne@69 2910 #define XCB_LIST_FONTS_WITH_INFO 50
jpayne@69 2911
jpayne@69 2912 /**
jpayne@69 2913 * @brief xcb_list_fonts_with_info_request_t
jpayne@69 2914 **/
jpayne@69 2915 typedef struct xcb_list_fonts_with_info_request_t {
jpayne@69 2916 uint8_t major_opcode;
jpayne@69 2917 uint8_t pad0;
jpayne@69 2918 uint16_t length;
jpayne@69 2919 uint16_t max_names;
jpayne@69 2920 uint16_t pattern_len;
jpayne@69 2921 } xcb_list_fonts_with_info_request_t;
jpayne@69 2922
jpayne@69 2923 /**
jpayne@69 2924 * @brief xcb_list_fonts_with_info_reply_t
jpayne@69 2925 **/
jpayne@69 2926 typedef struct xcb_list_fonts_with_info_reply_t {
jpayne@69 2927 uint8_t response_type;
jpayne@69 2928 uint8_t name_len;
jpayne@69 2929 uint16_t sequence;
jpayne@69 2930 uint32_t length;
jpayne@69 2931 xcb_charinfo_t min_bounds;
jpayne@69 2932 uint8_t pad0[4];
jpayne@69 2933 xcb_charinfo_t max_bounds;
jpayne@69 2934 uint8_t pad1[4];
jpayne@69 2935 uint16_t min_char_or_byte2;
jpayne@69 2936 uint16_t max_char_or_byte2;
jpayne@69 2937 uint16_t default_char;
jpayne@69 2938 uint16_t properties_len;
jpayne@69 2939 uint8_t draw_direction;
jpayne@69 2940 uint8_t min_byte1;
jpayne@69 2941 uint8_t max_byte1;
jpayne@69 2942 uint8_t all_chars_exist;
jpayne@69 2943 int16_t font_ascent;
jpayne@69 2944 int16_t font_descent;
jpayne@69 2945 uint32_t replies_hint;
jpayne@69 2946 } xcb_list_fonts_with_info_reply_t;
jpayne@69 2947
jpayne@69 2948 /** Opcode for xcb_set_font_path. */
jpayne@69 2949 #define XCB_SET_FONT_PATH 51
jpayne@69 2950
jpayne@69 2951 /**
jpayne@69 2952 * @brief xcb_set_font_path_request_t
jpayne@69 2953 **/
jpayne@69 2954 typedef struct xcb_set_font_path_request_t {
jpayne@69 2955 uint8_t major_opcode;
jpayne@69 2956 uint8_t pad0;
jpayne@69 2957 uint16_t length;
jpayne@69 2958 uint16_t font_qty;
jpayne@69 2959 uint8_t pad1[2];
jpayne@69 2960 } xcb_set_font_path_request_t;
jpayne@69 2961
jpayne@69 2962 /**
jpayne@69 2963 * @brief xcb_get_font_path_cookie_t
jpayne@69 2964 **/
jpayne@69 2965 typedef struct xcb_get_font_path_cookie_t {
jpayne@69 2966 unsigned int sequence;
jpayne@69 2967 } xcb_get_font_path_cookie_t;
jpayne@69 2968
jpayne@69 2969 /** Opcode for xcb_get_font_path. */
jpayne@69 2970 #define XCB_GET_FONT_PATH 52
jpayne@69 2971
jpayne@69 2972 /**
jpayne@69 2973 * @brief xcb_get_font_path_request_t
jpayne@69 2974 **/
jpayne@69 2975 typedef struct xcb_get_font_path_request_t {
jpayne@69 2976 uint8_t major_opcode;
jpayne@69 2977 uint8_t pad0;
jpayne@69 2978 uint16_t length;
jpayne@69 2979 } xcb_get_font_path_request_t;
jpayne@69 2980
jpayne@69 2981 /**
jpayne@69 2982 * @brief xcb_get_font_path_reply_t
jpayne@69 2983 **/
jpayne@69 2984 typedef struct xcb_get_font_path_reply_t {
jpayne@69 2985 uint8_t response_type;
jpayne@69 2986 uint8_t pad0;
jpayne@69 2987 uint16_t sequence;
jpayne@69 2988 uint32_t length;
jpayne@69 2989 uint16_t path_len;
jpayne@69 2990 uint8_t pad1[22];
jpayne@69 2991 } xcb_get_font_path_reply_t;
jpayne@69 2992
jpayne@69 2993 /** Opcode for xcb_create_pixmap. */
jpayne@69 2994 #define XCB_CREATE_PIXMAP 53
jpayne@69 2995
jpayne@69 2996 /**
jpayne@69 2997 * @brief xcb_create_pixmap_request_t
jpayne@69 2998 **/
jpayne@69 2999 typedef struct xcb_create_pixmap_request_t {
jpayne@69 3000 uint8_t major_opcode;
jpayne@69 3001 uint8_t depth;
jpayne@69 3002 uint16_t length;
jpayne@69 3003 xcb_pixmap_t pid;
jpayne@69 3004 xcb_drawable_t drawable;
jpayne@69 3005 uint16_t width;
jpayne@69 3006 uint16_t height;
jpayne@69 3007 } xcb_create_pixmap_request_t;
jpayne@69 3008
jpayne@69 3009 /** Opcode for xcb_free_pixmap. */
jpayne@69 3010 #define XCB_FREE_PIXMAP 54
jpayne@69 3011
jpayne@69 3012 /**
jpayne@69 3013 * @brief xcb_free_pixmap_request_t
jpayne@69 3014 **/
jpayne@69 3015 typedef struct xcb_free_pixmap_request_t {
jpayne@69 3016 uint8_t major_opcode;
jpayne@69 3017 uint8_t pad0;
jpayne@69 3018 uint16_t length;
jpayne@69 3019 xcb_pixmap_t pixmap;
jpayne@69 3020 } xcb_free_pixmap_request_t;
jpayne@69 3021
jpayne@69 3022 typedef enum xcb_gc_t {
jpayne@69 3023 XCB_GC_FUNCTION = 1,
jpayne@69 3024 /**< TODO: Refer to GX */
jpayne@69 3025
jpayne@69 3026 XCB_GC_PLANE_MASK = 2,
jpayne@69 3027 /**< In graphics operations, given a source and destination pixel, the result is
jpayne@69 3028 computed bitwise on corresponding bits of the pixels; that is, a Boolean
jpayne@69 3029 operation is performed in each bit plane. The plane-mask restricts the
jpayne@69 3030 operation to a subset of planes, so the result is:
jpayne@69 3031
jpayne@69 3032 ((src FUNC dst) AND plane-mask) OR (dst AND (NOT plane-mask)) */
jpayne@69 3033
jpayne@69 3034 XCB_GC_FOREGROUND = 4,
jpayne@69 3035 /**< Foreground colorpixel. */
jpayne@69 3036
jpayne@69 3037 XCB_GC_BACKGROUND = 8,
jpayne@69 3038 /**< Background colorpixel. */
jpayne@69 3039
jpayne@69 3040 XCB_GC_LINE_WIDTH = 16,
jpayne@69 3041 /**< The line-width is measured in pixels and can be greater than or equal to one, a wide line, or the
jpayne@69 3042 special value zero, a thin line. */
jpayne@69 3043
jpayne@69 3044 XCB_GC_LINE_STYLE = 32,
jpayne@69 3045 /**< The line-style defines which sections of a line are drawn:
jpayne@69 3046 Solid The full path of the line is drawn.
jpayne@69 3047 DoubleDash The full path of the line is drawn, but the even dashes are filled differently
jpayne@69 3048 than the odd dashes (see fill-style), with Butt cap-style used where even and
jpayne@69 3049 odd dashes meet.
jpayne@69 3050 OnOffDash Only the even dashes are drawn, and cap-style applies to all internal ends of
jpayne@69 3051 the individual dashes (except NotLast is treated as Butt). */
jpayne@69 3052
jpayne@69 3053 XCB_GC_CAP_STYLE = 64,
jpayne@69 3054 /**< The cap-style defines how the endpoints of a path are drawn:
jpayne@69 3055 NotLast The result is equivalent to Butt, except that for a line-width of zero the final
jpayne@69 3056 endpoint is not drawn.
jpayne@69 3057 Butt The result is square at the endpoint (perpendicular to the slope of the line)
jpayne@69 3058 with no projection beyond.
jpayne@69 3059 Round The result is a circular arc with its diameter equal to the line-width, centered
jpayne@69 3060 on the endpoint; it is equivalent to Butt for line-width zero.
jpayne@69 3061 Projecting The result is square at the end, but the path continues beyond the endpoint for
jpayne@69 3062 a distance equal to half the line-width; it is equivalent to Butt for line-width
jpayne@69 3063 zero. */
jpayne@69 3064
jpayne@69 3065 XCB_GC_JOIN_STYLE = 128,
jpayne@69 3066 /**< The join-style defines how corners are drawn for wide lines:
jpayne@69 3067 Miter The outer edges of the two lines extend to meet at an angle. However, if the
jpayne@69 3068 angle is less than 11 degrees, a Bevel join-style is used instead.
jpayne@69 3069 Round The result is a circular arc with a diameter equal to the line-width, centered
jpayne@69 3070 on the joinpoint.
jpayne@69 3071 Bevel The result is Butt endpoint styles, and then the triangular notch is filled. */
jpayne@69 3072
jpayne@69 3073 XCB_GC_FILL_STYLE = 256,
jpayne@69 3074 /**< The fill-style defines the contents of the source for line, text, and fill requests. For all text and fill
jpayne@69 3075 requests (for example, PolyText8, PolyText16, PolyFillRectangle, FillPoly, and PolyFillArc)
jpayne@69 3076 as well as for line requests with line-style Solid, (for example, PolyLine, PolySegment,
jpayne@69 3077 PolyRectangle, PolyArc) and for the even dashes for line requests with line-style OnOffDash
jpayne@69 3078 or DoubleDash:
jpayne@69 3079 Solid Foreground
jpayne@69 3080 Tiled Tile
jpayne@69 3081 OpaqueStippled A tile with the same width and height as stipple but with background
jpayne@69 3082 everywhere stipple has a zero and with foreground everywhere stipple
jpayne@69 3083 has a one
jpayne@69 3084 Stippled Foreground masked by stipple
jpayne@69 3085 For the odd dashes for line requests with line-style DoubleDash:
jpayne@69 3086 Solid Background
jpayne@69 3087 Tiled Same as for even dashes
jpayne@69 3088 OpaqueStippled Same as for even dashes
jpayne@69 3089 Stippled Background masked by stipple */
jpayne@69 3090
jpayne@69 3091 XCB_GC_FILL_RULE = 512,
jpayne@69 3092 /**< */
jpayne@69 3093
jpayne@69 3094 XCB_GC_TILE = 1024,
jpayne@69 3095 /**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
jpayne@69 3096 dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
jpayne@69 3097 the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
jpayne@69 3098 specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
jpayne@69 3099 origin of whatever destination drawable is specified in a graphics request.
jpayne@69 3100 The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
jpayne@69 3101 The stipple pixmap must have depth one and must have the same root as the gcontext (or a
jpayne@69 3102 Match error results). For fill-style Stippled (but not fill-style
jpayne@69 3103 OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
jpayne@69 3104 additional clip mask to be ANDed with the clip-mask.
jpayne@69 3105 Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
jpayne@69 3106 others. */
jpayne@69 3107
jpayne@69 3108 XCB_GC_STIPPLE = 2048,
jpayne@69 3109 /**< The tile/stipple represents an infinite two-dimensional plane with the tile/stipple replicated in all
jpayne@69 3110 dimensions. When that plane is superimposed on the drawable for use in a graphics operation,
jpayne@69 3111 the upper-left corner of some instance of the tile/stipple is at the coordinates within the drawable
jpayne@69 3112 specified by the tile/stipple origin. The tile/stipple and clip origins are interpreted relative to the
jpayne@69 3113 origin of whatever destination drawable is specified in a graphics request.
jpayne@69 3114 The tile pixmap must have the same root and depth as the gcontext (or a Match error results).
jpayne@69 3115 The stipple pixmap must have depth one and must have the same root as the gcontext (or a
jpayne@69 3116 Match error results). For fill-style Stippled (but not fill-style
jpayne@69 3117 OpaqueStippled), the stipple pattern is tiled in a single plane and acts as an
jpayne@69 3118 additional clip mask to be ANDed with the clip-mask.
jpayne@69 3119 Any size pixmap can be used for tiling or stippling, although some sizes may be faster to use than
jpayne@69 3120 others. */
jpayne@69 3121
jpayne@69 3122 XCB_GC_TILE_STIPPLE_ORIGIN_X = 4096,
jpayne@69 3123 /**< TODO */
jpayne@69 3124
jpayne@69 3125 XCB_GC_TILE_STIPPLE_ORIGIN_Y = 8192,
jpayne@69 3126 /**< TODO */
jpayne@69 3127
jpayne@69 3128 XCB_GC_FONT = 16384,
jpayne@69 3129 /**< Which font to use for the `ImageText8` and `ImageText16` requests. */
jpayne@69 3130
jpayne@69 3131 XCB_GC_SUBWINDOW_MODE = 32768,
jpayne@69 3132 /**< For ClipByChildren, both source and destination windows are additionally
jpayne@69 3133 clipped by all viewable InputOutput children. For IncludeInferiors, neither
jpayne@69 3134 source nor destination window is
jpayne@69 3135 clipped by inferiors. This will result in including subwindow contents in the source and drawing
jpayne@69 3136 through subwindow boundaries of the destination. The use of IncludeInferiors with a source or
jpayne@69 3137 destination window of one depth with mapped inferiors of differing depth is not illegal, but the
jpayne@69 3138 semantics is undefined by the core protocol. */
jpayne@69 3139
jpayne@69 3140 XCB_GC_GRAPHICS_EXPOSURES = 65536,
jpayne@69 3141 /**< Whether ExposureEvents should be generated (1) or not (0).
jpayne@69 3142
jpayne@69 3143 The default is 1. */
jpayne@69 3144
jpayne@69 3145 XCB_GC_CLIP_ORIGIN_X = 131072,
jpayne@69 3146 /**< TODO */
jpayne@69 3147
jpayne@69 3148 XCB_GC_CLIP_ORIGIN_Y = 262144,
jpayne@69 3149 /**< TODO */
jpayne@69 3150
jpayne@69 3151 XCB_GC_CLIP_MASK = 524288,
jpayne@69 3152 /**< The clip-mask restricts writes to the destination drawable. Only pixels where the clip-mask has
jpayne@69 3153 bits set to 1 are drawn. Pixels are not drawn outside the area covered by the clip-mask or where
jpayne@69 3154 the clip-mask has bits set to 0. The clip-mask affects all graphics requests, but it does not clip
jpayne@69 3155 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
jpayne@69 3156 depth 1 and have the same root as the gcontext (or a Match error results). If clip-mask is None,
jpayne@69 3157 then pixels are always drawn, regardless of the clip origin. The clip-mask can also be set with the
jpayne@69 3158 SetClipRectangles request. */
jpayne@69 3159
jpayne@69 3160 XCB_GC_DASH_OFFSET = 1048576,
jpayne@69 3161 /**< TODO */
jpayne@69 3162
jpayne@69 3163 XCB_GC_DASH_LIST = 2097152,
jpayne@69 3164 /**< TODO */
jpayne@69 3165
jpayne@69 3166 XCB_GC_ARC_MODE = 4194304
jpayne@69 3167 /**< TODO */
jpayne@69 3168
jpayne@69 3169 } xcb_gc_t;
jpayne@69 3170
jpayne@69 3171 typedef enum xcb_gx_t {
jpayne@69 3172 XCB_GX_CLEAR = 0,
jpayne@69 3173 XCB_GX_AND = 1,
jpayne@69 3174 XCB_GX_AND_REVERSE = 2,
jpayne@69 3175 XCB_GX_COPY = 3,
jpayne@69 3176 XCB_GX_AND_INVERTED = 4,
jpayne@69 3177 XCB_GX_NOOP = 5,
jpayne@69 3178 XCB_GX_XOR = 6,
jpayne@69 3179 XCB_GX_OR = 7,
jpayne@69 3180 XCB_GX_NOR = 8,
jpayne@69 3181 XCB_GX_EQUIV = 9,
jpayne@69 3182 XCB_GX_INVERT = 10,
jpayne@69 3183 XCB_GX_OR_REVERSE = 11,
jpayne@69 3184 XCB_GX_COPY_INVERTED = 12,
jpayne@69 3185 XCB_GX_OR_INVERTED = 13,
jpayne@69 3186 XCB_GX_NAND = 14,
jpayne@69 3187 XCB_GX_SET = 15
jpayne@69 3188 } xcb_gx_t;
jpayne@69 3189
jpayne@69 3190 typedef enum xcb_line_style_t {
jpayne@69 3191 XCB_LINE_STYLE_SOLID = 0,
jpayne@69 3192 XCB_LINE_STYLE_ON_OFF_DASH = 1,
jpayne@69 3193 XCB_LINE_STYLE_DOUBLE_DASH = 2
jpayne@69 3194 } xcb_line_style_t;
jpayne@69 3195
jpayne@69 3196 typedef enum xcb_cap_style_t {
jpayne@69 3197 XCB_CAP_STYLE_NOT_LAST = 0,
jpayne@69 3198 XCB_CAP_STYLE_BUTT = 1,
jpayne@69 3199 XCB_CAP_STYLE_ROUND = 2,
jpayne@69 3200 XCB_CAP_STYLE_PROJECTING = 3
jpayne@69 3201 } xcb_cap_style_t;
jpayne@69 3202
jpayne@69 3203 typedef enum xcb_join_style_t {
jpayne@69 3204 XCB_JOIN_STYLE_MITER = 0,
jpayne@69 3205 XCB_JOIN_STYLE_ROUND = 1,
jpayne@69 3206 XCB_JOIN_STYLE_BEVEL = 2
jpayne@69 3207 } xcb_join_style_t;
jpayne@69 3208
jpayne@69 3209 typedef enum xcb_fill_style_t {
jpayne@69 3210 XCB_FILL_STYLE_SOLID = 0,
jpayne@69 3211 XCB_FILL_STYLE_TILED = 1,
jpayne@69 3212 XCB_FILL_STYLE_STIPPLED = 2,
jpayne@69 3213 XCB_FILL_STYLE_OPAQUE_STIPPLED = 3
jpayne@69 3214 } xcb_fill_style_t;
jpayne@69 3215
jpayne@69 3216 typedef enum xcb_fill_rule_t {
jpayne@69 3217 XCB_FILL_RULE_EVEN_ODD = 0,
jpayne@69 3218 XCB_FILL_RULE_WINDING = 1
jpayne@69 3219 } xcb_fill_rule_t;
jpayne@69 3220
jpayne@69 3221 typedef enum xcb_subwindow_mode_t {
jpayne@69 3222 XCB_SUBWINDOW_MODE_CLIP_BY_CHILDREN = 0,
jpayne@69 3223 XCB_SUBWINDOW_MODE_INCLUDE_INFERIORS = 1
jpayne@69 3224 } xcb_subwindow_mode_t;
jpayne@69 3225
jpayne@69 3226 typedef enum xcb_arc_mode_t {
jpayne@69 3227 XCB_ARC_MODE_CHORD = 0,
jpayne@69 3228 XCB_ARC_MODE_PIE_SLICE = 1
jpayne@69 3229 } xcb_arc_mode_t;
jpayne@69 3230
jpayne@69 3231 /**
jpayne@69 3232 * @brief xcb_create_gc_value_list_t
jpayne@69 3233 **/
jpayne@69 3234 typedef struct xcb_create_gc_value_list_t {
jpayne@69 3235 uint32_t function;
jpayne@69 3236 uint32_t plane_mask;
jpayne@69 3237 uint32_t foreground;
jpayne@69 3238 uint32_t background;
jpayne@69 3239 uint32_t line_width;
jpayne@69 3240 uint32_t line_style;
jpayne@69 3241 uint32_t cap_style;
jpayne@69 3242 uint32_t join_style;
jpayne@69 3243 uint32_t fill_style;
jpayne@69 3244 uint32_t fill_rule;
jpayne@69 3245 xcb_pixmap_t tile;
jpayne@69 3246 xcb_pixmap_t stipple;
jpayne@69 3247 int32_t tile_stipple_x_origin;
jpayne@69 3248 int32_t tile_stipple_y_origin;
jpayne@69 3249 xcb_font_t font;
jpayne@69 3250 uint32_t subwindow_mode;
jpayne@69 3251 xcb_bool32_t graphics_exposures;
jpayne@69 3252 int32_t clip_x_origin;
jpayne@69 3253 int32_t clip_y_origin;
jpayne@69 3254 xcb_pixmap_t clip_mask;
jpayne@69 3255 uint32_t dash_offset;
jpayne@69 3256 uint32_t dashes;
jpayne@69 3257 uint32_t arc_mode;
jpayne@69 3258 } xcb_create_gc_value_list_t;
jpayne@69 3259
jpayne@69 3260 /** Opcode for xcb_create_gc. */
jpayne@69 3261 #define XCB_CREATE_GC 55
jpayne@69 3262
jpayne@69 3263 /**
jpayne@69 3264 * @brief xcb_create_gc_request_t
jpayne@69 3265 **/
jpayne@69 3266 typedef struct xcb_create_gc_request_t {
jpayne@69 3267 uint8_t major_opcode;
jpayne@69 3268 uint8_t pad0;
jpayne@69 3269 uint16_t length;
jpayne@69 3270 xcb_gcontext_t cid;
jpayne@69 3271 xcb_drawable_t drawable;
jpayne@69 3272 uint32_t value_mask;
jpayne@69 3273 } xcb_create_gc_request_t;
jpayne@69 3274
jpayne@69 3275 /**
jpayne@69 3276 * @brief xcb_change_gc_value_list_t
jpayne@69 3277 **/
jpayne@69 3278 typedef struct xcb_change_gc_value_list_t {
jpayne@69 3279 uint32_t function;
jpayne@69 3280 uint32_t plane_mask;
jpayne@69 3281 uint32_t foreground;
jpayne@69 3282 uint32_t background;
jpayne@69 3283 uint32_t line_width;
jpayne@69 3284 uint32_t line_style;
jpayne@69 3285 uint32_t cap_style;
jpayne@69 3286 uint32_t join_style;
jpayne@69 3287 uint32_t fill_style;
jpayne@69 3288 uint32_t fill_rule;
jpayne@69 3289 xcb_pixmap_t tile;
jpayne@69 3290 xcb_pixmap_t stipple;
jpayne@69 3291 int32_t tile_stipple_x_origin;
jpayne@69 3292 int32_t tile_stipple_y_origin;
jpayne@69 3293 xcb_font_t font;
jpayne@69 3294 uint32_t subwindow_mode;
jpayne@69 3295 xcb_bool32_t graphics_exposures;
jpayne@69 3296 int32_t clip_x_origin;
jpayne@69 3297 int32_t clip_y_origin;
jpayne@69 3298 xcb_pixmap_t clip_mask;
jpayne@69 3299 uint32_t dash_offset;
jpayne@69 3300 uint32_t dashes;
jpayne@69 3301 uint32_t arc_mode;
jpayne@69 3302 } xcb_change_gc_value_list_t;
jpayne@69 3303
jpayne@69 3304 /** Opcode for xcb_change_gc. */
jpayne@69 3305 #define XCB_CHANGE_GC 56
jpayne@69 3306
jpayne@69 3307 /**
jpayne@69 3308 * @brief xcb_change_gc_request_t
jpayne@69 3309 **/
jpayne@69 3310 typedef struct xcb_change_gc_request_t {
jpayne@69 3311 uint8_t major_opcode;
jpayne@69 3312 uint8_t pad0;
jpayne@69 3313 uint16_t length;
jpayne@69 3314 xcb_gcontext_t gc;
jpayne@69 3315 uint32_t value_mask;
jpayne@69 3316 } xcb_change_gc_request_t;
jpayne@69 3317
jpayne@69 3318 /** Opcode for xcb_copy_gc. */
jpayne@69 3319 #define XCB_COPY_GC 57
jpayne@69 3320
jpayne@69 3321 /**
jpayne@69 3322 * @brief xcb_copy_gc_request_t
jpayne@69 3323 **/
jpayne@69 3324 typedef struct xcb_copy_gc_request_t {
jpayne@69 3325 uint8_t major_opcode;
jpayne@69 3326 uint8_t pad0;
jpayne@69 3327 uint16_t length;
jpayne@69 3328 xcb_gcontext_t src_gc;
jpayne@69 3329 xcb_gcontext_t dst_gc;
jpayne@69 3330 uint32_t value_mask;
jpayne@69 3331 } xcb_copy_gc_request_t;
jpayne@69 3332
jpayne@69 3333 /** Opcode for xcb_set_dashes. */
jpayne@69 3334 #define XCB_SET_DASHES 58
jpayne@69 3335
jpayne@69 3336 /**
jpayne@69 3337 * @brief xcb_set_dashes_request_t
jpayne@69 3338 **/
jpayne@69 3339 typedef struct xcb_set_dashes_request_t {
jpayne@69 3340 uint8_t major_opcode;
jpayne@69 3341 uint8_t pad0;
jpayne@69 3342 uint16_t length;
jpayne@69 3343 xcb_gcontext_t gc;
jpayne@69 3344 uint16_t dash_offset;
jpayne@69 3345 uint16_t dashes_len;
jpayne@69 3346 } xcb_set_dashes_request_t;
jpayne@69 3347
jpayne@69 3348 typedef enum xcb_clip_ordering_t {
jpayne@69 3349 XCB_CLIP_ORDERING_UNSORTED = 0,
jpayne@69 3350 XCB_CLIP_ORDERING_Y_SORTED = 1,
jpayne@69 3351 XCB_CLIP_ORDERING_YX_SORTED = 2,
jpayne@69 3352 XCB_CLIP_ORDERING_YX_BANDED = 3
jpayne@69 3353 } xcb_clip_ordering_t;
jpayne@69 3354
jpayne@69 3355 /** Opcode for xcb_set_clip_rectangles. */
jpayne@69 3356 #define XCB_SET_CLIP_RECTANGLES 59
jpayne@69 3357
jpayne@69 3358 /**
jpayne@69 3359 * @brief xcb_set_clip_rectangles_request_t
jpayne@69 3360 **/
jpayne@69 3361 typedef struct xcb_set_clip_rectangles_request_t {
jpayne@69 3362 uint8_t major_opcode;
jpayne@69 3363 uint8_t ordering;
jpayne@69 3364 uint16_t length;
jpayne@69 3365 xcb_gcontext_t gc;
jpayne@69 3366 int16_t clip_x_origin;
jpayne@69 3367 int16_t clip_y_origin;
jpayne@69 3368 } xcb_set_clip_rectangles_request_t;
jpayne@69 3369
jpayne@69 3370 /** Opcode for xcb_free_gc. */
jpayne@69 3371 #define XCB_FREE_GC 60
jpayne@69 3372
jpayne@69 3373 /**
jpayne@69 3374 * @brief xcb_free_gc_request_t
jpayne@69 3375 **/
jpayne@69 3376 typedef struct xcb_free_gc_request_t {
jpayne@69 3377 uint8_t major_opcode;
jpayne@69 3378 uint8_t pad0;
jpayne@69 3379 uint16_t length;
jpayne@69 3380 xcb_gcontext_t gc;
jpayne@69 3381 } xcb_free_gc_request_t;
jpayne@69 3382
jpayne@69 3383 /** Opcode for xcb_clear_area. */
jpayne@69 3384 #define XCB_CLEAR_AREA 61
jpayne@69 3385
jpayne@69 3386 /**
jpayne@69 3387 * @brief xcb_clear_area_request_t
jpayne@69 3388 **/
jpayne@69 3389 typedef struct xcb_clear_area_request_t {
jpayne@69 3390 uint8_t major_opcode;
jpayne@69 3391 uint8_t exposures;
jpayne@69 3392 uint16_t length;
jpayne@69 3393 xcb_window_t window;
jpayne@69 3394 int16_t x;
jpayne@69 3395 int16_t y;
jpayne@69 3396 uint16_t width;
jpayne@69 3397 uint16_t height;
jpayne@69 3398 } xcb_clear_area_request_t;
jpayne@69 3399
jpayne@69 3400 /** Opcode for xcb_copy_area. */
jpayne@69 3401 #define XCB_COPY_AREA 62
jpayne@69 3402
jpayne@69 3403 /**
jpayne@69 3404 * @brief xcb_copy_area_request_t
jpayne@69 3405 **/
jpayne@69 3406 typedef struct xcb_copy_area_request_t {
jpayne@69 3407 uint8_t major_opcode;
jpayne@69 3408 uint8_t pad0;
jpayne@69 3409 uint16_t length;
jpayne@69 3410 xcb_drawable_t src_drawable;
jpayne@69 3411 xcb_drawable_t dst_drawable;
jpayne@69 3412 xcb_gcontext_t gc;
jpayne@69 3413 int16_t src_x;
jpayne@69 3414 int16_t src_y;
jpayne@69 3415 int16_t dst_x;
jpayne@69 3416 int16_t dst_y;
jpayne@69 3417 uint16_t width;
jpayne@69 3418 uint16_t height;
jpayne@69 3419 } xcb_copy_area_request_t;
jpayne@69 3420
jpayne@69 3421 /** Opcode for xcb_copy_plane. */
jpayne@69 3422 #define XCB_COPY_PLANE 63
jpayne@69 3423
jpayne@69 3424 /**
jpayne@69 3425 * @brief xcb_copy_plane_request_t
jpayne@69 3426 **/
jpayne@69 3427 typedef struct xcb_copy_plane_request_t {
jpayne@69 3428 uint8_t major_opcode;
jpayne@69 3429 uint8_t pad0;
jpayne@69 3430 uint16_t length;
jpayne@69 3431 xcb_drawable_t src_drawable;
jpayne@69 3432 xcb_drawable_t dst_drawable;
jpayne@69 3433 xcb_gcontext_t gc;
jpayne@69 3434 int16_t src_x;
jpayne@69 3435 int16_t src_y;
jpayne@69 3436 int16_t dst_x;
jpayne@69 3437 int16_t dst_y;
jpayne@69 3438 uint16_t width;
jpayne@69 3439 uint16_t height;
jpayne@69 3440 uint32_t bit_plane;
jpayne@69 3441 } xcb_copy_plane_request_t;
jpayne@69 3442
jpayne@69 3443 typedef enum xcb_coord_mode_t {
jpayne@69 3444 XCB_COORD_MODE_ORIGIN = 0,
jpayne@69 3445 /**< Treats all coordinates as relative to the origin. */
jpayne@69 3446
jpayne@69 3447 XCB_COORD_MODE_PREVIOUS = 1
jpayne@69 3448 /**< Treats all coordinates after the first as relative to the previous coordinate. */
jpayne@69 3449
jpayne@69 3450 } xcb_coord_mode_t;
jpayne@69 3451
jpayne@69 3452 /** Opcode for xcb_poly_point. */
jpayne@69 3453 #define XCB_POLY_POINT 64
jpayne@69 3454
jpayne@69 3455 /**
jpayne@69 3456 * @brief xcb_poly_point_request_t
jpayne@69 3457 **/
jpayne@69 3458 typedef struct xcb_poly_point_request_t {
jpayne@69 3459 uint8_t major_opcode;
jpayne@69 3460 uint8_t coordinate_mode;
jpayne@69 3461 uint16_t length;
jpayne@69 3462 xcb_drawable_t drawable;
jpayne@69 3463 xcb_gcontext_t gc;
jpayne@69 3464 } xcb_poly_point_request_t;
jpayne@69 3465
jpayne@69 3466 /** Opcode for xcb_poly_line. */
jpayne@69 3467 #define XCB_POLY_LINE 65
jpayne@69 3468
jpayne@69 3469 /**
jpayne@69 3470 * @brief xcb_poly_line_request_t
jpayne@69 3471 **/
jpayne@69 3472 typedef struct xcb_poly_line_request_t {
jpayne@69 3473 uint8_t major_opcode;
jpayne@69 3474 uint8_t coordinate_mode;
jpayne@69 3475 uint16_t length;
jpayne@69 3476 xcb_drawable_t drawable;
jpayne@69 3477 xcb_gcontext_t gc;
jpayne@69 3478 } xcb_poly_line_request_t;
jpayne@69 3479
jpayne@69 3480 /**
jpayne@69 3481 * @brief xcb_segment_t
jpayne@69 3482 **/
jpayne@69 3483 typedef struct xcb_segment_t {
jpayne@69 3484 int16_t x1;
jpayne@69 3485 int16_t y1;
jpayne@69 3486 int16_t x2;
jpayne@69 3487 int16_t y2;
jpayne@69 3488 } xcb_segment_t;
jpayne@69 3489
jpayne@69 3490 /**
jpayne@69 3491 * @brief xcb_segment_iterator_t
jpayne@69 3492 **/
jpayne@69 3493 typedef struct xcb_segment_iterator_t {
jpayne@69 3494 xcb_segment_t *data;
jpayne@69 3495 int rem;
jpayne@69 3496 int index;
jpayne@69 3497 } xcb_segment_iterator_t;
jpayne@69 3498
jpayne@69 3499 /** Opcode for xcb_poly_segment. */
jpayne@69 3500 #define XCB_POLY_SEGMENT 66
jpayne@69 3501
jpayne@69 3502 /**
jpayne@69 3503 * @brief xcb_poly_segment_request_t
jpayne@69 3504 **/
jpayne@69 3505 typedef struct xcb_poly_segment_request_t {
jpayne@69 3506 uint8_t major_opcode;
jpayne@69 3507 uint8_t pad0;
jpayne@69 3508 uint16_t length;
jpayne@69 3509 xcb_drawable_t drawable;
jpayne@69 3510 xcb_gcontext_t gc;
jpayne@69 3511 } xcb_poly_segment_request_t;
jpayne@69 3512
jpayne@69 3513 /** Opcode for xcb_poly_rectangle. */
jpayne@69 3514 #define XCB_POLY_RECTANGLE 67
jpayne@69 3515
jpayne@69 3516 /**
jpayne@69 3517 * @brief xcb_poly_rectangle_request_t
jpayne@69 3518 **/
jpayne@69 3519 typedef struct xcb_poly_rectangle_request_t {
jpayne@69 3520 uint8_t major_opcode;
jpayne@69 3521 uint8_t pad0;
jpayne@69 3522 uint16_t length;
jpayne@69 3523 xcb_drawable_t drawable;
jpayne@69 3524 xcb_gcontext_t gc;
jpayne@69 3525 } xcb_poly_rectangle_request_t;
jpayne@69 3526
jpayne@69 3527 /** Opcode for xcb_poly_arc. */
jpayne@69 3528 #define XCB_POLY_ARC 68
jpayne@69 3529
jpayne@69 3530 /**
jpayne@69 3531 * @brief xcb_poly_arc_request_t
jpayne@69 3532 **/
jpayne@69 3533 typedef struct xcb_poly_arc_request_t {
jpayne@69 3534 uint8_t major_opcode;
jpayne@69 3535 uint8_t pad0;
jpayne@69 3536 uint16_t length;
jpayne@69 3537 xcb_drawable_t drawable;
jpayne@69 3538 xcb_gcontext_t gc;
jpayne@69 3539 } xcb_poly_arc_request_t;
jpayne@69 3540
jpayne@69 3541 typedef enum xcb_poly_shape_t {
jpayne@69 3542 XCB_POLY_SHAPE_COMPLEX = 0,
jpayne@69 3543 XCB_POLY_SHAPE_NONCONVEX = 1,
jpayne@69 3544 XCB_POLY_SHAPE_CONVEX = 2
jpayne@69 3545 } xcb_poly_shape_t;
jpayne@69 3546
jpayne@69 3547 /** Opcode for xcb_fill_poly. */
jpayne@69 3548 #define XCB_FILL_POLY 69
jpayne@69 3549
jpayne@69 3550 /**
jpayne@69 3551 * @brief xcb_fill_poly_request_t
jpayne@69 3552 **/
jpayne@69 3553 typedef struct xcb_fill_poly_request_t {
jpayne@69 3554 uint8_t major_opcode;
jpayne@69 3555 uint8_t pad0;
jpayne@69 3556 uint16_t length;
jpayne@69 3557 xcb_drawable_t drawable;
jpayne@69 3558 xcb_gcontext_t gc;
jpayne@69 3559 uint8_t shape;
jpayne@69 3560 uint8_t coordinate_mode;
jpayne@69 3561 uint8_t pad1[2];
jpayne@69 3562 } xcb_fill_poly_request_t;
jpayne@69 3563
jpayne@69 3564 /** Opcode for xcb_poly_fill_rectangle. */
jpayne@69 3565 #define XCB_POLY_FILL_RECTANGLE 70
jpayne@69 3566
jpayne@69 3567 /**
jpayne@69 3568 * @brief xcb_poly_fill_rectangle_request_t
jpayne@69 3569 **/
jpayne@69 3570 typedef struct xcb_poly_fill_rectangle_request_t {
jpayne@69 3571 uint8_t major_opcode;
jpayne@69 3572 uint8_t pad0;
jpayne@69 3573 uint16_t length;
jpayne@69 3574 xcb_drawable_t drawable;
jpayne@69 3575 xcb_gcontext_t gc;
jpayne@69 3576 } xcb_poly_fill_rectangle_request_t;
jpayne@69 3577
jpayne@69 3578 /** Opcode for xcb_poly_fill_arc. */
jpayne@69 3579 #define XCB_POLY_FILL_ARC 71
jpayne@69 3580
jpayne@69 3581 /**
jpayne@69 3582 * @brief xcb_poly_fill_arc_request_t
jpayne@69 3583 **/
jpayne@69 3584 typedef struct xcb_poly_fill_arc_request_t {
jpayne@69 3585 uint8_t major_opcode;
jpayne@69 3586 uint8_t pad0;
jpayne@69 3587 uint16_t length;
jpayne@69 3588 xcb_drawable_t drawable;
jpayne@69 3589 xcb_gcontext_t gc;
jpayne@69 3590 } xcb_poly_fill_arc_request_t;
jpayne@69 3591
jpayne@69 3592 typedef enum xcb_image_format_t {
jpayne@69 3593 XCB_IMAGE_FORMAT_XY_BITMAP = 0,
jpayne@69 3594 XCB_IMAGE_FORMAT_XY_PIXMAP = 1,
jpayne@69 3595 XCB_IMAGE_FORMAT_Z_PIXMAP = 2
jpayne@69 3596 } xcb_image_format_t;
jpayne@69 3597
jpayne@69 3598 /** Opcode for xcb_put_image. */
jpayne@69 3599 #define XCB_PUT_IMAGE 72
jpayne@69 3600
jpayne@69 3601 /**
jpayne@69 3602 * @brief xcb_put_image_request_t
jpayne@69 3603 **/
jpayne@69 3604 typedef struct xcb_put_image_request_t {
jpayne@69 3605 uint8_t major_opcode;
jpayne@69 3606 uint8_t format;
jpayne@69 3607 uint16_t length;
jpayne@69 3608 xcb_drawable_t drawable;
jpayne@69 3609 xcb_gcontext_t gc;
jpayne@69 3610 uint16_t width;
jpayne@69 3611 uint16_t height;
jpayne@69 3612 int16_t dst_x;
jpayne@69 3613 int16_t dst_y;
jpayne@69 3614 uint8_t left_pad;
jpayne@69 3615 uint8_t depth;
jpayne@69 3616 uint8_t pad0[2];
jpayne@69 3617 } xcb_put_image_request_t;
jpayne@69 3618
jpayne@69 3619 /**
jpayne@69 3620 * @brief xcb_get_image_cookie_t
jpayne@69 3621 **/
jpayne@69 3622 typedef struct xcb_get_image_cookie_t {
jpayne@69 3623 unsigned int sequence;
jpayne@69 3624 } xcb_get_image_cookie_t;
jpayne@69 3625
jpayne@69 3626 /** Opcode for xcb_get_image. */
jpayne@69 3627 #define XCB_GET_IMAGE 73
jpayne@69 3628
jpayne@69 3629 /**
jpayne@69 3630 * @brief xcb_get_image_request_t
jpayne@69 3631 **/
jpayne@69 3632 typedef struct xcb_get_image_request_t {
jpayne@69 3633 uint8_t major_opcode;
jpayne@69 3634 uint8_t format;
jpayne@69 3635 uint16_t length;
jpayne@69 3636 xcb_drawable_t drawable;
jpayne@69 3637 int16_t x;
jpayne@69 3638 int16_t y;
jpayne@69 3639 uint16_t width;
jpayne@69 3640 uint16_t height;
jpayne@69 3641 uint32_t plane_mask;
jpayne@69 3642 } xcb_get_image_request_t;
jpayne@69 3643
jpayne@69 3644 /**
jpayne@69 3645 * @brief xcb_get_image_reply_t
jpayne@69 3646 **/
jpayne@69 3647 typedef struct xcb_get_image_reply_t {
jpayne@69 3648 uint8_t response_type;
jpayne@69 3649 uint8_t depth;
jpayne@69 3650 uint16_t sequence;
jpayne@69 3651 uint32_t length;
jpayne@69 3652 xcb_visualid_t visual;
jpayne@69 3653 uint8_t pad0[20];
jpayne@69 3654 } xcb_get_image_reply_t;
jpayne@69 3655
jpayne@69 3656 /** Opcode for xcb_poly_text_8. */
jpayne@69 3657 #define XCB_POLY_TEXT_8 74
jpayne@69 3658
jpayne@69 3659 /**
jpayne@69 3660 * @brief xcb_poly_text_8_request_t
jpayne@69 3661 **/
jpayne@69 3662 typedef struct xcb_poly_text_8_request_t {
jpayne@69 3663 uint8_t major_opcode;
jpayne@69 3664 uint8_t pad0;
jpayne@69 3665 uint16_t length;
jpayne@69 3666 xcb_drawable_t drawable;
jpayne@69 3667 xcb_gcontext_t gc;
jpayne@69 3668 int16_t x;
jpayne@69 3669 int16_t y;
jpayne@69 3670 } xcb_poly_text_8_request_t;
jpayne@69 3671
jpayne@69 3672 /** Opcode for xcb_poly_text_16. */
jpayne@69 3673 #define XCB_POLY_TEXT_16 75
jpayne@69 3674
jpayne@69 3675 /**
jpayne@69 3676 * @brief xcb_poly_text_16_request_t
jpayne@69 3677 **/
jpayne@69 3678 typedef struct xcb_poly_text_16_request_t {
jpayne@69 3679 uint8_t major_opcode;
jpayne@69 3680 uint8_t pad0;
jpayne@69 3681 uint16_t length;
jpayne@69 3682 xcb_drawable_t drawable;
jpayne@69 3683 xcb_gcontext_t gc;
jpayne@69 3684 int16_t x;
jpayne@69 3685 int16_t y;
jpayne@69 3686 } xcb_poly_text_16_request_t;
jpayne@69 3687
jpayne@69 3688 /** Opcode for xcb_image_text_8. */
jpayne@69 3689 #define XCB_IMAGE_TEXT_8 76
jpayne@69 3690
jpayne@69 3691 /**
jpayne@69 3692 * @brief xcb_image_text_8_request_t
jpayne@69 3693 **/
jpayne@69 3694 typedef struct xcb_image_text_8_request_t {
jpayne@69 3695 uint8_t major_opcode;
jpayne@69 3696 uint8_t string_len;
jpayne@69 3697 uint16_t length;
jpayne@69 3698 xcb_drawable_t drawable;
jpayne@69 3699 xcb_gcontext_t gc;
jpayne@69 3700 int16_t x;
jpayne@69 3701 int16_t y;
jpayne@69 3702 } xcb_image_text_8_request_t;
jpayne@69 3703
jpayne@69 3704 /** Opcode for xcb_image_text_16. */
jpayne@69 3705 #define XCB_IMAGE_TEXT_16 77
jpayne@69 3706
jpayne@69 3707 /**
jpayne@69 3708 * @brief xcb_image_text_16_request_t
jpayne@69 3709 **/
jpayne@69 3710 typedef struct xcb_image_text_16_request_t {
jpayne@69 3711 uint8_t major_opcode;
jpayne@69 3712 uint8_t string_len;
jpayne@69 3713 uint16_t length;
jpayne@69 3714 xcb_drawable_t drawable;
jpayne@69 3715 xcb_gcontext_t gc;
jpayne@69 3716 int16_t x;
jpayne@69 3717 int16_t y;
jpayne@69 3718 } xcb_image_text_16_request_t;
jpayne@69 3719
jpayne@69 3720 typedef enum xcb_colormap_alloc_t {
jpayne@69 3721 XCB_COLORMAP_ALLOC_NONE = 0,
jpayne@69 3722 XCB_COLORMAP_ALLOC_ALL = 1
jpayne@69 3723 } xcb_colormap_alloc_t;
jpayne@69 3724
jpayne@69 3725 /** Opcode for xcb_create_colormap. */
jpayne@69 3726 #define XCB_CREATE_COLORMAP 78
jpayne@69 3727
jpayne@69 3728 /**
jpayne@69 3729 * @brief xcb_create_colormap_request_t
jpayne@69 3730 **/
jpayne@69 3731 typedef struct xcb_create_colormap_request_t {
jpayne@69 3732 uint8_t major_opcode;
jpayne@69 3733 uint8_t alloc;
jpayne@69 3734 uint16_t length;
jpayne@69 3735 xcb_colormap_t mid;
jpayne@69 3736 xcb_window_t window;
jpayne@69 3737 xcb_visualid_t visual;
jpayne@69 3738 } xcb_create_colormap_request_t;
jpayne@69 3739
jpayne@69 3740 /** Opcode for xcb_free_colormap. */
jpayne@69 3741 #define XCB_FREE_COLORMAP 79
jpayne@69 3742
jpayne@69 3743 /**
jpayne@69 3744 * @brief xcb_free_colormap_request_t
jpayne@69 3745 **/
jpayne@69 3746 typedef struct xcb_free_colormap_request_t {
jpayne@69 3747 uint8_t major_opcode;
jpayne@69 3748 uint8_t pad0;
jpayne@69 3749 uint16_t length;
jpayne@69 3750 xcb_colormap_t cmap;
jpayne@69 3751 } xcb_free_colormap_request_t;
jpayne@69 3752
jpayne@69 3753 /** Opcode for xcb_copy_colormap_and_free. */
jpayne@69 3754 #define XCB_COPY_COLORMAP_AND_FREE 80
jpayne@69 3755
jpayne@69 3756 /**
jpayne@69 3757 * @brief xcb_copy_colormap_and_free_request_t
jpayne@69 3758 **/
jpayne@69 3759 typedef struct xcb_copy_colormap_and_free_request_t {
jpayne@69 3760 uint8_t major_opcode;
jpayne@69 3761 uint8_t pad0;
jpayne@69 3762 uint16_t length;
jpayne@69 3763 xcb_colormap_t mid;
jpayne@69 3764 xcb_colormap_t src_cmap;
jpayne@69 3765 } xcb_copy_colormap_and_free_request_t;
jpayne@69 3766
jpayne@69 3767 /** Opcode for xcb_install_colormap. */
jpayne@69 3768 #define XCB_INSTALL_COLORMAP 81
jpayne@69 3769
jpayne@69 3770 /**
jpayne@69 3771 * @brief xcb_install_colormap_request_t
jpayne@69 3772 **/
jpayne@69 3773 typedef struct xcb_install_colormap_request_t {
jpayne@69 3774 uint8_t major_opcode;
jpayne@69 3775 uint8_t pad0;
jpayne@69 3776 uint16_t length;
jpayne@69 3777 xcb_colormap_t cmap;
jpayne@69 3778 } xcb_install_colormap_request_t;
jpayne@69 3779
jpayne@69 3780 /** Opcode for xcb_uninstall_colormap. */
jpayne@69 3781 #define XCB_UNINSTALL_COLORMAP 82
jpayne@69 3782
jpayne@69 3783 /**
jpayne@69 3784 * @brief xcb_uninstall_colormap_request_t
jpayne@69 3785 **/
jpayne@69 3786 typedef struct xcb_uninstall_colormap_request_t {
jpayne@69 3787 uint8_t major_opcode;
jpayne@69 3788 uint8_t pad0;
jpayne@69 3789 uint16_t length;
jpayne@69 3790 xcb_colormap_t cmap;
jpayne@69 3791 } xcb_uninstall_colormap_request_t;
jpayne@69 3792
jpayne@69 3793 /**
jpayne@69 3794 * @brief xcb_list_installed_colormaps_cookie_t
jpayne@69 3795 **/
jpayne@69 3796 typedef struct xcb_list_installed_colormaps_cookie_t {
jpayne@69 3797 unsigned int sequence;
jpayne@69 3798 } xcb_list_installed_colormaps_cookie_t;
jpayne@69 3799
jpayne@69 3800 /** Opcode for xcb_list_installed_colormaps. */
jpayne@69 3801 #define XCB_LIST_INSTALLED_COLORMAPS 83
jpayne@69 3802
jpayne@69 3803 /**
jpayne@69 3804 * @brief xcb_list_installed_colormaps_request_t
jpayne@69 3805 **/
jpayne@69 3806 typedef struct xcb_list_installed_colormaps_request_t {
jpayne@69 3807 uint8_t major_opcode;
jpayne@69 3808 uint8_t pad0;
jpayne@69 3809 uint16_t length;
jpayne@69 3810 xcb_window_t window;
jpayne@69 3811 } xcb_list_installed_colormaps_request_t;
jpayne@69 3812
jpayne@69 3813 /**
jpayne@69 3814 * @brief xcb_list_installed_colormaps_reply_t
jpayne@69 3815 **/
jpayne@69 3816 typedef struct xcb_list_installed_colormaps_reply_t {
jpayne@69 3817 uint8_t response_type;
jpayne@69 3818 uint8_t pad0;
jpayne@69 3819 uint16_t sequence;
jpayne@69 3820 uint32_t length;
jpayne@69 3821 uint16_t cmaps_len;
jpayne@69 3822 uint8_t pad1[22];
jpayne@69 3823 } xcb_list_installed_colormaps_reply_t;
jpayne@69 3824
jpayne@69 3825 /**
jpayne@69 3826 * @brief xcb_alloc_color_cookie_t
jpayne@69 3827 **/
jpayne@69 3828 typedef struct xcb_alloc_color_cookie_t {
jpayne@69 3829 unsigned int sequence;
jpayne@69 3830 } xcb_alloc_color_cookie_t;
jpayne@69 3831
jpayne@69 3832 /** Opcode for xcb_alloc_color. */
jpayne@69 3833 #define XCB_ALLOC_COLOR 84
jpayne@69 3834
jpayne@69 3835 /**
jpayne@69 3836 * @brief xcb_alloc_color_request_t
jpayne@69 3837 **/
jpayne@69 3838 typedef struct xcb_alloc_color_request_t {
jpayne@69 3839 uint8_t major_opcode;
jpayne@69 3840 uint8_t pad0;
jpayne@69 3841 uint16_t length;
jpayne@69 3842 xcb_colormap_t cmap;
jpayne@69 3843 uint16_t red;
jpayne@69 3844 uint16_t green;
jpayne@69 3845 uint16_t blue;
jpayne@69 3846 uint8_t pad1[2];
jpayne@69 3847 } xcb_alloc_color_request_t;
jpayne@69 3848
jpayne@69 3849 /**
jpayne@69 3850 * @brief xcb_alloc_color_reply_t
jpayne@69 3851 **/
jpayne@69 3852 typedef struct xcb_alloc_color_reply_t {
jpayne@69 3853 uint8_t response_type;
jpayne@69 3854 uint8_t pad0;
jpayne@69 3855 uint16_t sequence;
jpayne@69 3856 uint32_t length;
jpayne@69 3857 uint16_t red;
jpayne@69 3858 uint16_t green;
jpayne@69 3859 uint16_t blue;
jpayne@69 3860 uint8_t pad1[2];
jpayne@69 3861 uint32_t pixel;
jpayne@69 3862 } xcb_alloc_color_reply_t;
jpayne@69 3863
jpayne@69 3864 /**
jpayne@69 3865 * @brief xcb_alloc_named_color_cookie_t
jpayne@69 3866 **/
jpayne@69 3867 typedef struct xcb_alloc_named_color_cookie_t {
jpayne@69 3868 unsigned int sequence;
jpayne@69 3869 } xcb_alloc_named_color_cookie_t;
jpayne@69 3870
jpayne@69 3871 /** Opcode for xcb_alloc_named_color. */
jpayne@69 3872 #define XCB_ALLOC_NAMED_COLOR 85
jpayne@69 3873
jpayne@69 3874 /**
jpayne@69 3875 * @brief xcb_alloc_named_color_request_t
jpayne@69 3876 **/
jpayne@69 3877 typedef struct xcb_alloc_named_color_request_t {
jpayne@69 3878 uint8_t major_opcode;
jpayne@69 3879 uint8_t pad0;
jpayne@69 3880 uint16_t length;
jpayne@69 3881 xcb_colormap_t cmap;
jpayne@69 3882 uint16_t name_len;
jpayne@69 3883 uint8_t pad1[2];
jpayne@69 3884 } xcb_alloc_named_color_request_t;
jpayne@69 3885
jpayne@69 3886 /**
jpayne@69 3887 * @brief xcb_alloc_named_color_reply_t
jpayne@69 3888 **/
jpayne@69 3889 typedef struct xcb_alloc_named_color_reply_t {
jpayne@69 3890 uint8_t response_type;
jpayne@69 3891 uint8_t pad0;
jpayne@69 3892 uint16_t sequence;
jpayne@69 3893 uint32_t length;
jpayne@69 3894 uint32_t pixel;
jpayne@69 3895 uint16_t exact_red;
jpayne@69 3896 uint16_t exact_green;
jpayne@69 3897 uint16_t exact_blue;
jpayne@69 3898 uint16_t visual_red;
jpayne@69 3899 uint16_t visual_green;
jpayne@69 3900 uint16_t visual_blue;
jpayne@69 3901 } xcb_alloc_named_color_reply_t;
jpayne@69 3902
jpayne@69 3903 /**
jpayne@69 3904 * @brief xcb_alloc_color_cells_cookie_t
jpayne@69 3905 **/
jpayne@69 3906 typedef struct xcb_alloc_color_cells_cookie_t {
jpayne@69 3907 unsigned int sequence;
jpayne@69 3908 } xcb_alloc_color_cells_cookie_t;
jpayne@69 3909
jpayne@69 3910 /** Opcode for xcb_alloc_color_cells. */
jpayne@69 3911 #define XCB_ALLOC_COLOR_CELLS 86
jpayne@69 3912
jpayne@69 3913 /**
jpayne@69 3914 * @brief xcb_alloc_color_cells_request_t
jpayne@69 3915 **/
jpayne@69 3916 typedef struct xcb_alloc_color_cells_request_t {
jpayne@69 3917 uint8_t major_opcode;
jpayne@69 3918 uint8_t contiguous;
jpayne@69 3919 uint16_t length;
jpayne@69 3920 xcb_colormap_t cmap;
jpayne@69 3921 uint16_t colors;
jpayne@69 3922 uint16_t planes;
jpayne@69 3923 } xcb_alloc_color_cells_request_t;
jpayne@69 3924
jpayne@69 3925 /**
jpayne@69 3926 * @brief xcb_alloc_color_cells_reply_t
jpayne@69 3927 **/
jpayne@69 3928 typedef struct xcb_alloc_color_cells_reply_t {
jpayne@69 3929 uint8_t response_type;
jpayne@69 3930 uint8_t pad0;
jpayne@69 3931 uint16_t sequence;
jpayne@69 3932 uint32_t length;
jpayne@69 3933 uint16_t pixels_len;
jpayne@69 3934 uint16_t masks_len;
jpayne@69 3935 uint8_t pad1[20];
jpayne@69 3936 } xcb_alloc_color_cells_reply_t;
jpayne@69 3937
jpayne@69 3938 /**
jpayne@69 3939 * @brief xcb_alloc_color_planes_cookie_t
jpayne@69 3940 **/
jpayne@69 3941 typedef struct xcb_alloc_color_planes_cookie_t {
jpayne@69 3942 unsigned int sequence;
jpayne@69 3943 } xcb_alloc_color_planes_cookie_t;
jpayne@69 3944
jpayne@69 3945 /** Opcode for xcb_alloc_color_planes. */
jpayne@69 3946 #define XCB_ALLOC_COLOR_PLANES 87
jpayne@69 3947
jpayne@69 3948 /**
jpayne@69 3949 * @brief xcb_alloc_color_planes_request_t
jpayne@69 3950 **/
jpayne@69 3951 typedef struct xcb_alloc_color_planes_request_t {
jpayne@69 3952 uint8_t major_opcode;
jpayne@69 3953 uint8_t contiguous;
jpayne@69 3954 uint16_t length;
jpayne@69 3955 xcb_colormap_t cmap;
jpayne@69 3956 uint16_t colors;
jpayne@69 3957 uint16_t reds;
jpayne@69 3958 uint16_t greens;
jpayne@69 3959 uint16_t blues;
jpayne@69 3960 } xcb_alloc_color_planes_request_t;
jpayne@69 3961
jpayne@69 3962 /**
jpayne@69 3963 * @brief xcb_alloc_color_planes_reply_t
jpayne@69 3964 **/
jpayne@69 3965 typedef struct xcb_alloc_color_planes_reply_t {
jpayne@69 3966 uint8_t response_type;
jpayne@69 3967 uint8_t pad0;
jpayne@69 3968 uint16_t sequence;
jpayne@69 3969 uint32_t length;
jpayne@69 3970 uint16_t pixels_len;
jpayne@69 3971 uint8_t pad1[2];
jpayne@69 3972 uint32_t red_mask;
jpayne@69 3973 uint32_t green_mask;
jpayne@69 3974 uint32_t blue_mask;
jpayne@69 3975 uint8_t pad2[8];
jpayne@69 3976 } xcb_alloc_color_planes_reply_t;
jpayne@69 3977
jpayne@69 3978 /** Opcode for xcb_free_colors. */
jpayne@69 3979 #define XCB_FREE_COLORS 88
jpayne@69 3980
jpayne@69 3981 /**
jpayne@69 3982 * @brief xcb_free_colors_request_t
jpayne@69 3983 **/
jpayne@69 3984 typedef struct xcb_free_colors_request_t {
jpayne@69 3985 uint8_t major_opcode;
jpayne@69 3986 uint8_t pad0;
jpayne@69 3987 uint16_t length;
jpayne@69 3988 xcb_colormap_t cmap;
jpayne@69 3989 uint32_t plane_mask;
jpayne@69 3990 } xcb_free_colors_request_t;
jpayne@69 3991
jpayne@69 3992 typedef enum xcb_color_flag_t {
jpayne@69 3993 XCB_COLOR_FLAG_RED = 1,
jpayne@69 3994 XCB_COLOR_FLAG_GREEN = 2,
jpayne@69 3995 XCB_COLOR_FLAG_BLUE = 4
jpayne@69 3996 } xcb_color_flag_t;
jpayne@69 3997
jpayne@69 3998 /**
jpayne@69 3999 * @brief xcb_coloritem_t
jpayne@69 4000 **/
jpayne@69 4001 typedef struct xcb_coloritem_t {
jpayne@69 4002 uint32_t pixel;
jpayne@69 4003 uint16_t red;
jpayne@69 4004 uint16_t green;
jpayne@69 4005 uint16_t blue;
jpayne@69 4006 uint8_t flags;
jpayne@69 4007 uint8_t pad0;
jpayne@69 4008 } xcb_coloritem_t;
jpayne@69 4009
jpayne@69 4010 /**
jpayne@69 4011 * @brief xcb_coloritem_iterator_t
jpayne@69 4012 **/
jpayne@69 4013 typedef struct xcb_coloritem_iterator_t {
jpayne@69 4014 xcb_coloritem_t *data;
jpayne@69 4015 int rem;
jpayne@69 4016 int index;
jpayne@69 4017 } xcb_coloritem_iterator_t;
jpayne@69 4018
jpayne@69 4019 /** Opcode for xcb_store_colors. */
jpayne@69 4020 #define XCB_STORE_COLORS 89
jpayne@69 4021
jpayne@69 4022 /**
jpayne@69 4023 * @brief xcb_store_colors_request_t
jpayne@69 4024 **/
jpayne@69 4025 typedef struct xcb_store_colors_request_t {
jpayne@69 4026 uint8_t major_opcode;
jpayne@69 4027 uint8_t pad0;
jpayne@69 4028 uint16_t length;
jpayne@69 4029 xcb_colormap_t cmap;
jpayne@69 4030 } xcb_store_colors_request_t;
jpayne@69 4031
jpayne@69 4032 /** Opcode for xcb_store_named_color. */
jpayne@69 4033 #define XCB_STORE_NAMED_COLOR 90
jpayne@69 4034
jpayne@69 4035 /**
jpayne@69 4036 * @brief xcb_store_named_color_request_t
jpayne@69 4037 **/
jpayne@69 4038 typedef struct xcb_store_named_color_request_t {
jpayne@69 4039 uint8_t major_opcode;
jpayne@69 4040 uint8_t flags;
jpayne@69 4041 uint16_t length;
jpayne@69 4042 xcb_colormap_t cmap;
jpayne@69 4043 uint32_t pixel;
jpayne@69 4044 uint16_t name_len;
jpayne@69 4045 uint8_t pad0[2];
jpayne@69 4046 } xcb_store_named_color_request_t;
jpayne@69 4047
jpayne@69 4048 /**
jpayne@69 4049 * @brief xcb_rgb_t
jpayne@69 4050 **/
jpayne@69 4051 typedef struct xcb_rgb_t {
jpayne@69 4052 uint16_t red;
jpayne@69 4053 uint16_t green;
jpayne@69 4054 uint16_t blue;
jpayne@69 4055 uint8_t pad0[2];
jpayne@69 4056 } xcb_rgb_t;
jpayne@69 4057
jpayne@69 4058 /**
jpayne@69 4059 * @brief xcb_rgb_iterator_t
jpayne@69 4060 **/
jpayne@69 4061 typedef struct xcb_rgb_iterator_t {
jpayne@69 4062 xcb_rgb_t *data;
jpayne@69 4063 int rem;
jpayne@69 4064 int index;
jpayne@69 4065 } xcb_rgb_iterator_t;
jpayne@69 4066
jpayne@69 4067 /**
jpayne@69 4068 * @brief xcb_query_colors_cookie_t
jpayne@69 4069 **/
jpayne@69 4070 typedef struct xcb_query_colors_cookie_t {
jpayne@69 4071 unsigned int sequence;
jpayne@69 4072 } xcb_query_colors_cookie_t;
jpayne@69 4073
jpayne@69 4074 /** Opcode for xcb_query_colors. */
jpayne@69 4075 #define XCB_QUERY_COLORS 91
jpayne@69 4076
jpayne@69 4077 /**
jpayne@69 4078 * @brief xcb_query_colors_request_t
jpayne@69 4079 **/
jpayne@69 4080 typedef struct xcb_query_colors_request_t {
jpayne@69 4081 uint8_t major_opcode;
jpayne@69 4082 uint8_t pad0;
jpayne@69 4083 uint16_t length;
jpayne@69 4084 xcb_colormap_t cmap;
jpayne@69 4085 } xcb_query_colors_request_t;
jpayne@69 4086
jpayne@69 4087 /**
jpayne@69 4088 * @brief xcb_query_colors_reply_t
jpayne@69 4089 **/
jpayne@69 4090 typedef struct xcb_query_colors_reply_t {
jpayne@69 4091 uint8_t response_type;
jpayne@69 4092 uint8_t pad0;
jpayne@69 4093 uint16_t sequence;
jpayne@69 4094 uint32_t length;
jpayne@69 4095 uint16_t colors_len;
jpayne@69 4096 uint8_t pad1[22];
jpayne@69 4097 } xcb_query_colors_reply_t;
jpayne@69 4098
jpayne@69 4099 /**
jpayne@69 4100 * @brief xcb_lookup_color_cookie_t
jpayne@69 4101 **/
jpayne@69 4102 typedef struct xcb_lookup_color_cookie_t {
jpayne@69 4103 unsigned int sequence;
jpayne@69 4104 } xcb_lookup_color_cookie_t;
jpayne@69 4105
jpayne@69 4106 /** Opcode for xcb_lookup_color. */
jpayne@69 4107 #define XCB_LOOKUP_COLOR 92
jpayne@69 4108
jpayne@69 4109 /**
jpayne@69 4110 * @brief xcb_lookup_color_request_t
jpayne@69 4111 **/
jpayne@69 4112 typedef struct xcb_lookup_color_request_t {
jpayne@69 4113 uint8_t major_opcode;
jpayne@69 4114 uint8_t pad0;
jpayne@69 4115 uint16_t length;
jpayne@69 4116 xcb_colormap_t cmap;
jpayne@69 4117 uint16_t name_len;
jpayne@69 4118 uint8_t pad1[2];
jpayne@69 4119 } xcb_lookup_color_request_t;
jpayne@69 4120
jpayne@69 4121 /**
jpayne@69 4122 * @brief xcb_lookup_color_reply_t
jpayne@69 4123 **/
jpayne@69 4124 typedef struct xcb_lookup_color_reply_t {
jpayne@69 4125 uint8_t response_type;
jpayne@69 4126 uint8_t pad0;
jpayne@69 4127 uint16_t sequence;
jpayne@69 4128 uint32_t length;
jpayne@69 4129 uint16_t exact_red;
jpayne@69 4130 uint16_t exact_green;
jpayne@69 4131 uint16_t exact_blue;
jpayne@69 4132 uint16_t visual_red;
jpayne@69 4133 uint16_t visual_green;
jpayne@69 4134 uint16_t visual_blue;
jpayne@69 4135 } xcb_lookup_color_reply_t;
jpayne@69 4136
jpayne@69 4137 typedef enum xcb_pixmap_enum_t {
jpayne@69 4138 XCB_PIXMAP_NONE = 0
jpayne@69 4139 } xcb_pixmap_enum_t;
jpayne@69 4140
jpayne@69 4141 /** Opcode for xcb_create_cursor. */
jpayne@69 4142 #define XCB_CREATE_CURSOR 93
jpayne@69 4143
jpayne@69 4144 /**
jpayne@69 4145 * @brief xcb_create_cursor_request_t
jpayne@69 4146 **/
jpayne@69 4147 typedef struct xcb_create_cursor_request_t {
jpayne@69 4148 uint8_t major_opcode;
jpayne@69 4149 uint8_t pad0;
jpayne@69 4150 uint16_t length;
jpayne@69 4151 xcb_cursor_t cid;
jpayne@69 4152 xcb_pixmap_t source;
jpayne@69 4153 xcb_pixmap_t mask;
jpayne@69 4154 uint16_t fore_red;
jpayne@69 4155 uint16_t fore_green;
jpayne@69 4156 uint16_t fore_blue;
jpayne@69 4157 uint16_t back_red;
jpayne@69 4158 uint16_t back_green;
jpayne@69 4159 uint16_t back_blue;
jpayne@69 4160 uint16_t x;
jpayne@69 4161 uint16_t y;
jpayne@69 4162 } xcb_create_cursor_request_t;
jpayne@69 4163
jpayne@69 4164 typedef enum xcb_font_enum_t {
jpayne@69 4165 XCB_FONT_NONE = 0
jpayne@69 4166 } xcb_font_enum_t;
jpayne@69 4167
jpayne@69 4168 /** Opcode for xcb_create_glyph_cursor. */
jpayne@69 4169 #define XCB_CREATE_GLYPH_CURSOR 94
jpayne@69 4170
jpayne@69 4171 /**
jpayne@69 4172 * @brief xcb_create_glyph_cursor_request_t
jpayne@69 4173 **/
jpayne@69 4174 typedef struct xcb_create_glyph_cursor_request_t {
jpayne@69 4175 uint8_t major_opcode;
jpayne@69 4176 uint8_t pad0;
jpayne@69 4177 uint16_t length;
jpayne@69 4178 xcb_cursor_t cid;
jpayne@69 4179 xcb_font_t source_font;
jpayne@69 4180 xcb_font_t mask_font;
jpayne@69 4181 uint16_t source_char;
jpayne@69 4182 uint16_t mask_char;
jpayne@69 4183 uint16_t fore_red;
jpayne@69 4184 uint16_t fore_green;
jpayne@69 4185 uint16_t fore_blue;
jpayne@69 4186 uint16_t back_red;
jpayne@69 4187 uint16_t back_green;
jpayne@69 4188 uint16_t back_blue;
jpayne@69 4189 } xcb_create_glyph_cursor_request_t;
jpayne@69 4190
jpayne@69 4191 /** Opcode for xcb_free_cursor. */
jpayne@69 4192 #define XCB_FREE_CURSOR 95
jpayne@69 4193
jpayne@69 4194 /**
jpayne@69 4195 * @brief xcb_free_cursor_request_t
jpayne@69 4196 **/
jpayne@69 4197 typedef struct xcb_free_cursor_request_t {
jpayne@69 4198 uint8_t major_opcode;
jpayne@69 4199 uint8_t pad0;
jpayne@69 4200 uint16_t length;
jpayne@69 4201 xcb_cursor_t cursor;
jpayne@69 4202 } xcb_free_cursor_request_t;
jpayne@69 4203
jpayne@69 4204 /** Opcode for xcb_recolor_cursor. */
jpayne@69 4205 #define XCB_RECOLOR_CURSOR 96
jpayne@69 4206
jpayne@69 4207 /**
jpayne@69 4208 * @brief xcb_recolor_cursor_request_t
jpayne@69 4209 **/
jpayne@69 4210 typedef struct xcb_recolor_cursor_request_t {
jpayne@69 4211 uint8_t major_opcode;
jpayne@69 4212 uint8_t pad0;
jpayne@69 4213 uint16_t length;
jpayne@69 4214 xcb_cursor_t cursor;
jpayne@69 4215 uint16_t fore_red;
jpayne@69 4216 uint16_t fore_green;
jpayne@69 4217 uint16_t fore_blue;
jpayne@69 4218 uint16_t back_red;
jpayne@69 4219 uint16_t back_green;
jpayne@69 4220 uint16_t back_blue;
jpayne@69 4221 } xcb_recolor_cursor_request_t;
jpayne@69 4222
jpayne@69 4223 typedef enum xcb_query_shape_of_t {
jpayne@69 4224 XCB_QUERY_SHAPE_OF_LARGEST_CURSOR = 0,
jpayne@69 4225 XCB_QUERY_SHAPE_OF_FASTEST_TILE = 1,
jpayne@69 4226 XCB_QUERY_SHAPE_OF_FASTEST_STIPPLE = 2
jpayne@69 4227 } xcb_query_shape_of_t;
jpayne@69 4228
jpayne@69 4229 /**
jpayne@69 4230 * @brief xcb_query_best_size_cookie_t
jpayne@69 4231 **/
jpayne@69 4232 typedef struct xcb_query_best_size_cookie_t {
jpayne@69 4233 unsigned int sequence;
jpayne@69 4234 } xcb_query_best_size_cookie_t;
jpayne@69 4235
jpayne@69 4236 /** Opcode for xcb_query_best_size. */
jpayne@69 4237 #define XCB_QUERY_BEST_SIZE 97
jpayne@69 4238
jpayne@69 4239 /**
jpayne@69 4240 * @brief xcb_query_best_size_request_t
jpayne@69 4241 **/
jpayne@69 4242 typedef struct xcb_query_best_size_request_t {
jpayne@69 4243 uint8_t major_opcode;
jpayne@69 4244 uint8_t _class;
jpayne@69 4245 uint16_t length;
jpayne@69 4246 xcb_drawable_t drawable;
jpayne@69 4247 uint16_t width;
jpayne@69 4248 uint16_t height;
jpayne@69 4249 } xcb_query_best_size_request_t;
jpayne@69 4250
jpayne@69 4251 /**
jpayne@69 4252 * @brief xcb_query_best_size_reply_t
jpayne@69 4253 **/
jpayne@69 4254 typedef struct xcb_query_best_size_reply_t {
jpayne@69 4255 uint8_t response_type;
jpayne@69 4256 uint8_t pad0;
jpayne@69 4257 uint16_t sequence;
jpayne@69 4258 uint32_t length;
jpayne@69 4259 uint16_t width;
jpayne@69 4260 uint16_t height;
jpayne@69 4261 } xcb_query_best_size_reply_t;
jpayne@69 4262
jpayne@69 4263 /**
jpayne@69 4264 * @brief xcb_query_extension_cookie_t
jpayne@69 4265 **/
jpayne@69 4266 typedef struct xcb_query_extension_cookie_t {
jpayne@69 4267 unsigned int sequence;
jpayne@69 4268 } xcb_query_extension_cookie_t;
jpayne@69 4269
jpayne@69 4270 /** Opcode for xcb_query_extension. */
jpayne@69 4271 #define XCB_QUERY_EXTENSION 98
jpayne@69 4272
jpayne@69 4273 /**
jpayne@69 4274 * @brief xcb_query_extension_request_t
jpayne@69 4275 **/
jpayne@69 4276 typedef struct xcb_query_extension_request_t {
jpayne@69 4277 uint8_t major_opcode;
jpayne@69 4278 uint8_t pad0;
jpayne@69 4279 uint16_t length;
jpayne@69 4280 uint16_t name_len;
jpayne@69 4281 uint8_t pad1[2];
jpayne@69 4282 } xcb_query_extension_request_t;
jpayne@69 4283
jpayne@69 4284 /**
jpayne@69 4285 * @brief xcb_query_extension_reply_t
jpayne@69 4286 **/
jpayne@69 4287 typedef struct xcb_query_extension_reply_t {
jpayne@69 4288 uint8_t response_type;
jpayne@69 4289 uint8_t pad0;
jpayne@69 4290 uint16_t sequence;
jpayne@69 4291 uint32_t length;
jpayne@69 4292 uint8_t present;
jpayne@69 4293 uint8_t major_opcode;
jpayne@69 4294 uint8_t first_event;
jpayne@69 4295 uint8_t first_error;
jpayne@69 4296 } xcb_query_extension_reply_t;
jpayne@69 4297
jpayne@69 4298 /**
jpayne@69 4299 * @brief xcb_list_extensions_cookie_t
jpayne@69 4300 **/
jpayne@69 4301 typedef struct xcb_list_extensions_cookie_t {
jpayne@69 4302 unsigned int sequence;
jpayne@69 4303 } xcb_list_extensions_cookie_t;
jpayne@69 4304
jpayne@69 4305 /** Opcode for xcb_list_extensions. */
jpayne@69 4306 #define XCB_LIST_EXTENSIONS 99
jpayne@69 4307
jpayne@69 4308 /**
jpayne@69 4309 * @brief xcb_list_extensions_request_t
jpayne@69 4310 **/
jpayne@69 4311 typedef struct xcb_list_extensions_request_t {
jpayne@69 4312 uint8_t major_opcode;
jpayne@69 4313 uint8_t pad0;
jpayne@69 4314 uint16_t length;
jpayne@69 4315 } xcb_list_extensions_request_t;
jpayne@69 4316
jpayne@69 4317 /**
jpayne@69 4318 * @brief xcb_list_extensions_reply_t
jpayne@69 4319 **/
jpayne@69 4320 typedef struct xcb_list_extensions_reply_t {
jpayne@69 4321 uint8_t response_type;
jpayne@69 4322 uint8_t names_len;
jpayne@69 4323 uint16_t sequence;
jpayne@69 4324 uint32_t length;
jpayne@69 4325 uint8_t pad0[24];
jpayne@69 4326 } xcb_list_extensions_reply_t;
jpayne@69 4327
jpayne@69 4328 /** Opcode for xcb_change_keyboard_mapping. */
jpayne@69 4329 #define XCB_CHANGE_KEYBOARD_MAPPING 100
jpayne@69 4330
jpayne@69 4331 /**
jpayne@69 4332 * @brief xcb_change_keyboard_mapping_request_t
jpayne@69 4333 **/
jpayne@69 4334 typedef struct xcb_change_keyboard_mapping_request_t {
jpayne@69 4335 uint8_t major_opcode;
jpayne@69 4336 uint8_t keycode_count;
jpayne@69 4337 uint16_t length;
jpayne@69 4338 xcb_keycode_t first_keycode;
jpayne@69 4339 uint8_t keysyms_per_keycode;
jpayne@69 4340 uint8_t pad0[2];
jpayne@69 4341 } xcb_change_keyboard_mapping_request_t;
jpayne@69 4342
jpayne@69 4343 /**
jpayne@69 4344 * @brief xcb_get_keyboard_mapping_cookie_t
jpayne@69 4345 **/
jpayne@69 4346 typedef struct xcb_get_keyboard_mapping_cookie_t {
jpayne@69 4347 unsigned int sequence;
jpayne@69 4348 } xcb_get_keyboard_mapping_cookie_t;
jpayne@69 4349
jpayne@69 4350 /** Opcode for xcb_get_keyboard_mapping. */
jpayne@69 4351 #define XCB_GET_KEYBOARD_MAPPING 101
jpayne@69 4352
jpayne@69 4353 /**
jpayne@69 4354 * @brief xcb_get_keyboard_mapping_request_t
jpayne@69 4355 **/
jpayne@69 4356 typedef struct xcb_get_keyboard_mapping_request_t {
jpayne@69 4357 uint8_t major_opcode;
jpayne@69 4358 uint8_t pad0;
jpayne@69 4359 uint16_t length;
jpayne@69 4360 xcb_keycode_t first_keycode;
jpayne@69 4361 uint8_t count;
jpayne@69 4362 } xcb_get_keyboard_mapping_request_t;
jpayne@69 4363
jpayne@69 4364 /**
jpayne@69 4365 * @brief xcb_get_keyboard_mapping_reply_t
jpayne@69 4366 **/
jpayne@69 4367 typedef struct xcb_get_keyboard_mapping_reply_t {
jpayne@69 4368 uint8_t response_type;
jpayne@69 4369 uint8_t keysyms_per_keycode;
jpayne@69 4370 uint16_t sequence;
jpayne@69 4371 uint32_t length;
jpayne@69 4372 uint8_t pad0[24];
jpayne@69 4373 } xcb_get_keyboard_mapping_reply_t;
jpayne@69 4374
jpayne@69 4375 typedef enum xcb_kb_t {
jpayne@69 4376 XCB_KB_KEY_CLICK_PERCENT = 1,
jpayne@69 4377 XCB_KB_BELL_PERCENT = 2,
jpayne@69 4378 XCB_KB_BELL_PITCH = 4,
jpayne@69 4379 XCB_KB_BELL_DURATION = 8,
jpayne@69 4380 XCB_KB_LED = 16,
jpayne@69 4381 XCB_KB_LED_MODE = 32,
jpayne@69 4382 XCB_KB_KEY = 64,
jpayne@69 4383 XCB_KB_AUTO_REPEAT_MODE = 128
jpayne@69 4384 } xcb_kb_t;
jpayne@69 4385
jpayne@69 4386 typedef enum xcb_led_mode_t {
jpayne@69 4387 XCB_LED_MODE_OFF = 0,
jpayne@69 4388 XCB_LED_MODE_ON = 1
jpayne@69 4389 } xcb_led_mode_t;
jpayne@69 4390
jpayne@69 4391 typedef enum xcb_auto_repeat_mode_t {
jpayne@69 4392 XCB_AUTO_REPEAT_MODE_OFF = 0,
jpayne@69 4393 XCB_AUTO_REPEAT_MODE_ON = 1,
jpayne@69 4394 XCB_AUTO_REPEAT_MODE_DEFAULT = 2
jpayne@69 4395 } xcb_auto_repeat_mode_t;
jpayne@69 4396
jpayne@69 4397 /**
jpayne@69 4398 * @brief xcb_change_keyboard_control_value_list_t
jpayne@69 4399 **/
jpayne@69 4400 typedef struct xcb_change_keyboard_control_value_list_t {
jpayne@69 4401 int32_t key_click_percent;
jpayne@69 4402 int32_t bell_percent;
jpayne@69 4403 int32_t bell_pitch;
jpayne@69 4404 int32_t bell_duration;
jpayne@69 4405 uint32_t led;
jpayne@69 4406 uint32_t led_mode;
jpayne@69 4407 xcb_keycode32_t key;
jpayne@69 4408 uint32_t auto_repeat_mode;
jpayne@69 4409 } xcb_change_keyboard_control_value_list_t;
jpayne@69 4410
jpayne@69 4411 /** Opcode for xcb_change_keyboard_control. */
jpayne@69 4412 #define XCB_CHANGE_KEYBOARD_CONTROL 102
jpayne@69 4413
jpayne@69 4414 /**
jpayne@69 4415 * @brief xcb_change_keyboard_control_request_t
jpayne@69 4416 **/
jpayne@69 4417 typedef struct xcb_change_keyboard_control_request_t {
jpayne@69 4418 uint8_t major_opcode;
jpayne@69 4419 uint8_t pad0;
jpayne@69 4420 uint16_t length;
jpayne@69 4421 uint32_t value_mask;
jpayne@69 4422 } xcb_change_keyboard_control_request_t;
jpayne@69 4423
jpayne@69 4424 /**
jpayne@69 4425 * @brief xcb_get_keyboard_control_cookie_t
jpayne@69 4426 **/
jpayne@69 4427 typedef struct xcb_get_keyboard_control_cookie_t {
jpayne@69 4428 unsigned int sequence;
jpayne@69 4429 } xcb_get_keyboard_control_cookie_t;
jpayne@69 4430
jpayne@69 4431 /** Opcode for xcb_get_keyboard_control. */
jpayne@69 4432 #define XCB_GET_KEYBOARD_CONTROL 103
jpayne@69 4433
jpayne@69 4434 /**
jpayne@69 4435 * @brief xcb_get_keyboard_control_request_t
jpayne@69 4436 **/
jpayne@69 4437 typedef struct xcb_get_keyboard_control_request_t {
jpayne@69 4438 uint8_t major_opcode;
jpayne@69 4439 uint8_t pad0;
jpayne@69 4440 uint16_t length;
jpayne@69 4441 } xcb_get_keyboard_control_request_t;
jpayne@69 4442
jpayne@69 4443 /**
jpayne@69 4444 * @brief xcb_get_keyboard_control_reply_t
jpayne@69 4445 **/
jpayne@69 4446 typedef struct xcb_get_keyboard_control_reply_t {
jpayne@69 4447 uint8_t response_type;
jpayne@69 4448 uint8_t global_auto_repeat;
jpayne@69 4449 uint16_t sequence;
jpayne@69 4450 uint32_t length;
jpayne@69 4451 uint32_t led_mask;
jpayne@69 4452 uint8_t key_click_percent;
jpayne@69 4453 uint8_t bell_percent;
jpayne@69 4454 uint16_t bell_pitch;
jpayne@69 4455 uint16_t bell_duration;
jpayne@69 4456 uint8_t pad0[2];
jpayne@69 4457 uint8_t auto_repeats[32];
jpayne@69 4458 } xcb_get_keyboard_control_reply_t;
jpayne@69 4459
jpayne@69 4460 /** Opcode for xcb_bell. */
jpayne@69 4461 #define XCB_BELL 104
jpayne@69 4462
jpayne@69 4463 /**
jpayne@69 4464 * @brief xcb_bell_request_t
jpayne@69 4465 **/
jpayne@69 4466 typedef struct xcb_bell_request_t {
jpayne@69 4467 uint8_t major_opcode;
jpayne@69 4468 int8_t percent;
jpayne@69 4469 uint16_t length;
jpayne@69 4470 } xcb_bell_request_t;
jpayne@69 4471
jpayne@69 4472 /** Opcode for xcb_change_pointer_control. */
jpayne@69 4473 #define XCB_CHANGE_POINTER_CONTROL 105
jpayne@69 4474
jpayne@69 4475 /**
jpayne@69 4476 * @brief xcb_change_pointer_control_request_t
jpayne@69 4477 **/
jpayne@69 4478 typedef struct xcb_change_pointer_control_request_t {
jpayne@69 4479 uint8_t major_opcode;
jpayne@69 4480 uint8_t pad0;
jpayne@69 4481 uint16_t length;
jpayne@69 4482 int16_t acceleration_numerator;
jpayne@69 4483 int16_t acceleration_denominator;
jpayne@69 4484 int16_t threshold;
jpayne@69 4485 uint8_t do_acceleration;
jpayne@69 4486 uint8_t do_threshold;
jpayne@69 4487 } xcb_change_pointer_control_request_t;
jpayne@69 4488
jpayne@69 4489 /**
jpayne@69 4490 * @brief xcb_get_pointer_control_cookie_t
jpayne@69 4491 **/
jpayne@69 4492 typedef struct xcb_get_pointer_control_cookie_t {
jpayne@69 4493 unsigned int sequence;
jpayne@69 4494 } xcb_get_pointer_control_cookie_t;
jpayne@69 4495
jpayne@69 4496 /** Opcode for xcb_get_pointer_control. */
jpayne@69 4497 #define XCB_GET_POINTER_CONTROL 106
jpayne@69 4498
jpayne@69 4499 /**
jpayne@69 4500 * @brief xcb_get_pointer_control_request_t
jpayne@69 4501 **/
jpayne@69 4502 typedef struct xcb_get_pointer_control_request_t {
jpayne@69 4503 uint8_t major_opcode;
jpayne@69 4504 uint8_t pad0;
jpayne@69 4505 uint16_t length;
jpayne@69 4506 } xcb_get_pointer_control_request_t;
jpayne@69 4507
jpayne@69 4508 /**
jpayne@69 4509 * @brief xcb_get_pointer_control_reply_t
jpayne@69 4510 **/
jpayne@69 4511 typedef struct xcb_get_pointer_control_reply_t {
jpayne@69 4512 uint8_t response_type;
jpayne@69 4513 uint8_t pad0;
jpayne@69 4514 uint16_t sequence;
jpayne@69 4515 uint32_t length;
jpayne@69 4516 uint16_t acceleration_numerator;
jpayne@69 4517 uint16_t acceleration_denominator;
jpayne@69 4518 uint16_t threshold;
jpayne@69 4519 uint8_t pad1[18];
jpayne@69 4520 } xcb_get_pointer_control_reply_t;
jpayne@69 4521
jpayne@69 4522 typedef enum xcb_blanking_t {
jpayne@69 4523 XCB_BLANKING_NOT_PREFERRED = 0,
jpayne@69 4524 XCB_BLANKING_PREFERRED = 1,
jpayne@69 4525 XCB_BLANKING_DEFAULT = 2
jpayne@69 4526 } xcb_blanking_t;
jpayne@69 4527
jpayne@69 4528 typedef enum xcb_exposures_t {
jpayne@69 4529 XCB_EXPOSURES_NOT_ALLOWED = 0,
jpayne@69 4530 XCB_EXPOSURES_ALLOWED = 1,
jpayne@69 4531 XCB_EXPOSURES_DEFAULT = 2
jpayne@69 4532 } xcb_exposures_t;
jpayne@69 4533
jpayne@69 4534 /** Opcode for xcb_set_screen_saver. */
jpayne@69 4535 #define XCB_SET_SCREEN_SAVER 107
jpayne@69 4536
jpayne@69 4537 /**
jpayne@69 4538 * @brief xcb_set_screen_saver_request_t
jpayne@69 4539 **/
jpayne@69 4540 typedef struct xcb_set_screen_saver_request_t {
jpayne@69 4541 uint8_t major_opcode;
jpayne@69 4542 uint8_t pad0;
jpayne@69 4543 uint16_t length;
jpayne@69 4544 int16_t timeout;
jpayne@69 4545 int16_t interval;
jpayne@69 4546 uint8_t prefer_blanking;
jpayne@69 4547 uint8_t allow_exposures;
jpayne@69 4548 } xcb_set_screen_saver_request_t;
jpayne@69 4549
jpayne@69 4550 /**
jpayne@69 4551 * @brief xcb_get_screen_saver_cookie_t
jpayne@69 4552 **/
jpayne@69 4553 typedef struct xcb_get_screen_saver_cookie_t {
jpayne@69 4554 unsigned int sequence;
jpayne@69 4555 } xcb_get_screen_saver_cookie_t;
jpayne@69 4556
jpayne@69 4557 /** Opcode for xcb_get_screen_saver. */
jpayne@69 4558 #define XCB_GET_SCREEN_SAVER 108
jpayne@69 4559
jpayne@69 4560 /**
jpayne@69 4561 * @brief xcb_get_screen_saver_request_t
jpayne@69 4562 **/
jpayne@69 4563 typedef struct xcb_get_screen_saver_request_t {
jpayne@69 4564 uint8_t major_opcode;
jpayne@69 4565 uint8_t pad0;
jpayne@69 4566 uint16_t length;
jpayne@69 4567 } xcb_get_screen_saver_request_t;
jpayne@69 4568
jpayne@69 4569 /**
jpayne@69 4570 * @brief xcb_get_screen_saver_reply_t
jpayne@69 4571 **/
jpayne@69 4572 typedef struct xcb_get_screen_saver_reply_t {
jpayne@69 4573 uint8_t response_type;
jpayne@69 4574 uint8_t pad0;
jpayne@69 4575 uint16_t sequence;
jpayne@69 4576 uint32_t length;
jpayne@69 4577 uint16_t timeout;
jpayne@69 4578 uint16_t interval;
jpayne@69 4579 uint8_t prefer_blanking;
jpayne@69 4580 uint8_t allow_exposures;
jpayne@69 4581 uint8_t pad1[18];
jpayne@69 4582 } xcb_get_screen_saver_reply_t;
jpayne@69 4583
jpayne@69 4584 typedef enum xcb_host_mode_t {
jpayne@69 4585 XCB_HOST_MODE_INSERT = 0,
jpayne@69 4586 XCB_HOST_MODE_DELETE = 1
jpayne@69 4587 } xcb_host_mode_t;
jpayne@69 4588
jpayne@69 4589 typedef enum xcb_family_t {
jpayne@69 4590 XCB_FAMILY_INTERNET = 0,
jpayne@69 4591 XCB_FAMILY_DECNET = 1,
jpayne@69 4592 XCB_FAMILY_CHAOS = 2,
jpayne@69 4593 XCB_FAMILY_SERVER_INTERPRETED = 5,
jpayne@69 4594 XCB_FAMILY_INTERNET_6 = 6
jpayne@69 4595 } xcb_family_t;
jpayne@69 4596
jpayne@69 4597 /** Opcode for xcb_change_hosts. */
jpayne@69 4598 #define XCB_CHANGE_HOSTS 109
jpayne@69 4599
jpayne@69 4600 /**
jpayne@69 4601 * @brief xcb_change_hosts_request_t
jpayne@69 4602 **/
jpayne@69 4603 typedef struct xcb_change_hosts_request_t {
jpayne@69 4604 uint8_t major_opcode;
jpayne@69 4605 uint8_t mode;
jpayne@69 4606 uint16_t length;
jpayne@69 4607 uint8_t family;
jpayne@69 4608 uint8_t pad0;
jpayne@69 4609 uint16_t address_len;
jpayne@69 4610 } xcb_change_hosts_request_t;
jpayne@69 4611
jpayne@69 4612 /**
jpayne@69 4613 * @brief xcb_host_t
jpayne@69 4614 **/
jpayne@69 4615 typedef struct xcb_host_t {
jpayne@69 4616 uint8_t family;
jpayne@69 4617 uint8_t pad0;
jpayne@69 4618 uint16_t address_len;
jpayne@69 4619 } xcb_host_t;
jpayne@69 4620
jpayne@69 4621 /**
jpayne@69 4622 * @brief xcb_host_iterator_t
jpayne@69 4623 **/
jpayne@69 4624 typedef struct xcb_host_iterator_t {
jpayne@69 4625 xcb_host_t *data;
jpayne@69 4626 int rem;
jpayne@69 4627 int index;
jpayne@69 4628 } xcb_host_iterator_t;
jpayne@69 4629
jpayne@69 4630 /**
jpayne@69 4631 * @brief xcb_list_hosts_cookie_t
jpayne@69 4632 **/
jpayne@69 4633 typedef struct xcb_list_hosts_cookie_t {
jpayne@69 4634 unsigned int sequence;
jpayne@69 4635 } xcb_list_hosts_cookie_t;
jpayne@69 4636
jpayne@69 4637 /** Opcode for xcb_list_hosts. */
jpayne@69 4638 #define XCB_LIST_HOSTS 110
jpayne@69 4639
jpayne@69 4640 /**
jpayne@69 4641 * @brief xcb_list_hosts_request_t
jpayne@69 4642 **/
jpayne@69 4643 typedef struct xcb_list_hosts_request_t {
jpayne@69 4644 uint8_t major_opcode;
jpayne@69 4645 uint8_t pad0;
jpayne@69 4646 uint16_t length;
jpayne@69 4647 } xcb_list_hosts_request_t;
jpayne@69 4648
jpayne@69 4649 /**
jpayne@69 4650 * @brief xcb_list_hosts_reply_t
jpayne@69 4651 **/
jpayne@69 4652 typedef struct xcb_list_hosts_reply_t {
jpayne@69 4653 uint8_t response_type;
jpayne@69 4654 uint8_t mode;
jpayne@69 4655 uint16_t sequence;
jpayne@69 4656 uint32_t length;
jpayne@69 4657 uint16_t hosts_len;
jpayne@69 4658 uint8_t pad0[22];
jpayne@69 4659 } xcb_list_hosts_reply_t;
jpayne@69 4660
jpayne@69 4661 typedef enum xcb_access_control_t {
jpayne@69 4662 XCB_ACCESS_CONTROL_DISABLE = 0,
jpayne@69 4663 XCB_ACCESS_CONTROL_ENABLE = 1
jpayne@69 4664 } xcb_access_control_t;
jpayne@69 4665
jpayne@69 4666 /** Opcode for xcb_set_access_control. */
jpayne@69 4667 #define XCB_SET_ACCESS_CONTROL 111
jpayne@69 4668
jpayne@69 4669 /**
jpayne@69 4670 * @brief xcb_set_access_control_request_t
jpayne@69 4671 **/
jpayne@69 4672 typedef struct xcb_set_access_control_request_t {
jpayne@69 4673 uint8_t major_opcode;
jpayne@69 4674 uint8_t mode;
jpayne@69 4675 uint16_t length;
jpayne@69 4676 } xcb_set_access_control_request_t;
jpayne@69 4677
jpayne@69 4678 typedef enum xcb_close_down_t {
jpayne@69 4679 XCB_CLOSE_DOWN_DESTROY_ALL = 0,
jpayne@69 4680 XCB_CLOSE_DOWN_RETAIN_PERMANENT = 1,
jpayne@69 4681 XCB_CLOSE_DOWN_RETAIN_TEMPORARY = 2
jpayne@69 4682 } xcb_close_down_t;
jpayne@69 4683
jpayne@69 4684 /** Opcode for xcb_set_close_down_mode. */
jpayne@69 4685 #define XCB_SET_CLOSE_DOWN_MODE 112
jpayne@69 4686
jpayne@69 4687 /**
jpayne@69 4688 * @brief xcb_set_close_down_mode_request_t
jpayne@69 4689 **/
jpayne@69 4690 typedef struct xcb_set_close_down_mode_request_t {
jpayne@69 4691 uint8_t major_opcode;
jpayne@69 4692 uint8_t mode;
jpayne@69 4693 uint16_t length;
jpayne@69 4694 } xcb_set_close_down_mode_request_t;
jpayne@69 4695
jpayne@69 4696 typedef enum xcb_kill_t {
jpayne@69 4697 XCB_KILL_ALL_TEMPORARY = 0
jpayne@69 4698 } xcb_kill_t;
jpayne@69 4699
jpayne@69 4700 /** Opcode for xcb_kill_client. */
jpayne@69 4701 #define XCB_KILL_CLIENT 113
jpayne@69 4702
jpayne@69 4703 /**
jpayne@69 4704 * @brief xcb_kill_client_request_t
jpayne@69 4705 **/
jpayne@69 4706 typedef struct xcb_kill_client_request_t {
jpayne@69 4707 uint8_t major_opcode;
jpayne@69 4708 uint8_t pad0;
jpayne@69 4709 uint16_t length;
jpayne@69 4710 uint32_t resource;
jpayne@69 4711 } xcb_kill_client_request_t;
jpayne@69 4712
jpayne@69 4713 /** Opcode for xcb_rotate_properties. */
jpayne@69 4714 #define XCB_ROTATE_PROPERTIES 114
jpayne@69 4715
jpayne@69 4716 /**
jpayne@69 4717 * @brief xcb_rotate_properties_request_t
jpayne@69 4718 **/
jpayne@69 4719 typedef struct xcb_rotate_properties_request_t {
jpayne@69 4720 uint8_t major_opcode;
jpayne@69 4721 uint8_t pad0;
jpayne@69 4722 uint16_t length;
jpayne@69 4723 xcb_window_t window;
jpayne@69 4724 uint16_t atoms_len;
jpayne@69 4725 int16_t delta;
jpayne@69 4726 } xcb_rotate_properties_request_t;
jpayne@69 4727
jpayne@69 4728 typedef enum xcb_screen_saver_t {
jpayne@69 4729 XCB_SCREEN_SAVER_RESET = 0,
jpayne@69 4730 XCB_SCREEN_SAVER_ACTIVE = 1
jpayne@69 4731 } xcb_screen_saver_t;
jpayne@69 4732
jpayne@69 4733 /** Opcode for xcb_force_screen_saver. */
jpayne@69 4734 #define XCB_FORCE_SCREEN_SAVER 115
jpayne@69 4735
jpayne@69 4736 /**
jpayne@69 4737 * @brief xcb_force_screen_saver_request_t
jpayne@69 4738 **/
jpayne@69 4739 typedef struct xcb_force_screen_saver_request_t {
jpayne@69 4740 uint8_t major_opcode;
jpayne@69 4741 uint8_t mode;
jpayne@69 4742 uint16_t length;
jpayne@69 4743 } xcb_force_screen_saver_request_t;
jpayne@69 4744
jpayne@69 4745 typedef enum xcb_mapping_status_t {
jpayne@69 4746 XCB_MAPPING_STATUS_SUCCESS = 0,
jpayne@69 4747 XCB_MAPPING_STATUS_BUSY = 1,
jpayne@69 4748 XCB_MAPPING_STATUS_FAILURE = 2
jpayne@69 4749 } xcb_mapping_status_t;
jpayne@69 4750
jpayne@69 4751 /**
jpayne@69 4752 * @brief xcb_set_pointer_mapping_cookie_t
jpayne@69 4753 **/
jpayne@69 4754 typedef struct xcb_set_pointer_mapping_cookie_t {
jpayne@69 4755 unsigned int sequence;
jpayne@69 4756 } xcb_set_pointer_mapping_cookie_t;
jpayne@69 4757
jpayne@69 4758 /** Opcode for xcb_set_pointer_mapping. */
jpayne@69 4759 #define XCB_SET_POINTER_MAPPING 116
jpayne@69 4760
jpayne@69 4761 /**
jpayne@69 4762 * @brief xcb_set_pointer_mapping_request_t
jpayne@69 4763 **/
jpayne@69 4764 typedef struct xcb_set_pointer_mapping_request_t {
jpayne@69 4765 uint8_t major_opcode;
jpayne@69 4766 uint8_t map_len;
jpayne@69 4767 uint16_t length;
jpayne@69 4768 } xcb_set_pointer_mapping_request_t;
jpayne@69 4769
jpayne@69 4770 /**
jpayne@69 4771 * @brief xcb_set_pointer_mapping_reply_t
jpayne@69 4772 **/
jpayne@69 4773 typedef struct xcb_set_pointer_mapping_reply_t {
jpayne@69 4774 uint8_t response_type;
jpayne@69 4775 uint8_t status;
jpayne@69 4776 uint16_t sequence;
jpayne@69 4777 uint32_t length;
jpayne@69 4778 } xcb_set_pointer_mapping_reply_t;
jpayne@69 4779
jpayne@69 4780 /**
jpayne@69 4781 * @brief xcb_get_pointer_mapping_cookie_t
jpayne@69 4782 **/
jpayne@69 4783 typedef struct xcb_get_pointer_mapping_cookie_t {
jpayne@69 4784 unsigned int sequence;
jpayne@69 4785 } xcb_get_pointer_mapping_cookie_t;
jpayne@69 4786
jpayne@69 4787 /** Opcode for xcb_get_pointer_mapping. */
jpayne@69 4788 #define XCB_GET_POINTER_MAPPING 117
jpayne@69 4789
jpayne@69 4790 /**
jpayne@69 4791 * @brief xcb_get_pointer_mapping_request_t
jpayne@69 4792 **/
jpayne@69 4793 typedef struct xcb_get_pointer_mapping_request_t {
jpayne@69 4794 uint8_t major_opcode;
jpayne@69 4795 uint8_t pad0;
jpayne@69 4796 uint16_t length;
jpayne@69 4797 } xcb_get_pointer_mapping_request_t;
jpayne@69 4798
jpayne@69 4799 /**
jpayne@69 4800 * @brief xcb_get_pointer_mapping_reply_t
jpayne@69 4801 **/
jpayne@69 4802 typedef struct xcb_get_pointer_mapping_reply_t {
jpayne@69 4803 uint8_t response_type;
jpayne@69 4804 uint8_t map_len;
jpayne@69 4805 uint16_t sequence;
jpayne@69 4806 uint32_t length;
jpayne@69 4807 uint8_t pad0[24];
jpayne@69 4808 } xcb_get_pointer_mapping_reply_t;
jpayne@69 4809
jpayne@69 4810 typedef enum xcb_map_index_t {
jpayne@69 4811 XCB_MAP_INDEX_SHIFT = 0,
jpayne@69 4812 XCB_MAP_INDEX_LOCK = 1,
jpayne@69 4813 XCB_MAP_INDEX_CONTROL = 2,
jpayne@69 4814 XCB_MAP_INDEX_1 = 3,
jpayne@69 4815 XCB_MAP_INDEX_2 = 4,
jpayne@69 4816 XCB_MAP_INDEX_3 = 5,
jpayne@69 4817 XCB_MAP_INDEX_4 = 6,
jpayne@69 4818 XCB_MAP_INDEX_5 = 7
jpayne@69 4819 } xcb_map_index_t;
jpayne@69 4820
jpayne@69 4821 /**
jpayne@69 4822 * @brief xcb_set_modifier_mapping_cookie_t
jpayne@69 4823 **/
jpayne@69 4824 typedef struct xcb_set_modifier_mapping_cookie_t {
jpayne@69 4825 unsigned int sequence;
jpayne@69 4826 } xcb_set_modifier_mapping_cookie_t;
jpayne@69 4827
jpayne@69 4828 /** Opcode for xcb_set_modifier_mapping. */
jpayne@69 4829 #define XCB_SET_MODIFIER_MAPPING 118
jpayne@69 4830
jpayne@69 4831 /**
jpayne@69 4832 * @brief xcb_set_modifier_mapping_request_t
jpayne@69 4833 **/
jpayne@69 4834 typedef struct xcb_set_modifier_mapping_request_t {
jpayne@69 4835 uint8_t major_opcode;
jpayne@69 4836 uint8_t keycodes_per_modifier;
jpayne@69 4837 uint16_t length;
jpayne@69 4838 } xcb_set_modifier_mapping_request_t;
jpayne@69 4839
jpayne@69 4840 /**
jpayne@69 4841 * @brief xcb_set_modifier_mapping_reply_t
jpayne@69 4842 **/
jpayne@69 4843 typedef struct xcb_set_modifier_mapping_reply_t {
jpayne@69 4844 uint8_t response_type;
jpayne@69 4845 uint8_t status;
jpayne@69 4846 uint16_t sequence;
jpayne@69 4847 uint32_t length;
jpayne@69 4848 } xcb_set_modifier_mapping_reply_t;
jpayne@69 4849
jpayne@69 4850 /**
jpayne@69 4851 * @brief xcb_get_modifier_mapping_cookie_t
jpayne@69 4852 **/
jpayne@69 4853 typedef struct xcb_get_modifier_mapping_cookie_t {
jpayne@69 4854 unsigned int sequence;
jpayne@69 4855 } xcb_get_modifier_mapping_cookie_t;
jpayne@69 4856
jpayne@69 4857 /** Opcode for xcb_get_modifier_mapping. */
jpayne@69 4858 #define XCB_GET_MODIFIER_MAPPING 119
jpayne@69 4859
jpayne@69 4860 /**
jpayne@69 4861 * @brief xcb_get_modifier_mapping_request_t
jpayne@69 4862 **/
jpayne@69 4863 typedef struct xcb_get_modifier_mapping_request_t {
jpayne@69 4864 uint8_t major_opcode;
jpayne@69 4865 uint8_t pad0;
jpayne@69 4866 uint16_t length;
jpayne@69 4867 } xcb_get_modifier_mapping_request_t;
jpayne@69 4868
jpayne@69 4869 /**
jpayne@69 4870 * @brief xcb_get_modifier_mapping_reply_t
jpayne@69 4871 **/
jpayne@69 4872 typedef struct xcb_get_modifier_mapping_reply_t {
jpayne@69 4873 uint8_t response_type;
jpayne@69 4874 uint8_t keycodes_per_modifier;
jpayne@69 4875 uint16_t sequence;
jpayne@69 4876 uint32_t length;
jpayne@69 4877 uint8_t pad0[24];
jpayne@69 4878 } xcb_get_modifier_mapping_reply_t;
jpayne@69 4879
jpayne@69 4880 /** Opcode for xcb_no_operation. */
jpayne@69 4881 #define XCB_NO_OPERATION 127
jpayne@69 4882
jpayne@69 4883 /**
jpayne@69 4884 * @brief xcb_no_operation_request_t
jpayne@69 4885 **/
jpayne@69 4886 typedef struct xcb_no_operation_request_t {
jpayne@69 4887 uint8_t major_opcode;
jpayne@69 4888 uint8_t pad0;
jpayne@69 4889 uint16_t length;
jpayne@69 4890 } xcb_no_operation_request_t;
jpayne@69 4891
jpayne@69 4892 /**
jpayne@69 4893 * Get the next element of the iterator
jpayne@69 4894 * @param i Pointer to a xcb_char2b_iterator_t
jpayne@69 4895 *
jpayne@69 4896 * Get the next element in the iterator. The member rem is
jpayne@69 4897 * decreased by one. The member data points to the next
jpayne@69 4898 * element. The member index is increased by sizeof(xcb_char2b_t)
jpayne@69 4899 */
jpayne@69 4900 void
jpayne@69 4901 xcb_char2b_next (xcb_char2b_iterator_t *i);
jpayne@69 4902
jpayne@69 4903 /**
jpayne@69 4904 * Return the iterator pointing to the last element
jpayne@69 4905 * @param i An xcb_char2b_iterator_t
jpayne@69 4906 * @return The iterator pointing to the last element
jpayne@69 4907 *
jpayne@69 4908 * Set the current element in the iterator to the last element.
jpayne@69 4909 * The member rem is set to 0. The member data points to the
jpayne@69 4910 * last element.
jpayne@69 4911 */
jpayne@69 4912 xcb_generic_iterator_t
jpayne@69 4913 xcb_char2b_end (xcb_char2b_iterator_t i);
jpayne@69 4914
jpayne@69 4915 /**
jpayne@69 4916 * Get the next element of the iterator
jpayne@69 4917 * @param i Pointer to a xcb_window_iterator_t
jpayne@69 4918 *
jpayne@69 4919 * Get the next element in the iterator. The member rem is
jpayne@69 4920 * decreased by one. The member data points to the next
jpayne@69 4921 * element. The member index is increased by sizeof(xcb_window_t)
jpayne@69 4922 */
jpayne@69 4923 void
jpayne@69 4924 xcb_window_next (xcb_window_iterator_t *i);
jpayne@69 4925
jpayne@69 4926 /**
jpayne@69 4927 * Return the iterator pointing to the last element
jpayne@69 4928 * @param i An xcb_window_iterator_t
jpayne@69 4929 * @return The iterator pointing to the last element
jpayne@69 4930 *
jpayne@69 4931 * Set the current element in the iterator to the last element.
jpayne@69 4932 * The member rem is set to 0. The member data points to the
jpayne@69 4933 * last element.
jpayne@69 4934 */
jpayne@69 4935 xcb_generic_iterator_t
jpayne@69 4936 xcb_window_end (xcb_window_iterator_t i);
jpayne@69 4937
jpayne@69 4938 /**
jpayne@69 4939 * Get the next element of the iterator
jpayne@69 4940 * @param i Pointer to a xcb_pixmap_iterator_t
jpayne@69 4941 *
jpayne@69 4942 * Get the next element in the iterator. The member rem is
jpayne@69 4943 * decreased by one. The member data points to the next
jpayne@69 4944 * element. The member index is increased by sizeof(xcb_pixmap_t)
jpayne@69 4945 */
jpayne@69 4946 void
jpayne@69 4947 xcb_pixmap_next (xcb_pixmap_iterator_t *i);
jpayne@69 4948
jpayne@69 4949 /**
jpayne@69 4950 * Return the iterator pointing to the last element
jpayne@69 4951 * @param i An xcb_pixmap_iterator_t
jpayne@69 4952 * @return The iterator pointing to the last element
jpayne@69 4953 *
jpayne@69 4954 * Set the current element in the iterator to the last element.
jpayne@69 4955 * The member rem is set to 0. The member data points to the
jpayne@69 4956 * last element.
jpayne@69 4957 */
jpayne@69 4958 xcb_generic_iterator_t
jpayne@69 4959 xcb_pixmap_end (xcb_pixmap_iterator_t i);
jpayne@69 4960
jpayne@69 4961 /**
jpayne@69 4962 * Get the next element of the iterator
jpayne@69 4963 * @param i Pointer to a xcb_cursor_iterator_t
jpayne@69 4964 *
jpayne@69 4965 * Get the next element in the iterator. The member rem is
jpayne@69 4966 * decreased by one. The member data points to the next
jpayne@69 4967 * element. The member index is increased by sizeof(xcb_cursor_t)
jpayne@69 4968 */
jpayne@69 4969 void
jpayne@69 4970 xcb_cursor_next (xcb_cursor_iterator_t *i);
jpayne@69 4971
jpayne@69 4972 /**
jpayne@69 4973 * Return the iterator pointing to the last element
jpayne@69 4974 * @param i An xcb_cursor_iterator_t
jpayne@69 4975 * @return The iterator pointing to the last element
jpayne@69 4976 *
jpayne@69 4977 * Set the current element in the iterator to the last element.
jpayne@69 4978 * The member rem is set to 0. The member data points to the
jpayne@69 4979 * last element.
jpayne@69 4980 */
jpayne@69 4981 xcb_generic_iterator_t
jpayne@69 4982 xcb_cursor_end (xcb_cursor_iterator_t i);
jpayne@69 4983
jpayne@69 4984 /**
jpayne@69 4985 * Get the next element of the iterator
jpayne@69 4986 * @param i Pointer to a xcb_font_iterator_t
jpayne@69 4987 *
jpayne@69 4988 * Get the next element in the iterator. The member rem is
jpayne@69 4989 * decreased by one. The member data points to the next
jpayne@69 4990 * element. The member index is increased by sizeof(xcb_font_t)
jpayne@69 4991 */
jpayne@69 4992 void
jpayne@69 4993 xcb_font_next (xcb_font_iterator_t *i);
jpayne@69 4994
jpayne@69 4995 /**
jpayne@69 4996 * Return the iterator pointing to the last element
jpayne@69 4997 * @param i An xcb_font_iterator_t
jpayne@69 4998 * @return The iterator pointing to the last element
jpayne@69 4999 *
jpayne@69 5000 * Set the current element in the iterator to the last element.
jpayne@69 5001 * The member rem is set to 0. The member data points to the
jpayne@69 5002 * last element.
jpayne@69 5003 */
jpayne@69 5004 xcb_generic_iterator_t
jpayne@69 5005 xcb_font_end (xcb_font_iterator_t i);
jpayne@69 5006
jpayne@69 5007 /**
jpayne@69 5008 * Get the next element of the iterator
jpayne@69 5009 * @param i Pointer to a xcb_gcontext_iterator_t
jpayne@69 5010 *
jpayne@69 5011 * Get the next element in the iterator. The member rem is
jpayne@69 5012 * decreased by one. The member data points to the next
jpayne@69 5013 * element. The member index is increased by sizeof(xcb_gcontext_t)
jpayne@69 5014 */
jpayne@69 5015 void
jpayne@69 5016 xcb_gcontext_next (xcb_gcontext_iterator_t *i);
jpayne@69 5017
jpayne@69 5018 /**
jpayne@69 5019 * Return the iterator pointing to the last element
jpayne@69 5020 * @param i An xcb_gcontext_iterator_t
jpayne@69 5021 * @return The iterator pointing to the last element
jpayne@69 5022 *
jpayne@69 5023 * Set the current element in the iterator to the last element.
jpayne@69 5024 * The member rem is set to 0. The member data points to the
jpayne@69 5025 * last element.
jpayne@69 5026 */
jpayne@69 5027 xcb_generic_iterator_t
jpayne@69 5028 xcb_gcontext_end (xcb_gcontext_iterator_t i);
jpayne@69 5029
jpayne@69 5030 /**
jpayne@69 5031 * Get the next element of the iterator
jpayne@69 5032 * @param i Pointer to a xcb_colormap_iterator_t
jpayne@69 5033 *
jpayne@69 5034 * Get the next element in the iterator. The member rem is
jpayne@69 5035 * decreased by one. The member data points to the next
jpayne@69 5036 * element. The member index is increased by sizeof(xcb_colormap_t)
jpayne@69 5037 */
jpayne@69 5038 void
jpayne@69 5039 xcb_colormap_next (xcb_colormap_iterator_t *i);
jpayne@69 5040
jpayne@69 5041 /**
jpayne@69 5042 * Return the iterator pointing to the last element
jpayne@69 5043 * @param i An xcb_colormap_iterator_t
jpayne@69 5044 * @return The iterator pointing to the last element
jpayne@69 5045 *
jpayne@69 5046 * Set the current element in the iterator to the last element.
jpayne@69 5047 * The member rem is set to 0. The member data points to the
jpayne@69 5048 * last element.
jpayne@69 5049 */
jpayne@69 5050 xcb_generic_iterator_t
jpayne@69 5051 xcb_colormap_end (xcb_colormap_iterator_t i);
jpayne@69 5052
jpayne@69 5053 /**
jpayne@69 5054 * Get the next element of the iterator
jpayne@69 5055 * @param i Pointer to a xcb_atom_iterator_t
jpayne@69 5056 *
jpayne@69 5057 * Get the next element in the iterator. The member rem is
jpayne@69 5058 * decreased by one. The member data points to the next
jpayne@69 5059 * element. The member index is increased by sizeof(xcb_atom_t)
jpayne@69 5060 */
jpayne@69 5061 void
jpayne@69 5062 xcb_atom_next (xcb_atom_iterator_t *i);
jpayne@69 5063
jpayne@69 5064 /**
jpayne@69 5065 * Return the iterator pointing to the last element
jpayne@69 5066 * @param i An xcb_atom_iterator_t
jpayne@69 5067 * @return The iterator pointing to the last element
jpayne@69 5068 *
jpayne@69 5069 * Set the current element in the iterator to the last element.
jpayne@69 5070 * The member rem is set to 0. The member data points to the
jpayne@69 5071 * last element.
jpayne@69 5072 */
jpayne@69 5073 xcb_generic_iterator_t
jpayne@69 5074 xcb_atom_end (xcb_atom_iterator_t i);
jpayne@69 5075
jpayne@69 5076 /**
jpayne@69 5077 * Get the next element of the iterator
jpayne@69 5078 * @param i Pointer to a xcb_drawable_iterator_t
jpayne@69 5079 *
jpayne@69 5080 * Get the next element in the iterator. The member rem is
jpayne@69 5081 * decreased by one. The member data points to the next
jpayne@69 5082 * element. The member index is increased by sizeof(xcb_drawable_t)
jpayne@69 5083 */
jpayne@69 5084 void
jpayne@69 5085 xcb_drawable_next (xcb_drawable_iterator_t *i);
jpayne@69 5086
jpayne@69 5087 /**
jpayne@69 5088 * Return the iterator pointing to the last element
jpayne@69 5089 * @param i An xcb_drawable_iterator_t
jpayne@69 5090 * @return The iterator pointing to the last element
jpayne@69 5091 *
jpayne@69 5092 * Set the current element in the iterator to the last element.
jpayne@69 5093 * The member rem is set to 0. The member data points to the
jpayne@69 5094 * last element.
jpayne@69 5095 */
jpayne@69 5096 xcb_generic_iterator_t
jpayne@69 5097 xcb_drawable_end (xcb_drawable_iterator_t i);
jpayne@69 5098
jpayne@69 5099 /**
jpayne@69 5100 * Get the next element of the iterator
jpayne@69 5101 * @param i Pointer to a xcb_fontable_iterator_t
jpayne@69 5102 *
jpayne@69 5103 * Get the next element in the iterator. The member rem is
jpayne@69 5104 * decreased by one. The member data points to the next
jpayne@69 5105 * element. The member index is increased by sizeof(xcb_fontable_t)
jpayne@69 5106 */
jpayne@69 5107 void
jpayne@69 5108 xcb_fontable_next (xcb_fontable_iterator_t *i);
jpayne@69 5109
jpayne@69 5110 /**
jpayne@69 5111 * Return the iterator pointing to the last element
jpayne@69 5112 * @param i An xcb_fontable_iterator_t
jpayne@69 5113 * @return The iterator pointing to the last element
jpayne@69 5114 *
jpayne@69 5115 * Set the current element in the iterator to the last element.
jpayne@69 5116 * The member rem is set to 0. The member data points to the
jpayne@69 5117 * last element.
jpayne@69 5118 */
jpayne@69 5119 xcb_generic_iterator_t
jpayne@69 5120 xcb_fontable_end (xcb_fontable_iterator_t i);
jpayne@69 5121
jpayne@69 5122 /**
jpayne@69 5123 * Get the next element of the iterator
jpayne@69 5124 * @param i Pointer to a xcb_bool32_iterator_t
jpayne@69 5125 *
jpayne@69 5126 * Get the next element in the iterator. The member rem is
jpayne@69 5127 * decreased by one. The member data points to the next
jpayne@69 5128 * element. The member index is increased by sizeof(xcb_bool32_t)
jpayne@69 5129 */
jpayne@69 5130 void
jpayne@69 5131 xcb_bool32_next (xcb_bool32_iterator_t *i);
jpayne@69 5132
jpayne@69 5133 /**
jpayne@69 5134 * Return the iterator pointing to the last element
jpayne@69 5135 * @param i An xcb_bool32_iterator_t
jpayne@69 5136 * @return The iterator pointing to the last element
jpayne@69 5137 *
jpayne@69 5138 * Set the current element in the iterator to the last element.
jpayne@69 5139 * The member rem is set to 0. The member data points to the
jpayne@69 5140 * last element.
jpayne@69 5141 */
jpayne@69 5142 xcb_generic_iterator_t
jpayne@69 5143 xcb_bool32_end (xcb_bool32_iterator_t i);
jpayne@69 5144
jpayne@69 5145 /**
jpayne@69 5146 * Get the next element of the iterator
jpayne@69 5147 * @param i Pointer to a xcb_visualid_iterator_t
jpayne@69 5148 *
jpayne@69 5149 * Get the next element in the iterator. The member rem is
jpayne@69 5150 * decreased by one. The member data points to the next
jpayne@69 5151 * element. The member index is increased by sizeof(xcb_visualid_t)
jpayne@69 5152 */
jpayne@69 5153 void
jpayne@69 5154 xcb_visualid_next (xcb_visualid_iterator_t *i);
jpayne@69 5155
jpayne@69 5156 /**
jpayne@69 5157 * Return the iterator pointing to the last element
jpayne@69 5158 * @param i An xcb_visualid_iterator_t
jpayne@69 5159 * @return The iterator pointing to the last element
jpayne@69 5160 *
jpayne@69 5161 * Set the current element in the iterator to the last element.
jpayne@69 5162 * The member rem is set to 0. The member data points to the
jpayne@69 5163 * last element.
jpayne@69 5164 */
jpayne@69 5165 xcb_generic_iterator_t
jpayne@69 5166 xcb_visualid_end (xcb_visualid_iterator_t i);
jpayne@69 5167
jpayne@69 5168 /**
jpayne@69 5169 * Get the next element of the iterator
jpayne@69 5170 * @param i Pointer to a xcb_timestamp_iterator_t
jpayne@69 5171 *
jpayne@69 5172 * Get the next element in the iterator. The member rem is
jpayne@69 5173 * decreased by one. The member data points to the next
jpayne@69 5174 * element. The member index is increased by sizeof(xcb_timestamp_t)
jpayne@69 5175 */
jpayne@69 5176 void
jpayne@69 5177 xcb_timestamp_next (xcb_timestamp_iterator_t *i);
jpayne@69 5178
jpayne@69 5179 /**
jpayne@69 5180 * Return the iterator pointing to the last element
jpayne@69 5181 * @param i An xcb_timestamp_iterator_t
jpayne@69 5182 * @return The iterator pointing to the last element
jpayne@69 5183 *
jpayne@69 5184 * Set the current element in the iterator to the last element.
jpayne@69 5185 * The member rem is set to 0. The member data points to the
jpayne@69 5186 * last element.
jpayne@69 5187 */
jpayne@69 5188 xcb_generic_iterator_t
jpayne@69 5189 xcb_timestamp_end (xcb_timestamp_iterator_t i);
jpayne@69 5190
jpayne@69 5191 /**
jpayne@69 5192 * Get the next element of the iterator
jpayne@69 5193 * @param i Pointer to a xcb_keysym_iterator_t
jpayne@69 5194 *
jpayne@69 5195 * Get the next element in the iterator. The member rem is
jpayne@69 5196 * decreased by one. The member data points to the next
jpayne@69 5197 * element. The member index is increased by sizeof(xcb_keysym_t)
jpayne@69 5198 */
jpayne@69 5199 void
jpayne@69 5200 xcb_keysym_next (xcb_keysym_iterator_t *i);
jpayne@69 5201
jpayne@69 5202 /**
jpayne@69 5203 * Return the iterator pointing to the last element
jpayne@69 5204 * @param i An xcb_keysym_iterator_t
jpayne@69 5205 * @return The iterator pointing to the last element
jpayne@69 5206 *
jpayne@69 5207 * Set the current element in the iterator to the last element.
jpayne@69 5208 * The member rem is set to 0. The member data points to the
jpayne@69 5209 * last element.
jpayne@69 5210 */
jpayne@69 5211 xcb_generic_iterator_t
jpayne@69 5212 xcb_keysym_end (xcb_keysym_iterator_t i);
jpayne@69 5213
jpayne@69 5214 /**
jpayne@69 5215 * Get the next element of the iterator
jpayne@69 5216 * @param i Pointer to a xcb_keycode_iterator_t
jpayne@69 5217 *
jpayne@69 5218 * Get the next element in the iterator. The member rem is
jpayne@69 5219 * decreased by one. The member data points to the next
jpayne@69 5220 * element. The member index is increased by sizeof(xcb_keycode_t)
jpayne@69 5221 */
jpayne@69 5222 void
jpayne@69 5223 xcb_keycode_next (xcb_keycode_iterator_t *i);
jpayne@69 5224
jpayne@69 5225 /**
jpayne@69 5226 * Return the iterator pointing to the last element
jpayne@69 5227 * @param i An xcb_keycode_iterator_t
jpayne@69 5228 * @return The iterator pointing to the last element
jpayne@69 5229 *
jpayne@69 5230 * Set the current element in the iterator to the last element.
jpayne@69 5231 * The member rem is set to 0. The member data points to the
jpayne@69 5232 * last element.
jpayne@69 5233 */
jpayne@69 5234 xcb_generic_iterator_t
jpayne@69 5235 xcb_keycode_end (xcb_keycode_iterator_t i);
jpayne@69 5236
jpayne@69 5237 /**
jpayne@69 5238 * Get the next element of the iterator
jpayne@69 5239 * @param i Pointer to a xcb_keycode32_iterator_t
jpayne@69 5240 *
jpayne@69 5241 * Get the next element in the iterator. The member rem is
jpayne@69 5242 * decreased by one. The member data points to the next
jpayne@69 5243 * element. The member index is increased by sizeof(xcb_keycode32_t)
jpayne@69 5244 */
jpayne@69 5245 void
jpayne@69 5246 xcb_keycode32_next (xcb_keycode32_iterator_t *i);
jpayne@69 5247
jpayne@69 5248 /**
jpayne@69 5249 * Return the iterator pointing to the last element
jpayne@69 5250 * @param i An xcb_keycode32_iterator_t
jpayne@69 5251 * @return The iterator pointing to the last element
jpayne@69 5252 *
jpayne@69 5253 * Set the current element in the iterator to the last element.
jpayne@69 5254 * The member rem is set to 0. The member data points to the
jpayne@69 5255 * last element.
jpayne@69 5256 */
jpayne@69 5257 xcb_generic_iterator_t
jpayne@69 5258 xcb_keycode32_end (xcb_keycode32_iterator_t i);
jpayne@69 5259
jpayne@69 5260 /**
jpayne@69 5261 * Get the next element of the iterator
jpayne@69 5262 * @param i Pointer to a xcb_button_iterator_t
jpayne@69 5263 *
jpayne@69 5264 * Get the next element in the iterator. The member rem is
jpayne@69 5265 * decreased by one. The member data points to the next
jpayne@69 5266 * element. The member index is increased by sizeof(xcb_button_t)
jpayne@69 5267 */
jpayne@69 5268 void
jpayne@69 5269 xcb_button_next (xcb_button_iterator_t *i);
jpayne@69 5270
jpayne@69 5271 /**
jpayne@69 5272 * Return the iterator pointing to the last element
jpayne@69 5273 * @param i An xcb_button_iterator_t
jpayne@69 5274 * @return The iterator pointing to the last element
jpayne@69 5275 *
jpayne@69 5276 * Set the current element in the iterator to the last element.
jpayne@69 5277 * The member rem is set to 0. The member data points to the
jpayne@69 5278 * last element.
jpayne@69 5279 */
jpayne@69 5280 xcb_generic_iterator_t
jpayne@69 5281 xcb_button_end (xcb_button_iterator_t i);
jpayne@69 5282
jpayne@69 5283 /**
jpayne@69 5284 * Get the next element of the iterator
jpayne@69 5285 * @param i Pointer to a xcb_point_iterator_t
jpayne@69 5286 *
jpayne@69 5287 * Get the next element in the iterator. The member rem is
jpayne@69 5288 * decreased by one. The member data points to the next
jpayne@69 5289 * element. The member index is increased by sizeof(xcb_point_t)
jpayne@69 5290 */
jpayne@69 5291 void
jpayne@69 5292 xcb_point_next (xcb_point_iterator_t *i);
jpayne@69 5293
jpayne@69 5294 /**
jpayne@69 5295 * Return the iterator pointing to the last element
jpayne@69 5296 * @param i An xcb_point_iterator_t
jpayne@69 5297 * @return The iterator pointing to the last element
jpayne@69 5298 *
jpayne@69 5299 * Set the current element in the iterator to the last element.
jpayne@69 5300 * The member rem is set to 0. The member data points to the
jpayne@69 5301 * last element.
jpayne@69 5302 */
jpayne@69 5303 xcb_generic_iterator_t
jpayne@69 5304 xcb_point_end (xcb_point_iterator_t i);
jpayne@69 5305
jpayne@69 5306 /**
jpayne@69 5307 * Get the next element of the iterator
jpayne@69 5308 * @param i Pointer to a xcb_rectangle_iterator_t
jpayne@69 5309 *
jpayne@69 5310 * Get the next element in the iterator. The member rem is
jpayne@69 5311 * decreased by one. The member data points to the next
jpayne@69 5312 * element. The member index is increased by sizeof(xcb_rectangle_t)
jpayne@69 5313 */
jpayne@69 5314 void
jpayne@69 5315 xcb_rectangle_next (xcb_rectangle_iterator_t *i);
jpayne@69 5316
jpayne@69 5317 /**
jpayne@69 5318 * Return the iterator pointing to the last element
jpayne@69 5319 * @param i An xcb_rectangle_iterator_t
jpayne@69 5320 * @return The iterator pointing to the last element
jpayne@69 5321 *
jpayne@69 5322 * Set the current element in the iterator to the last element.
jpayne@69 5323 * The member rem is set to 0. The member data points to the
jpayne@69 5324 * last element.
jpayne@69 5325 */
jpayne@69 5326 xcb_generic_iterator_t
jpayne@69 5327 xcb_rectangle_end (xcb_rectangle_iterator_t i);
jpayne@69 5328
jpayne@69 5329 /**
jpayne@69 5330 * Get the next element of the iterator
jpayne@69 5331 * @param i Pointer to a xcb_arc_iterator_t
jpayne@69 5332 *
jpayne@69 5333 * Get the next element in the iterator. The member rem is
jpayne@69 5334 * decreased by one. The member data points to the next
jpayne@69 5335 * element. The member index is increased by sizeof(xcb_arc_t)
jpayne@69 5336 */
jpayne@69 5337 void
jpayne@69 5338 xcb_arc_next (xcb_arc_iterator_t *i);
jpayne@69 5339
jpayne@69 5340 /**
jpayne@69 5341 * Return the iterator pointing to the last element
jpayne@69 5342 * @param i An xcb_arc_iterator_t
jpayne@69 5343 * @return The iterator pointing to the last element
jpayne@69 5344 *
jpayne@69 5345 * Set the current element in the iterator to the last element.
jpayne@69 5346 * The member rem is set to 0. The member data points to the
jpayne@69 5347 * last element.
jpayne@69 5348 */
jpayne@69 5349 xcb_generic_iterator_t
jpayne@69 5350 xcb_arc_end (xcb_arc_iterator_t i);
jpayne@69 5351
jpayne@69 5352 /**
jpayne@69 5353 * Get the next element of the iterator
jpayne@69 5354 * @param i Pointer to a xcb_format_iterator_t
jpayne@69 5355 *
jpayne@69 5356 * Get the next element in the iterator. The member rem is
jpayne@69 5357 * decreased by one. The member data points to the next
jpayne@69 5358 * element. The member index is increased by sizeof(xcb_format_t)
jpayne@69 5359 */
jpayne@69 5360 void
jpayne@69 5361 xcb_format_next (xcb_format_iterator_t *i);
jpayne@69 5362
jpayne@69 5363 /**
jpayne@69 5364 * Return the iterator pointing to the last element
jpayne@69 5365 * @param i An xcb_format_iterator_t
jpayne@69 5366 * @return The iterator pointing to the last element
jpayne@69 5367 *
jpayne@69 5368 * Set the current element in the iterator to the last element.
jpayne@69 5369 * The member rem is set to 0. The member data points to the
jpayne@69 5370 * last element.
jpayne@69 5371 */
jpayne@69 5372 xcb_generic_iterator_t
jpayne@69 5373 xcb_format_end (xcb_format_iterator_t i);
jpayne@69 5374
jpayne@69 5375 /**
jpayne@69 5376 * Get the next element of the iterator
jpayne@69 5377 * @param i Pointer to a xcb_visualtype_iterator_t
jpayne@69 5378 *
jpayne@69 5379 * Get the next element in the iterator. The member rem is
jpayne@69 5380 * decreased by one. The member data points to the next
jpayne@69 5381 * element. The member index is increased by sizeof(xcb_visualtype_t)
jpayne@69 5382 */
jpayne@69 5383 void
jpayne@69 5384 xcb_visualtype_next (xcb_visualtype_iterator_t *i);
jpayne@69 5385
jpayne@69 5386 /**
jpayne@69 5387 * Return the iterator pointing to the last element
jpayne@69 5388 * @param i An xcb_visualtype_iterator_t
jpayne@69 5389 * @return The iterator pointing to the last element
jpayne@69 5390 *
jpayne@69 5391 * Set the current element in the iterator to the last element.
jpayne@69 5392 * The member rem is set to 0. The member data points to the
jpayne@69 5393 * last element.
jpayne@69 5394 */
jpayne@69 5395 xcb_generic_iterator_t
jpayne@69 5396 xcb_visualtype_end (xcb_visualtype_iterator_t i);
jpayne@69 5397
jpayne@69 5398 int
jpayne@69 5399 xcb_depth_sizeof (const void *_buffer);
jpayne@69 5400
jpayne@69 5401 xcb_visualtype_t *
jpayne@69 5402 xcb_depth_visuals (const xcb_depth_t *R);
jpayne@69 5403
jpayne@69 5404 int
jpayne@69 5405 xcb_depth_visuals_length (const xcb_depth_t *R);
jpayne@69 5406
jpayne@69 5407 xcb_visualtype_iterator_t
jpayne@69 5408 xcb_depth_visuals_iterator (const xcb_depth_t *R);
jpayne@69 5409
jpayne@69 5410 /**
jpayne@69 5411 * Get the next element of the iterator
jpayne@69 5412 * @param i Pointer to a xcb_depth_iterator_t
jpayne@69 5413 *
jpayne@69 5414 * Get the next element in the iterator. The member rem is
jpayne@69 5415 * decreased by one. The member data points to the next
jpayne@69 5416 * element. The member index is increased by sizeof(xcb_depth_t)
jpayne@69 5417 */
jpayne@69 5418 void
jpayne@69 5419 xcb_depth_next (xcb_depth_iterator_t *i);
jpayne@69 5420
jpayne@69 5421 /**
jpayne@69 5422 * Return the iterator pointing to the last element
jpayne@69 5423 * @param i An xcb_depth_iterator_t
jpayne@69 5424 * @return The iterator pointing to the last element
jpayne@69 5425 *
jpayne@69 5426 * Set the current element in the iterator to the last element.
jpayne@69 5427 * The member rem is set to 0. The member data points to the
jpayne@69 5428 * last element.
jpayne@69 5429 */
jpayne@69 5430 xcb_generic_iterator_t
jpayne@69 5431 xcb_depth_end (xcb_depth_iterator_t i);
jpayne@69 5432
jpayne@69 5433 int
jpayne@69 5434 xcb_screen_sizeof (const void *_buffer);
jpayne@69 5435
jpayne@69 5436 int
jpayne@69 5437 xcb_screen_allowed_depths_length (const xcb_screen_t *R);
jpayne@69 5438
jpayne@69 5439 xcb_depth_iterator_t
jpayne@69 5440 xcb_screen_allowed_depths_iterator (const xcb_screen_t *R);
jpayne@69 5441
jpayne@69 5442 /**
jpayne@69 5443 * Get the next element of the iterator
jpayne@69 5444 * @param i Pointer to a xcb_screen_iterator_t
jpayne@69 5445 *
jpayne@69 5446 * Get the next element in the iterator. The member rem is
jpayne@69 5447 * decreased by one. The member data points to the next
jpayne@69 5448 * element. The member index is increased by sizeof(xcb_screen_t)
jpayne@69 5449 */
jpayne@69 5450 void
jpayne@69 5451 xcb_screen_next (xcb_screen_iterator_t *i);
jpayne@69 5452
jpayne@69 5453 /**
jpayne@69 5454 * Return the iterator pointing to the last element
jpayne@69 5455 * @param i An xcb_screen_iterator_t
jpayne@69 5456 * @return The iterator pointing to the last element
jpayne@69 5457 *
jpayne@69 5458 * Set the current element in the iterator to the last element.
jpayne@69 5459 * The member rem is set to 0. The member data points to the
jpayne@69 5460 * last element.
jpayne@69 5461 */
jpayne@69 5462 xcb_generic_iterator_t
jpayne@69 5463 xcb_screen_end (xcb_screen_iterator_t i);
jpayne@69 5464
jpayne@69 5465 int
jpayne@69 5466 xcb_setup_request_sizeof (const void *_buffer);
jpayne@69 5467
jpayne@69 5468 char *
jpayne@69 5469 xcb_setup_request_authorization_protocol_name (const xcb_setup_request_t *R);
jpayne@69 5470
jpayne@69 5471 int
jpayne@69 5472 xcb_setup_request_authorization_protocol_name_length (const xcb_setup_request_t *R);
jpayne@69 5473
jpayne@69 5474 xcb_generic_iterator_t
jpayne@69 5475 xcb_setup_request_authorization_protocol_name_end (const xcb_setup_request_t *R);
jpayne@69 5476
jpayne@69 5477 char *
jpayne@69 5478 xcb_setup_request_authorization_protocol_data (const xcb_setup_request_t *R);
jpayne@69 5479
jpayne@69 5480 int
jpayne@69 5481 xcb_setup_request_authorization_protocol_data_length (const xcb_setup_request_t *R);
jpayne@69 5482
jpayne@69 5483 xcb_generic_iterator_t
jpayne@69 5484 xcb_setup_request_authorization_protocol_data_end (const xcb_setup_request_t *R);
jpayne@69 5485
jpayne@69 5486 /**
jpayne@69 5487 * Get the next element of the iterator
jpayne@69 5488 * @param i Pointer to a xcb_setup_request_iterator_t
jpayne@69 5489 *
jpayne@69 5490 * Get the next element in the iterator. The member rem is
jpayne@69 5491 * decreased by one. The member data points to the next
jpayne@69 5492 * element. The member index is increased by sizeof(xcb_setup_request_t)
jpayne@69 5493 */
jpayne@69 5494 void
jpayne@69 5495 xcb_setup_request_next (xcb_setup_request_iterator_t *i);
jpayne@69 5496
jpayne@69 5497 /**
jpayne@69 5498 * Return the iterator pointing to the last element
jpayne@69 5499 * @param i An xcb_setup_request_iterator_t
jpayne@69 5500 * @return The iterator pointing to the last element
jpayne@69 5501 *
jpayne@69 5502 * Set the current element in the iterator to the last element.
jpayne@69 5503 * The member rem is set to 0. The member data points to the
jpayne@69 5504 * last element.
jpayne@69 5505 */
jpayne@69 5506 xcb_generic_iterator_t
jpayne@69 5507 xcb_setup_request_end (xcb_setup_request_iterator_t i);
jpayne@69 5508
jpayne@69 5509 int
jpayne@69 5510 xcb_setup_failed_sizeof (const void *_buffer);
jpayne@69 5511
jpayne@69 5512 char *
jpayne@69 5513 xcb_setup_failed_reason (const xcb_setup_failed_t *R);
jpayne@69 5514
jpayne@69 5515 int
jpayne@69 5516 xcb_setup_failed_reason_length (const xcb_setup_failed_t *R);
jpayne@69 5517
jpayne@69 5518 xcb_generic_iterator_t
jpayne@69 5519 xcb_setup_failed_reason_end (const xcb_setup_failed_t *R);
jpayne@69 5520
jpayne@69 5521 /**
jpayne@69 5522 * Get the next element of the iterator
jpayne@69 5523 * @param i Pointer to a xcb_setup_failed_iterator_t
jpayne@69 5524 *
jpayne@69 5525 * Get the next element in the iterator. The member rem is
jpayne@69 5526 * decreased by one. The member data points to the next
jpayne@69 5527 * element. The member index is increased by sizeof(xcb_setup_failed_t)
jpayne@69 5528 */
jpayne@69 5529 void
jpayne@69 5530 xcb_setup_failed_next (xcb_setup_failed_iterator_t *i);
jpayne@69 5531
jpayne@69 5532 /**
jpayne@69 5533 * Return the iterator pointing to the last element
jpayne@69 5534 * @param i An xcb_setup_failed_iterator_t
jpayne@69 5535 * @return The iterator pointing to the last element
jpayne@69 5536 *
jpayne@69 5537 * Set the current element in the iterator to the last element.
jpayne@69 5538 * The member rem is set to 0. The member data points to the
jpayne@69 5539 * last element.
jpayne@69 5540 */
jpayne@69 5541 xcb_generic_iterator_t
jpayne@69 5542 xcb_setup_failed_end (xcb_setup_failed_iterator_t i);
jpayne@69 5543
jpayne@69 5544 int
jpayne@69 5545 xcb_setup_authenticate_sizeof (const void *_buffer);
jpayne@69 5546
jpayne@69 5547 char *
jpayne@69 5548 xcb_setup_authenticate_reason (const xcb_setup_authenticate_t *R);
jpayne@69 5549
jpayne@69 5550 int
jpayne@69 5551 xcb_setup_authenticate_reason_length (const xcb_setup_authenticate_t *R);
jpayne@69 5552
jpayne@69 5553 xcb_generic_iterator_t
jpayne@69 5554 xcb_setup_authenticate_reason_end (const xcb_setup_authenticate_t *R);
jpayne@69 5555
jpayne@69 5556 /**
jpayne@69 5557 * Get the next element of the iterator
jpayne@69 5558 * @param i Pointer to a xcb_setup_authenticate_iterator_t
jpayne@69 5559 *
jpayne@69 5560 * Get the next element in the iterator. The member rem is
jpayne@69 5561 * decreased by one. The member data points to the next
jpayne@69 5562 * element. The member index is increased by sizeof(xcb_setup_authenticate_t)
jpayne@69 5563 */
jpayne@69 5564 void
jpayne@69 5565 xcb_setup_authenticate_next (xcb_setup_authenticate_iterator_t *i);
jpayne@69 5566
jpayne@69 5567 /**
jpayne@69 5568 * Return the iterator pointing to the last element
jpayne@69 5569 * @param i An xcb_setup_authenticate_iterator_t
jpayne@69 5570 * @return The iterator pointing to the last element
jpayne@69 5571 *
jpayne@69 5572 * Set the current element in the iterator to the last element.
jpayne@69 5573 * The member rem is set to 0. The member data points to the
jpayne@69 5574 * last element.
jpayne@69 5575 */
jpayne@69 5576 xcb_generic_iterator_t
jpayne@69 5577 xcb_setup_authenticate_end (xcb_setup_authenticate_iterator_t i);
jpayne@69 5578
jpayne@69 5579 int
jpayne@69 5580 xcb_setup_sizeof (const void *_buffer);
jpayne@69 5581
jpayne@69 5582 char *
jpayne@69 5583 xcb_setup_vendor (const xcb_setup_t *R);
jpayne@69 5584
jpayne@69 5585 int
jpayne@69 5586 xcb_setup_vendor_length (const xcb_setup_t *R);
jpayne@69 5587
jpayne@69 5588 xcb_generic_iterator_t
jpayne@69 5589 xcb_setup_vendor_end (const xcb_setup_t *R);
jpayne@69 5590
jpayne@69 5591 xcb_format_t *
jpayne@69 5592 xcb_setup_pixmap_formats (const xcb_setup_t *R);
jpayne@69 5593
jpayne@69 5594 int
jpayne@69 5595 xcb_setup_pixmap_formats_length (const xcb_setup_t *R);
jpayne@69 5596
jpayne@69 5597 xcb_format_iterator_t
jpayne@69 5598 xcb_setup_pixmap_formats_iterator (const xcb_setup_t *R);
jpayne@69 5599
jpayne@69 5600 int
jpayne@69 5601 xcb_setup_roots_length (const xcb_setup_t *R);
jpayne@69 5602
jpayne@69 5603 xcb_screen_iterator_t
jpayne@69 5604 xcb_setup_roots_iterator (const xcb_setup_t *R);
jpayne@69 5605
jpayne@69 5606 /**
jpayne@69 5607 * Get the next element of the iterator
jpayne@69 5608 * @param i Pointer to a xcb_setup_iterator_t
jpayne@69 5609 *
jpayne@69 5610 * Get the next element in the iterator. The member rem is
jpayne@69 5611 * decreased by one. The member data points to the next
jpayne@69 5612 * element. The member index is increased by sizeof(xcb_setup_t)
jpayne@69 5613 */
jpayne@69 5614 void
jpayne@69 5615 xcb_setup_next (xcb_setup_iterator_t *i);
jpayne@69 5616
jpayne@69 5617 /**
jpayne@69 5618 * Return the iterator pointing to the last element
jpayne@69 5619 * @param i An xcb_setup_iterator_t
jpayne@69 5620 * @return The iterator pointing to the last element
jpayne@69 5621 *
jpayne@69 5622 * Set the current element in the iterator to the last element.
jpayne@69 5623 * The member rem is set to 0. The member data points to the
jpayne@69 5624 * last element.
jpayne@69 5625 */
jpayne@69 5626 xcb_generic_iterator_t
jpayne@69 5627 xcb_setup_end (xcb_setup_iterator_t i);
jpayne@69 5628
jpayne@69 5629 /**
jpayne@69 5630 * Get the next element of the iterator
jpayne@69 5631 * @param i Pointer to a xcb_client_message_data_iterator_t
jpayne@69 5632 *
jpayne@69 5633 * Get the next element in the iterator. The member rem is
jpayne@69 5634 * decreased by one. The member data points to the next
jpayne@69 5635 * element. The member index is increased by sizeof(xcb_client_message_data_t)
jpayne@69 5636 */
jpayne@69 5637 void
jpayne@69 5638 xcb_client_message_data_next (xcb_client_message_data_iterator_t *i);
jpayne@69 5639
jpayne@69 5640 /**
jpayne@69 5641 * Return the iterator pointing to the last element
jpayne@69 5642 * @param i An xcb_client_message_data_iterator_t
jpayne@69 5643 * @return The iterator pointing to the last element
jpayne@69 5644 *
jpayne@69 5645 * Set the current element in the iterator to the last element.
jpayne@69 5646 * The member rem is set to 0. The member data points to the
jpayne@69 5647 * last element.
jpayne@69 5648 */
jpayne@69 5649 xcb_generic_iterator_t
jpayne@69 5650 xcb_client_message_data_end (xcb_client_message_data_iterator_t i);
jpayne@69 5651
jpayne@69 5652 int
jpayne@69 5653 xcb_create_window_value_list_serialize (void **_buffer,
jpayne@69 5654 uint32_t value_mask,
jpayne@69 5655 const xcb_create_window_value_list_t *_aux);
jpayne@69 5656
jpayne@69 5657 int
jpayne@69 5658 xcb_create_window_value_list_unpack (const void *_buffer,
jpayne@69 5659 uint32_t value_mask,
jpayne@69 5660 xcb_create_window_value_list_t *_aux);
jpayne@69 5661
jpayne@69 5662 int
jpayne@69 5663 xcb_create_window_value_list_sizeof (const void *_buffer,
jpayne@69 5664 uint32_t value_mask);
jpayne@69 5665
jpayne@69 5666 int
jpayne@69 5667 xcb_create_window_sizeof (const void *_buffer);
jpayne@69 5668
jpayne@69 5669 /**
jpayne@69 5670 * @brief Creates a window
jpayne@69 5671 *
jpayne@69 5672 * @param c The connection
jpayne@69 5673 * @param depth Specifies the new window's depth (TODO: what unit?).
jpayne@69 5674 * \n
jpayne@69 5675 * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the
jpayne@69 5676 * \a parent window.
jpayne@69 5677 * @param wid The ID with which you will refer to the new window, created by
jpayne@69 5678 * `xcb_generate_id`.
jpayne@69 5679 * @param parent The parent window of the new window.
jpayne@69 5680 * @param x The X coordinate of the new window.
jpayne@69 5681 * @param y The Y coordinate of the new window.
jpayne@69 5682 * @param width The width of the new window.
jpayne@69 5683 * @param height The height of the new window.
jpayne@69 5684 * @param border_width TODO:
jpayne@69 5685 * \n
jpayne@69 5686 * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs.
jpayne@69 5687 * @param _class A bitmask of #xcb_window_class_t values.
jpayne@69 5688 * @param _class \n
jpayne@69 5689 * @param visual Specifies the id for the new window's visual.
jpayne@69 5690 * \n
jpayne@69 5691 * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the
jpayne@69 5692 * \a parent window.
jpayne@69 5693 * @param value_mask A bitmask of #xcb_cw_t values.
jpayne@69 5694 * @return A cookie
jpayne@69 5695 *
jpayne@69 5696 * Creates an unmapped window as child of the specified \a parent window. A
jpayne@69 5697 * CreateNotify event will be generated. The new window is placed on top in the
jpayne@69 5698 * stacking order with respect to siblings.
jpayne@69 5699 *
jpayne@69 5700 * The coordinate system has the X axis horizontal and the Y axis vertical with
jpayne@69 5701 * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms
jpayne@69 5702 * of pixels, and coincide with pixel centers. Each window and pixmap has its own
jpayne@69 5703 * coordinate system. For a window, the origin is inside the border at the inside,
jpayne@69 5704 * upper-left corner.
jpayne@69 5705 *
jpayne@69 5706 * The created window is not yet displayed (mapped), call `xcb_map_window` to
jpayne@69 5707 * display it.
jpayne@69 5708 *
jpayne@69 5709 * The created window will initially use the same cursor as its parent.
jpayne@69 5710 *
jpayne@69 5711 * This form can be used only if the request will not cause
jpayne@69 5712 * a reply to be generated. Any returned error will be
jpayne@69 5713 * saved for handling by xcb_request_check().
jpayne@69 5714 */
jpayne@69 5715 xcb_void_cookie_t
jpayne@69 5716 xcb_create_window_checked (xcb_connection_t *c,
jpayne@69 5717 uint8_t depth,
jpayne@69 5718 xcb_window_t wid,
jpayne@69 5719 xcb_window_t parent,
jpayne@69 5720 int16_t x,
jpayne@69 5721 int16_t y,
jpayne@69 5722 uint16_t width,
jpayne@69 5723 uint16_t height,
jpayne@69 5724 uint16_t border_width,
jpayne@69 5725 uint16_t _class,
jpayne@69 5726 xcb_visualid_t visual,
jpayne@69 5727 uint32_t value_mask,
jpayne@69 5728 const void *value_list);
jpayne@69 5729
jpayne@69 5730 /**
jpayne@69 5731 * @brief Creates a window
jpayne@69 5732 *
jpayne@69 5733 * @param c The connection
jpayne@69 5734 * @param depth Specifies the new window's depth (TODO: what unit?).
jpayne@69 5735 * \n
jpayne@69 5736 * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the
jpayne@69 5737 * \a parent window.
jpayne@69 5738 * @param wid The ID with which you will refer to the new window, created by
jpayne@69 5739 * `xcb_generate_id`.
jpayne@69 5740 * @param parent The parent window of the new window.
jpayne@69 5741 * @param x The X coordinate of the new window.
jpayne@69 5742 * @param y The Y coordinate of the new window.
jpayne@69 5743 * @param width The width of the new window.
jpayne@69 5744 * @param height The height of the new window.
jpayne@69 5745 * @param border_width TODO:
jpayne@69 5746 * \n
jpayne@69 5747 * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs.
jpayne@69 5748 * @param _class A bitmask of #xcb_window_class_t values.
jpayne@69 5749 * @param _class \n
jpayne@69 5750 * @param visual Specifies the id for the new window's visual.
jpayne@69 5751 * \n
jpayne@69 5752 * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the
jpayne@69 5753 * \a parent window.
jpayne@69 5754 * @param value_mask A bitmask of #xcb_cw_t values.
jpayne@69 5755 * @return A cookie
jpayne@69 5756 *
jpayne@69 5757 * Creates an unmapped window as child of the specified \a parent window. A
jpayne@69 5758 * CreateNotify event will be generated. The new window is placed on top in the
jpayne@69 5759 * stacking order with respect to siblings.
jpayne@69 5760 *
jpayne@69 5761 * The coordinate system has the X axis horizontal and the Y axis vertical with
jpayne@69 5762 * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms
jpayne@69 5763 * of pixels, and coincide with pixel centers. Each window and pixmap has its own
jpayne@69 5764 * coordinate system. For a window, the origin is inside the border at the inside,
jpayne@69 5765 * upper-left corner.
jpayne@69 5766 *
jpayne@69 5767 * The created window is not yet displayed (mapped), call `xcb_map_window` to
jpayne@69 5768 * display it.
jpayne@69 5769 *
jpayne@69 5770 * The created window will initially use the same cursor as its parent.
jpayne@69 5771 *
jpayne@69 5772 */
jpayne@69 5773 xcb_void_cookie_t
jpayne@69 5774 xcb_create_window (xcb_connection_t *c,
jpayne@69 5775 uint8_t depth,
jpayne@69 5776 xcb_window_t wid,
jpayne@69 5777 xcb_window_t parent,
jpayne@69 5778 int16_t x,
jpayne@69 5779 int16_t y,
jpayne@69 5780 uint16_t width,
jpayne@69 5781 uint16_t height,
jpayne@69 5782 uint16_t border_width,
jpayne@69 5783 uint16_t _class,
jpayne@69 5784 xcb_visualid_t visual,
jpayne@69 5785 uint32_t value_mask,
jpayne@69 5786 const void *value_list);
jpayne@69 5787
jpayne@69 5788 /**
jpayne@69 5789 * @brief Creates a window
jpayne@69 5790 *
jpayne@69 5791 * @param c The connection
jpayne@69 5792 * @param depth Specifies the new window's depth (TODO: what unit?).
jpayne@69 5793 * \n
jpayne@69 5794 * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the
jpayne@69 5795 * \a parent window.
jpayne@69 5796 * @param wid The ID with which you will refer to the new window, created by
jpayne@69 5797 * `xcb_generate_id`.
jpayne@69 5798 * @param parent The parent window of the new window.
jpayne@69 5799 * @param x The X coordinate of the new window.
jpayne@69 5800 * @param y The Y coordinate of the new window.
jpayne@69 5801 * @param width The width of the new window.
jpayne@69 5802 * @param height The height of the new window.
jpayne@69 5803 * @param border_width TODO:
jpayne@69 5804 * \n
jpayne@69 5805 * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs.
jpayne@69 5806 * @param _class A bitmask of #xcb_window_class_t values.
jpayne@69 5807 * @param _class \n
jpayne@69 5808 * @param visual Specifies the id for the new window's visual.
jpayne@69 5809 * \n
jpayne@69 5810 * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the
jpayne@69 5811 * \a parent window.
jpayne@69 5812 * @param value_mask A bitmask of #xcb_cw_t values.
jpayne@69 5813 * @return A cookie
jpayne@69 5814 *
jpayne@69 5815 * Creates an unmapped window as child of the specified \a parent window. A
jpayne@69 5816 * CreateNotify event will be generated. The new window is placed on top in the
jpayne@69 5817 * stacking order with respect to siblings.
jpayne@69 5818 *
jpayne@69 5819 * The coordinate system has the X axis horizontal and the Y axis vertical with
jpayne@69 5820 * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms
jpayne@69 5821 * of pixels, and coincide with pixel centers. Each window and pixmap has its own
jpayne@69 5822 * coordinate system. For a window, the origin is inside the border at the inside,
jpayne@69 5823 * upper-left corner.
jpayne@69 5824 *
jpayne@69 5825 * The created window is not yet displayed (mapped), call `xcb_map_window` to
jpayne@69 5826 * display it.
jpayne@69 5827 *
jpayne@69 5828 * The created window will initially use the same cursor as its parent.
jpayne@69 5829 *
jpayne@69 5830 * This form can be used only if the request will not cause
jpayne@69 5831 * a reply to be generated. Any returned error will be
jpayne@69 5832 * saved for handling by xcb_request_check().
jpayne@69 5833 */
jpayne@69 5834 xcb_void_cookie_t
jpayne@69 5835 xcb_create_window_aux_checked (xcb_connection_t *c,
jpayne@69 5836 uint8_t depth,
jpayne@69 5837 xcb_window_t wid,
jpayne@69 5838 xcb_window_t parent,
jpayne@69 5839 int16_t x,
jpayne@69 5840 int16_t y,
jpayne@69 5841 uint16_t width,
jpayne@69 5842 uint16_t height,
jpayne@69 5843 uint16_t border_width,
jpayne@69 5844 uint16_t _class,
jpayne@69 5845 xcb_visualid_t visual,
jpayne@69 5846 uint32_t value_mask,
jpayne@69 5847 const xcb_create_window_value_list_t *value_list);
jpayne@69 5848
jpayne@69 5849 /**
jpayne@69 5850 * @brief Creates a window
jpayne@69 5851 *
jpayne@69 5852 * @param c The connection
jpayne@69 5853 * @param depth Specifies the new window's depth (TODO: what unit?).
jpayne@69 5854 * \n
jpayne@69 5855 * The special value `XCB_COPY_FROM_PARENT` means the depth is taken from the
jpayne@69 5856 * \a parent window.
jpayne@69 5857 * @param wid The ID with which you will refer to the new window, created by
jpayne@69 5858 * `xcb_generate_id`.
jpayne@69 5859 * @param parent The parent window of the new window.
jpayne@69 5860 * @param x The X coordinate of the new window.
jpayne@69 5861 * @param y The Y coordinate of the new window.
jpayne@69 5862 * @param width The width of the new window.
jpayne@69 5863 * @param height The height of the new window.
jpayne@69 5864 * @param border_width TODO:
jpayne@69 5865 * \n
jpayne@69 5866 * Must be zero if the `class` is `InputOnly` or a `xcb_match_error_t` occurs.
jpayne@69 5867 * @param _class A bitmask of #xcb_window_class_t values.
jpayne@69 5868 * @param _class \n
jpayne@69 5869 * @param visual Specifies the id for the new window's visual.
jpayne@69 5870 * \n
jpayne@69 5871 * The special value `XCB_COPY_FROM_PARENT` means the visual is taken from the
jpayne@69 5872 * \a parent window.
jpayne@69 5873 * @param value_mask A bitmask of #xcb_cw_t values.
jpayne@69 5874 * @return A cookie
jpayne@69 5875 *
jpayne@69 5876 * Creates an unmapped window as child of the specified \a parent window. A
jpayne@69 5877 * CreateNotify event will be generated. The new window is placed on top in the
jpayne@69 5878 * stacking order with respect to siblings.
jpayne@69 5879 *
jpayne@69 5880 * The coordinate system has the X axis horizontal and the Y axis vertical with
jpayne@69 5881 * the origin [0, 0] at the upper-left corner. Coordinates are integral, in terms
jpayne@69 5882 * of pixels, and coincide with pixel centers. Each window and pixmap has its own
jpayne@69 5883 * coordinate system. For a window, the origin is inside the border at the inside,
jpayne@69 5884 * upper-left corner.
jpayne@69 5885 *
jpayne@69 5886 * The created window is not yet displayed (mapped), call `xcb_map_window` to
jpayne@69 5887 * display it.
jpayne@69 5888 *
jpayne@69 5889 * The created window will initially use the same cursor as its parent.
jpayne@69 5890 *
jpayne@69 5891 */
jpayne@69 5892 xcb_void_cookie_t
jpayne@69 5893 xcb_create_window_aux (xcb_connection_t *c,
jpayne@69 5894 uint8_t depth,
jpayne@69 5895 xcb_window_t wid,
jpayne@69 5896 xcb_window_t parent,
jpayne@69 5897 int16_t x,
jpayne@69 5898 int16_t y,
jpayne@69 5899 uint16_t width,
jpayne@69 5900 uint16_t height,
jpayne@69 5901 uint16_t border_width,
jpayne@69 5902 uint16_t _class,
jpayne@69 5903 xcb_visualid_t visual,
jpayne@69 5904 uint32_t value_mask,
jpayne@69 5905 const xcb_create_window_value_list_t *value_list);
jpayne@69 5906
jpayne@69 5907 void *
jpayne@69 5908 xcb_create_window_value_list (const xcb_create_window_request_t *R);
jpayne@69 5909
jpayne@69 5910 int
jpayne@69 5911 xcb_change_window_attributes_value_list_serialize (void **_buffer,
jpayne@69 5912 uint32_t value_mask,
jpayne@69 5913 const xcb_change_window_attributes_value_list_t *_aux);
jpayne@69 5914
jpayne@69 5915 int
jpayne@69 5916 xcb_change_window_attributes_value_list_unpack (const void *_buffer,
jpayne@69 5917 uint32_t value_mask,
jpayne@69 5918 xcb_change_window_attributes_value_list_t *_aux);
jpayne@69 5919
jpayne@69 5920 int
jpayne@69 5921 xcb_change_window_attributes_value_list_sizeof (const void *_buffer,
jpayne@69 5922 uint32_t value_mask);
jpayne@69 5923
jpayne@69 5924 int
jpayne@69 5925 xcb_change_window_attributes_sizeof (const void *_buffer);
jpayne@69 5926
jpayne@69 5927 /**
jpayne@69 5928 * @brief change window attributes
jpayne@69 5929 *
jpayne@69 5930 * @param c The connection
jpayne@69 5931 * @param window The window to change.
jpayne@69 5932 * @param value_mask A bitmask of #xcb_cw_t values.
jpayne@69 5933 * @param value_mask \n
jpayne@69 5934 * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The
jpayne@69 5935 * order has to correspond to the order of possible \a value_mask bits. See the
jpayne@69 5936 * example.
jpayne@69 5937 * @return A cookie
jpayne@69 5938 *
jpayne@69 5939 * Changes the attributes specified by \a value_mask for the specified \a window.
jpayne@69 5940 *
jpayne@69 5941 * This form can be used only if the request will not cause
jpayne@69 5942 * a reply to be generated. Any returned error will be
jpayne@69 5943 * saved for handling by xcb_request_check().
jpayne@69 5944 */
jpayne@69 5945 xcb_void_cookie_t
jpayne@69 5946 xcb_change_window_attributes_checked (xcb_connection_t *c,
jpayne@69 5947 xcb_window_t window,
jpayne@69 5948 uint32_t value_mask,
jpayne@69 5949 const void *value_list);
jpayne@69 5950
jpayne@69 5951 /**
jpayne@69 5952 * @brief change window attributes
jpayne@69 5953 *
jpayne@69 5954 * @param c The connection
jpayne@69 5955 * @param window The window to change.
jpayne@69 5956 * @param value_mask A bitmask of #xcb_cw_t values.
jpayne@69 5957 * @param value_mask \n
jpayne@69 5958 * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The
jpayne@69 5959 * order has to correspond to the order of possible \a value_mask bits. See the
jpayne@69 5960 * example.
jpayne@69 5961 * @return A cookie
jpayne@69 5962 *
jpayne@69 5963 * Changes the attributes specified by \a value_mask for the specified \a window.
jpayne@69 5964 *
jpayne@69 5965 */
jpayne@69 5966 xcb_void_cookie_t
jpayne@69 5967 xcb_change_window_attributes (xcb_connection_t *c,
jpayne@69 5968 xcb_window_t window,
jpayne@69 5969 uint32_t value_mask,
jpayne@69 5970 const void *value_list);
jpayne@69 5971
jpayne@69 5972 /**
jpayne@69 5973 * @brief change window attributes
jpayne@69 5974 *
jpayne@69 5975 * @param c The connection
jpayne@69 5976 * @param window The window to change.
jpayne@69 5977 * @param value_mask A bitmask of #xcb_cw_t values.
jpayne@69 5978 * @param value_mask \n
jpayne@69 5979 * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The
jpayne@69 5980 * order has to correspond to the order of possible \a value_mask bits. See the
jpayne@69 5981 * example.
jpayne@69 5982 * @return A cookie
jpayne@69 5983 *
jpayne@69 5984 * Changes the attributes specified by \a value_mask for the specified \a window.
jpayne@69 5985 *
jpayne@69 5986 * This form can be used only if the request will not cause
jpayne@69 5987 * a reply to be generated. Any returned error will be
jpayne@69 5988 * saved for handling by xcb_request_check().
jpayne@69 5989 */
jpayne@69 5990 xcb_void_cookie_t
jpayne@69 5991 xcb_change_window_attributes_aux_checked (xcb_connection_t *c,
jpayne@69 5992 xcb_window_t window,
jpayne@69 5993 uint32_t value_mask,
jpayne@69 5994 const xcb_change_window_attributes_value_list_t *value_list);
jpayne@69 5995
jpayne@69 5996 /**
jpayne@69 5997 * @brief change window attributes
jpayne@69 5998 *
jpayne@69 5999 * @param c The connection
jpayne@69 6000 * @param window The window to change.
jpayne@69 6001 * @param value_mask A bitmask of #xcb_cw_t values.
jpayne@69 6002 * @param value_mask \n
jpayne@69 6003 * @param value_list Values for each of the attributes specified in the bitmask \a value_mask. The
jpayne@69 6004 * order has to correspond to the order of possible \a value_mask bits. See the
jpayne@69 6005 * example.
jpayne@69 6006 * @return A cookie
jpayne@69 6007 *
jpayne@69 6008 * Changes the attributes specified by \a value_mask for the specified \a window.
jpayne@69 6009 *
jpayne@69 6010 */
jpayne@69 6011 xcb_void_cookie_t
jpayne@69 6012 xcb_change_window_attributes_aux (xcb_connection_t *c,
jpayne@69 6013 xcb_window_t window,
jpayne@69 6014 uint32_t value_mask,
jpayne@69 6015 const xcb_change_window_attributes_value_list_t *value_list);
jpayne@69 6016
jpayne@69 6017 void *
jpayne@69 6018 xcb_change_window_attributes_value_list (const xcb_change_window_attributes_request_t *R);
jpayne@69 6019
jpayne@69 6020 /**
jpayne@69 6021 * @brief Gets window attributes
jpayne@69 6022 *
jpayne@69 6023 * @param c The connection
jpayne@69 6024 * @param window The window to get the attributes from.
jpayne@69 6025 * @return A cookie
jpayne@69 6026 *
jpayne@69 6027 * Gets the current attributes for the specified \a window.
jpayne@69 6028 *
jpayne@69 6029 */
jpayne@69 6030 xcb_get_window_attributes_cookie_t
jpayne@69 6031 xcb_get_window_attributes (xcb_connection_t *c,
jpayne@69 6032 xcb_window_t window);
jpayne@69 6033
jpayne@69 6034 /**
jpayne@69 6035 * @brief Gets window attributes
jpayne@69 6036 *
jpayne@69 6037 * @param c The connection
jpayne@69 6038 * @param window The window to get the attributes from.
jpayne@69 6039 * @return A cookie
jpayne@69 6040 *
jpayne@69 6041 * Gets the current attributes for the specified \a window.
jpayne@69 6042 *
jpayne@69 6043 * This form can be used only if the request will cause
jpayne@69 6044 * a reply to be generated. Any returned error will be
jpayne@69 6045 * placed in the event queue.
jpayne@69 6046 */
jpayne@69 6047 xcb_get_window_attributes_cookie_t
jpayne@69 6048 xcb_get_window_attributes_unchecked (xcb_connection_t *c,
jpayne@69 6049 xcb_window_t window);
jpayne@69 6050
jpayne@69 6051 /**
jpayne@69 6052 * Return the reply
jpayne@69 6053 * @param c The connection
jpayne@69 6054 * @param cookie The cookie
jpayne@69 6055 * @param e The xcb_generic_error_t supplied
jpayne@69 6056 *
jpayne@69 6057 * Returns the reply of the request asked by
jpayne@69 6058 *
jpayne@69 6059 * The parameter @p e supplied to this function must be NULL if
jpayne@69 6060 * xcb_get_window_attributes_unchecked(). is used.
jpayne@69 6061 * Otherwise, it stores the error if any.
jpayne@69 6062 *
jpayne@69 6063 * The returned value must be freed by the caller using free().
jpayne@69 6064 */
jpayne@69 6065 xcb_get_window_attributes_reply_t *
jpayne@69 6066 xcb_get_window_attributes_reply (xcb_connection_t *c,
jpayne@69 6067 xcb_get_window_attributes_cookie_t cookie /**< */,
jpayne@69 6068 xcb_generic_error_t **e);
jpayne@69 6069
jpayne@69 6070 /**
jpayne@69 6071 * @brief Destroys a window
jpayne@69 6072 *
jpayne@69 6073 * @param c The connection
jpayne@69 6074 * @param window The window to destroy.
jpayne@69 6075 * @return A cookie
jpayne@69 6076 *
jpayne@69 6077 * Destroys the specified window and all of its subwindows. A DestroyNotify event
jpayne@69 6078 * is generated for each destroyed window (a DestroyNotify event is first generated
jpayne@69 6079 * for any given window's inferiors). If the window was mapped, it will be
jpayne@69 6080 * automatically unmapped before destroying.
jpayne@69 6081 *
jpayne@69 6082 * Calling DestroyWindow on the root window will do nothing.
jpayne@69 6083 *
jpayne@69 6084 * This form can be used only if the request will not cause
jpayne@69 6085 * a reply to be generated. Any returned error will be
jpayne@69 6086 * saved for handling by xcb_request_check().
jpayne@69 6087 */
jpayne@69 6088 xcb_void_cookie_t
jpayne@69 6089 xcb_destroy_window_checked (xcb_connection_t *c,
jpayne@69 6090 xcb_window_t window);
jpayne@69 6091
jpayne@69 6092 /**
jpayne@69 6093 * @brief Destroys a window
jpayne@69 6094 *
jpayne@69 6095 * @param c The connection
jpayne@69 6096 * @param window The window to destroy.
jpayne@69 6097 * @return A cookie
jpayne@69 6098 *
jpayne@69 6099 * Destroys the specified window and all of its subwindows. A DestroyNotify event
jpayne@69 6100 * is generated for each destroyed window (a DestroyNotify event is first generated
jpayne@69 6101 * for any given window's inferiors). If the window was mapped, it will be
jpayne@69 6102 * automatically unmapped before destroying.
jpayne@69 6103 *
jpayne@69 6104 * Calling DestroyWindow on the root window will do nothing.
jpayne@69 6105 *
jpayne@69 6106 */
jpayne@69 6107 xcb_void_cookie_t
jpayne@69 6108 xcb_destroy_window (xcb_connection_t *c,
jpayne@69 6109 xcb_window_t window);
jpayne@69 6110
jpayne@69 6111 /**
jpayne@69 6112 *
jpayne@69 6113 * @param c The connection
jpayne@69 6114 * @return A cookie
jpayne@69 6115 *
jpayne@69 6116 * Delivers a request to the X server.
jpayne@69 6117 *
jpayne@69 6118 * This form can be used only if the request will not cause
jpayne@69 6119 * a reply to be generated. Any returned error will be
jpayne@69 6120 * saved for handling by xcb_request_check().
jpayne@69 6121 */
jpayne@69 6122 xcb_void_cookie_t
jpayne@69 6123 xcb_destroy_subwindows_checked (xcb_connection_t *c,
jpayne@69 6124 xcb_window_t window);
jpayne@69 6125
jpayne@69 6126 /**
jpayne@69 6127 *
jpayne@69 6128 * @param c The connection
jpayne@69 6129 * @return A cookie
jpayne@69 6130 *
jpayne@69 6131 * Delivers a request to the X server.
jpayne@69 6132 *
jpayne@69 6133 */
jpayne@69 6134 xcb_void_cookie_t
jpayne@69 6135 xcb_destroy_subwindows (xcb_connection_t *c,
jpayne@69 6136 xcb_window_t window);
jpayne@69 6137
jpayne@69 6138 /**
jpayne@69 6139 * @brief Changes a client's save set
jpayne@69 6140 *
jpayne@69 6141 * @param c The connection
jpayne@69 6142 * @param mode A bitmask of #xcb_set_mode_t values.
jpayne@69 6143 * @param mode Insert to add the specified window to the save set or Delete to delete it from the save set.
jpayne@69 6144 * @param window The window to add or delete to/from your save set.
jpayne@69 6145 * @return A cookie
jpayne@69 6146 *
jpayne@69 6147 * TODO: explain what the save set is for.
jpayne@69 6148 *
jpayne@69 6149 * This function either adds or removes the specified window to the client's (your
jpayne@69 6150 * application's) save set.
jpayne@69 6151 *
jpayne@69 6152 * This form can be used only if the request will not cause
jpayne@69 6153 * a reply to be generated. Any returned error will be
jpayne@69 6154 * saved for handling by xcb_request_check().
jpayne@69 6155 */
jpayne@69 6156 xcb_void_cookie_t
jpayne@69 6157 xcb_change_save_set_checked (xcb_connection_t *c,
jpayne@69 6158 uint8_t mode,
jpayne@69 6159 xcb_window_t window);
jpayne@69 6160
jpayne@69 6161 /**
jpayne@69 6162 * @brief Changes a client's save set
jpayne@69 6163 *
jpayne@69 6164 * @param c The connection
jpayne@69 6165 * @param mode A bitmask of #xcb_set_mode_t values.
jpayne@69 6166 * @param mode Insert to add the specified window to the save set or Delete to delete it from the save set.
jpayne@69 6167 * @param window The window to add or delete to/from your save set.
jpayne@69 6168 * @return A cookie
jpayne@69 6169 *
jpayne@69 6170 * TODO: explain what the save set is for.
jpayne@69 6171 *
jpayne@69 6172 * This function either adds or removes the specified window to the client's (your
jpayne@69 6173 * application's) save set.
jpayne@69 6174 *
jpayne@69 6175 */
jpayne@69 6176 xcb_void_cookie_t
jpayne@69 6177 xcb_change_save_set (xcb_connection_t *c,
jpayne@69 6178 uint8_t mode,
jpayne@69 6179 xcb_window_t window);
jpayne@69 6180
jpayne@69 6181 /**
jpayne@69 6182 * @brief Reparents a window
jpayne@69 6183 *
jpayne@69 6184 * @param c The connection
jpayne@69 6185 * @param window The window to reparent.
jpayne@69 6186 * @param parent The new parent of the window.
jpayne@69 6187 * @param x The X position of the window within its new parent.
jpayne@69 6188 * @param y The Y position of the window within its new parent.
jpayne@69 6189 * @return A cookie
jpayne@69 6190 *
jpayne@69 6191 * Makes the specified window a child of the specified parent window. If the
jpayne@69 6192 * window is mapped, it will automatically be unmapped before reparenting and
jpayne@69 6193 * re-mapped after reparenting. The window is placed in the stacking order on top
jpayne@69 6194 * with respect to sibling windows.
jpayne@69 6195 *
jpayne@69 6196 * After reparenting, a ReparentNotify event is generated.
jpayne@69 6197 *
jpayne@69 6198 * This form can be used only if the request will not cause
jpayne@69 6199 * a reply to be generated. Any returned error will be
jpayne@69 6200 * saved for handling by xcb_request_check().
jpayne@69 6201 */
jpayne@69 6202 xcb_void_cookie_t
jpayne@69 6203 xcb_reparent_window_checked (xcb_connection_t *c,
jpayne@69 6204 xcb_window_t window,
jpayne@69 6205 xcb_window_t parent,
jpayne@69 6206 int16_t x,
jpayne@69 6207 int16_t y);
jpayne@69 6208
jpayne@69 6209 /**
jpayne@69 6210 * @brief Reparents a window
jpayne@69 6211 *
jpayne@69 6212 * @param c The connection
jpayne@69 6213 * @param window The window to reparent.
jpayne@69 6214 * @param parent The new parent of the window.
jpayne@69 6215 * @param x The X position of the window within its new parent.
jpayne@69 6216 * @param y The Y position of the window within its new parent.
jpayne@69 6217 * @return A cookie
jpayne@69 6218 *
jpayne@69 6219 * Makes the specified window a child of the specified parent window. If the
jpayne@69 6220 * window is mapped, it will automatically be unmapped before reparenting and
jpayne@69 6221 * re-mapped after reparenting. The window is placed in the stacking order on top
jpayne@69 6222 * with respect to sibling windows.
jpayne@69 6223 *
jpayne@69 6224 * After reparenting, a ReparentNotify event is generated.
jpayne@69 6225 *
jpayne@69 6226 */
jpayne@69 6227 xcb_void_cookie_t
jpayne@69 6228 xcb_reparent_window (xcb_connection_t *c,
jpayne@69 6229 xcb_window_t window,
jpayne@69 6230 xcb_window_t parent,
jpayne@69 6231 int16_t x,
jpayne@69 6232 int16_t y);
jpayne@69 6233
jpayne@69 6234 /**
jpayne@69 6235 * @brief Makes a window visible
jpayne@69 6236 *
jpayne@69 6237 * @param c The connection
jpayne@69 6238 * @param window The window to make visible.
jpayne@69 6239 * @return A cookie
jpayne@69 6240 *
jpayne@69 6241 * Maps the specified window. This means making the window visible (as long as its
jpayne@69 6242 * parent is visible).
jpayne@69 6243 *
jpayne@69 6244 * This MapWindow request will be translated to a MapRequest request if a window
jpayne@69 6245 * manager is running. The window manager then decides to either map the window or
jpayne@69 6246 * not. Set the override-redirect window attribute to true if you want to bypass
jpayne@69 6247 * this mechanism.
jpayne@69 6248 *
jpayne@69 6249 * If the window manager decides to map the window (or if no window manager is
jpayne@69 6250 * running), a MapNotify event is generated.
jpayne@69 6251 *
jpayne@69 6252 * If the window becomes viewable and no earlier contents for it are remembered,
jpayne@69 6253 * the X server tiles the window with its background. If the window's background
jpayne@69 6254 * is undefined, the existing screen contents are not altered, and the X server
jpayne@69 6255 * generates zero or more Expose events.
jpayne@69 6256 *
jpayne@69 6257 * If the window type is InputOutput, an Expose event will be generated when the
jpayne@69 6258 * window becomes visible. The normal response to an Expose event should be to
jpayne@69 6259 * repaint the window.
jpayne@69 6260 *
jpayne@69 6261 * This form can be used only if the request will not cause
jpayne@69 6262 * a reply to be generated. Any returned error will be
jpayne@69 6263 * saved for handling by xcb_request_check().
jpayne@69 6264 */
jpayne@69 6265 xcb_void_cookie_t
jpayne@69 6266 xcb_map_window_checked (xcb_connection_t *c,
jpayne@69 6267 xcb_window_t window);
jpayne@69 6268
jpayne@69 6269 /**
jpayne@69 6270 * @brief Makes a window visible
jpayne@69 6271 *
jpayne@69 6272 * @param c The connection
jpayne@69 6273 * @param window The window to make visible.
jpayne@69 6274 * @return A cookie
jpayne@69 6275 *
jpayne@69 6276 * Maps the specified window. This means making the window visible (as long as its
jpayne@69 6277 * parent is visible).
jpayne@69 6278 *
jpayne@69 6279 * This MapWindow request will be translated to a MapRequest request if a window
jpayne@69 6280 * manager is running. The window manager then decides to either map the window or
jpayne@69 6281 * not. Set the override-redirect window attribute to true if you want to bypass
jpayne@69 6282 * this mechanism.
jpayne@69 6283 *
jpayne@69 6284 * If the window manager decides to map the window (or if no window manager is
jpayne@69 6285 * running), a MapNotify event is generated.
jpayne@69 6286 *
jpayne@69 6287 * If the window becomes viewable and no earlier contents for it are remembered,
jpayne@69 6288 * the X server tiles the window with its background. If the window's background
jpayne@69 6289 * is undefined, the existing screen contents are not altered, and the X server
jpayne@69 6290 * generates zero or more Expose events.
jpayne@69 6291 *
jpayne@69 6292 * If the window type is InputOutput, an Expose event will be generated when the
jpayne@69 6293 * window becomes visible. The normal response to an Expose event should be to
jpayne@69 6294 * repaint the window.
jpayne@69 6295 *
jpayne@69 6296 */
jpayne@69 6297 xcb_void_cookie_t
jpayne@69 6298 xcb_map_window (xcb_connection_t *c,
jpayne@69 6299 xcb_window_t window);
jpayne@69 6300
jpayne@69 6301 /**
jpayne@69 6302 *
jpayne@69 6303 * @param c The connection
jpayne@69 6304 * @return A cookie
jpayne@69 6305 *
jpayne@69 6306 * Delivers a request to the X server.
jpayne@69 6307 *
jpayne@69 6308 * This form can be used only if the request will not cause
jpayne@69 6309 * a reply to be generated. Any returned error will be
jpayne@69 6310 * saved for handling by xcb_request_check().
jpayne@69 6311 */
jpayne@69 6312 xcb_void_cookie_t
jpayne@69 6313 xcb_map_subwindows_checked (xcb_connection_t *c,
jpayne@69 6314 xcb_window_t window);
jpayne@69 6315
jpayne@69 6316 /**
jpayne@69 6317 *
jpayne@69 6318 * @param c The connection
jpayne@69 6319 * @return A cookie
jpayne@69 6320 *
jpayne@69 6321 * Delivers a request to the X server.
jpayne@69 6322 *
jpayne@69 6323 */
jpayne@69 6324 xcb_void_cookie_t
jpayne@69 6325 xcb_map_subwindows (xcb_connection_t *c,
jpayne@69 6326 xcb_window_t window);
jpayne@69 6327
jpayne@69 6328 /**
jpayne@69 6329 * @brief Makes a window invisible
jpayne@69 6330 *
jpayne@69 6331 * @param c The connection
jpayne@69 6332 * @param window The window to make invisible.
jpayne@69 6333 * @return A cookie
jpayne@69 6334 *
jpayne@69 6335 * Unmaps the specified window. This means making the window invisible (and all
jpayne@69 6336 * its child windows).
jpayne@69 6337 *
jpayne@69 6338 * Unmapping a window leads to the `UnmapNotify` event being generated. Also,
jpayne@69 6339 * `Expose` events are generated for formerly obscured windows.
jpayne@69 6340 *
jpayne@69 6341 * This form can be used only if the request will not cause
jpayne@69 6342 * a reply to be generated. Any returned error will be
jpayne@69 6343 * saved for handling by xcb_request_check().
jpayne@69 6344 */
jpayne@69 6345 xcb_void_cookie_t
jpayne@69 6346 xcb_unmap_window_checked (xcb_connection_t *c,
jpayne@69 6347 xcb_window_t window);
jpayne@69 6348
jpayne@69 6349 /**
jpayne@69 6350 * @brief Makes a window invisible
jpayne@69 6351 *
jpayne@69 6352 * @param c The connection
jpayne@69 6353 * @param window The window to make invisible.
jpayne@69 6354 * @return A cookie
jpayne@69 6355 *
jpayne@69 6356 * Unmaps the specified window. This means making the window invisible (and all
jpayne@69 6357 * its child windows).
jpayne@69 6358 *
jpayne@69 6359 * Unmapping a window leads to the `UnmapNotify` event being generated. Also,
jpayne@69 6360 * `Expose` events are generated for formerly obscured windows.
jpayne@69 6361 *
jpayne@69 6362 */
jpayne@69 6363 xcb_void_cookie_t
jpayne@69 6364 xcb_unmap_window (xcb_connection_t *c,
jpayne@69 6365 xcb_window_t window);
jpayne@69 6366
jpayne@69 6367 /**
jpayne@69 6368 *
jpayne@69 6369 * @param c The connection
jpayne@69 6370 * @return A cookie
jpayne@69 6371 *
jpayne@69 6372 * Delivers a request to the X server.
jpayne@69 6373 *
jpayne@69 6374 * This form can be used only if the request will not cause
jpayne@69 6375 * a reply to be generated. Any returned error will be
jpayne@69 6376 * saved for handling by xcb_request_check().
jpayne@69 6377 */
jpayne@69 6378 xcb_void_cookie_t
jpayne@69 6379 xcb_unmap_subwindows_checked (xcb_connection_t *c,
jpayne@69 6380 xcb_window_t window);
jpayne@69 6381
jpayne@69 6382 /**
jpayne@69 6383 *
jpayne@69 6384 * @param c The connection
jpayne@69 6385 * @return A cookie
jpayne@69 6386 *
jpayne@69 6387 * Delivers a request to the X server.
jpayne@69 6388 *
jpayne@69 6389 */
jpayne@69 6390 xcb_void_cookie_t
jpayne@69 6391 xcb_unmap_subwindows (xcb_connection_t *c,
jpayne@69 6392 xcb_window_t window);
jpayne@69 6393
jpayne@69 6394 int
jpayne@69 6395 xcb_configure_window_value_list_serialize (void **_buffer,
jpayne@69 6396 uint16_t value_mask,
jpayne@69 6397 const xcb_configure_window_value_list_t *_aux);
jpayne@69 6398
jpayne@69 6399 int
jpayne@69 6400 xcb_configure_window_value_list_unpack (const void *_buffer,
jpayne@69 6401 uint16_t value_mask,
jpayne@69 6402 xcb_configure_window_value_list_t *_aux);
jpayne@69 6403
jpayne@69 6404 int
jpayne@69 6405 xcb_configure_window_value_list_sizeof (const void *_buffer,
jpayne@69 6406 uint16_t value_mask);
jpayne@69 6407
jpayne@69 6408 int
jpayne@69 6409 xcb_configure_window_sizeof (const void *_buffer);
jpayne@69 6410
jpayne@69 6411 /**
jpayne@69 6412 * @brief Configures window attributes
jpayne@69 6413 *
jpayne@69 6414 * @param c The connection
jpayne@69 6415 * @param window The window to configure.
jpayne@69 6416 * @param value_mask Bitmask of attributes to change.
jpayne@69 6417 * @param value_list New values, corresponding to the attributes in value_mask. The order has to
jpayne@69 6418 * correspond to the order of possible \a value_mask bits. See the example.
jpayne@69 6419 * @return A cookie
jpayne@69 6420 *
jpayne@69 6421 * Configures a window's size, position, border width and stacking order.
jpayne@69 6422 *
jpayne@69 6423 * This form can be used only if the request will not cause
jpayne@69 6424 * a reply to be generated. Any returned error will be
jpayne@69 6425 * saved for handling by xcb_request_check().
jpayne@69 6426 */
jpayne@69 6427 xcb_void_cookie_t
jpayne@69 6428 xcb_configure_window_checked (xcb_connection_t *c,
jpayne@69 6429 xcb_window_t window,
jpayne@69 6430 uint16_t value_mask,
jpayne@69 6431 const void *value_list);
jpayne@69 6432
jpayne@69 6433 /**
jpayne@69 6434 * @brief Configures window attributes
jpayne@69 6435 *
jpayne@69 6436 * @param c The connection
jpayne@69 6437 * @param window The window to configure.
jpayne@69 6438 * @param value_mask Bitmask of attributes to change.
jpayne@69 6439 * @param value_list New values, corresponding to the attributes in value_mask. The order has to
jpayne@69 6440 * correspond to the order of possible \a value_mask bits. See the example.
jpayne@69 6441 * @return A cookie
jpayne@69 6442 *
jpayne@69 6443 * Configures a window's size, position, border width and stacking order.
jpayne@69 6444 *
jpayne@69 6445 */
jpayne@69 6446 xcb_void_cookie_t
jpayne@69 6447 xcb_configure_window (xcb_connection_t *c,
jpayne@69 6448 xcb_window_t window,
jpayne@69 6449 uint16_t value_mask,
jpayne@69 6450 const void *value_list);
jpayne@69 6451
jpayne@69 6452 /**
jpayne@69 6453 * @brief Configures window attributes
jpayne@69 6454 *
jpayne@69 6455 * @param c The connection
jpayne@69 6456 * @param window The window to configure.
jpayne@69 6457 * @param value_mask Bitmask of attributes to change.
jpayne@69 6458 * @param value_list New values, corresponding to the attributes in value_mask. The order has to
jpayne@69 6459 * correspond to the order of possible \a value_mask bits. See the example.
jpayne@69 6460 * @return A cookie
jpayne@69 6461 *
jpayne@69 6462 * Configures a window's size, position, border width and stacking order.
jpayne@69 6463 *
jpayne@69 6464 * This form can be used only if the request will not cause
jpayne@69 6465 * a reply to be generated. Any returned error will be
jpayne@69 6466 * saved for handling by xcb_request_check().
jpayne@69 6467 */
jpayne@69 6468 xcb_void_cookie_t
jpayne@69 6469 xcb_configure_window_aux_checked (xcb_connection_t *c,
jpayne@69 6470 xcb_window_t window,
jpayne@69 6471 uint16_t value_mask,
jpayne@69 6472 const xcb_configure_window_value_list_t *value_list);
jpayne@69 6473
jpayne@69 6474 /**
jpayne@69 6475 * @brief Configures window attributes
jpayne@69 6476 *
jpayne@69 6477 * @param c The connection
jpayne@69 6478 * @param window The window to configure.
jpayne@69 6479 * @param value_mask Bitmask of attributes to change.
jpayne@69 6480 * @param value_list New values, corresponding to the attributes in value_mask. The order has to
jpayne@69 6481 * correspond to the order of possible \a value_mask bits. See the example.
jpayne@69 6482 * @return A cookie
jpayne@69 6483 *
jpayne@69 6484 * Configures a window's size, position, border width and stacking order.
jpayne@69 6485 *
jpayne@69 6486 */
jpayne@69 6487 xcb_void_cookie_t
jpayne@69 6488 xcb_configure_window_aux (xcb_connection_t *c,
jpayne@69 6489 xcb_window_t window,
jpayne@69 6490 uint16_t value_mask,
jpayne@69 6491 const xcb_configure_window_value_list_t *value_list);
jpayne@69 6492
jpayne@69 6493 void *
jpayne@69 6494 xcb_configure_window_value_list (const xcb_configure_window_request_t *R);
jpayne@69 6495
jpayne@69 6496 /**
jpayne@69 6497 * @brief Change window stacking order
jpayne@69 6498 *
jpayne@69 6499 * @param c The connection
jpayne@69 6500 * @param direction A bitmask of #xcb_circulate_t values.
jpayne@69 6501 * @param direction \n
jpayne@69 6502 * @param window The window to raise/lower (depending on \a direction).
jpayne@69 6503 * @return A cookie
jpayne@69 6504 *
jpayne@69 6505 * If \a direction is `XCB_CIRCULATE_RAISE_LOWEST`, the lowest mapped child (if
jpayne@69 6506 * any) will be raised to the top of the stack.
jpayne@69 6507 *
jpayne@69 6508 * If \a direction is `XCB_CIRCULATE_LOWER_HIGHEST`, the highest mapped child will
jpayne@69 6509 * be lowered to the bottom of the stack.
jpayne@69 6510 *
jpayne@69 6511 * This form can be used only if the request will not cause
jpayne@69 6512 * a reply to be generated. Any returned error will be
jpayne@69 6513 * saved for handling by xcb_request_check().
jpayne@69 6514 */
jpayne@69 6515 xcb_void_cookie_t
jpayne@69 6516 xcb_circulate_window_checked (xcb_connection_t *c,
jpayne@69 6517 uint8_t direction,
jpayne@69 6518 xcb_window_t window);
jpayne@69 6519
jpayne@69 6520 /**
jpayne@69 6521 * @brief Change window stacking order
jpayne@69 6522 *
jpayne@69 6523 * @param c The connection
jpayne@69 6524 * @param direction A bitmask of #xcb_circulate_t values.
jpayne@69 6525 * @param direction \n
jpayne@69 6526 * @param window The window to raise/lower (depending on \a direction).
jpayne@69 6527 * @return A cookie
jpayne@69 6528 *
jpayne@69 6529 * If \a direction is `XCB_CIRCULATE_RAISE_LOWEST`, the lowest mapped child (if
jpayne@69 6530 * any) will be raised to the top of the stack.
jpayne@69 6531 *
jpayne@69 6532 * If \a direction is `XCB_CIRCULATE_LOWER_HIGHEST`, the highest mapped child will
jpayne@69 6533 * be lowered to the bottom of the stack.
jpayne@69 6534 *
jpayne@69 6535 */
jpayne@69 6536 xcb_void_cookie_t
jpayne@69 6537 xcb_circulate_window (xcb_connection_t *c,
jpayne@69 6538 uint8_t direction,
jpayne@69 6539 xcb_window_t window);
jpayne@69 6540
jpayne@69 6541 /**
jpayne@69 6542 * @brief Get current window geometry
jpayne@69 6543 *
jpayne@69 6544 * @param c The connection
jpayne@69 6545 * @param drawable The drawable (`Window` or `Pixmap`) of which the geometry will be received.
jpayne@69 6546 * @return A cookie
jpayne@69 6547 *
jpayne@69 6548 * Gets the current geometry of the specified drawable (either `Window` or `Pixmap`).
jpayne@69 6549 *
jpayne@69 6550 */
jpayne@69 6551 xcb_get_geometry_cookie_t
jpayne@69 6552 xcb_get_geometry (xcb_connection_t *c,
jpayne@69 6553 xcb_drawable_t drawable);
jpayne@69 6554
jpayne@69 6555 /**
jpayne@69 6556 * @brief Get current window geometry
jpayne@69 6557 *
jpayne@69 6558 * @param c The connection
jpayne@69 6559 * @param drawable The drawable (`Window` or `Pixmap`) of which the geometry will be received.
jpayne@69 6560 * @return A cookie
jpayne@69 6561 *
jpayne@69 6562 * Gets the current geometry of the specified drawable (either `Window` or `Pixmap`).
jpayne@69 6563 *
jpayne@69 6564 * This form can be used only if the request will cause
jpayne@69 6565 * a reply to be generated. Any returned error will be
jpayne@69 6566 * placed in the event queue.
jpayne@69 6567 */
jpayne@69 6568 xcb_get_geometry_cookie_t
jpayne@69 6569 xcb_get_geometry_unchecked (xcb_connection_t *c,
jpayne@69 6570 xcb_drawable_t drawable);
jpayne@69 6571
jpayne@69 6572 /**
jpayne@69 6573 * Return the reply
jpayne@69 6574 * @param c The connection
jpayne@69 6575 * @param cookie The cookie
jpayne@69 6576 * @param e The xcb_generic_error_t supplied
jpayne@69 6577 *
jpayne@69 6578 * Returns the reply of the request asked by
jpayne@69 6579 *
jpayne@69 6580 * The parameter @p e supplied to this function must be NULL if
jpayne@69 6581 * xcb_get_geometry_unchecked(). is used.
jpayne@69 6582 * Otherwise, it stores the error if any.
jpayne@69 6583 *
jpayne@69 6584 * The returned value must be freed by the caller using free().
jpayne@69 6585 */
jpayne@69 6586 xcb_get_geometry_reply_t *
jpayne@69 6587 xcb_get_geometry_reply (xcb_connection_t *c,
jpayne@69 6588 xcb_get_geometry_cookie_t cookie /**< */,
jpayne@69 6589 xcb_generic_error_t **e);
jpayne@69 6590
jpayne@69 6591 int
jpayne@69 6592 xcb_query_tree_sizeof (const void *_buffer);
jpayne@69 6593
jpayne@69 6594 /**
jpayne@69 6595 * @brief query the window tree
jpayne@69 6596 *
jpayne@69 6597 * @param c The connection
jpayne@69 6598 * @param window The \a window to query.
jpayne@69 6599 * @return A cookie
jpayne@69 6600 *
jpayne@69 6601 * Gets the root window ID, parent window ID and list of children windows for the
jpayne@69 6602 * specified \a window. The children are listed in bottom-to-top stacking order.
jpayne@69 6603 *
jpayne@69 6604 */
jpayne@69 6605 xcb_query_tree_cookie_t
jpayne@69 6606 xcb_query_tree (xcb_connection_t *c,
jpayne@69 6607 xcb_window_t window);
jpayne@69 6608
jpayne@69 6609 /**
jpayne@69 6610 * @brief query the window tree
jpayne@69 6611 *
jpayne@69 6612 * @param c The connection
jpayne@69 6613 * @param window The \a window to query.
jpayne@69 6614 * @return A cookie
jpayne@69 6615 *
jpayne@69 6616 * Gets the root window ID, parent window ID and list of children windows for the
jpayne@69 6617 * specified \a window. The children are listed in bottom-to-top stacking order.
jpayne@69 6618 *
jpayne@69 6619 * This form can be used only if the request will cause
jpayne@69 6620 * a reply to be generated. Any returned error will be
jpayne@69 6621 * placed in the event queue.
jpayne@69 6622 */
jpayne@69 6623 xcb_query_tree_cookie_t
jpayne@69 6624 xcb_query_tree_unchecked (xcb_connection_t *c,
jpayne@69 6625 xcb_window_t window);
jpayne@69 6626
jpayne@69 6627 xcb_window_t *
jpayne@69 6628 xcb_query_tree_children (const xcb_query_tree_reply_t *R);
jpayne@69 6629
jpayne@69 6630 int
jpayne@69 6631 xcb_query_tree_children_length (const xcb_query_tree_reply_t *R);
jpayne@69 6632
jpayne@69 6633 xcb_generic_iterator_t
jpayne@69 6634 xcb_query_tree_children_end (const xcb_query_tree_reply_t *R);
jpayne@69 6635
jpayne@69 6636 /**
jpayne@69 6637 * Return the reply
jpayne@69 6638 * @param c The connection
jpayne@69 6639 * @param cookie The cookie
jpayne@69 6640 * @param e The xcb_generic_error_t supplied
jpayne@69 6641 *
jpayne@69 6642 * Returns the reply of the request asked by
jpayne@69 6643 *
jpayne@69 6644 * The parameter @p e supplied to this function must be NULL if
jpayne@69 6645 * xcb_query_tree_unchecked(). is used.
jpayne@69 6646 * Otherwise, it stores the error if any.
jpayne@69 6647 *
jpayne@69 6648 * The returned value must be freed by the caller using free().
jpayne@69 6649 */
jpayne@69 6650 xcb_query_tree_reply_t *
jpayne@69 6651 xcb_query_tree_reply (xcb_connection_t *c,
jpayne@69 6652 xcb_query_tree_cookie_t cookie /**< */,
jpayne@69 6653 xcb_generic_error_t **e);
jpayne@69 6654
jpayne@69 6655 int
jpayne@69 6656 xcb_intern_atom_sizeof (const void *_buffer);
jpayne@69 6657
jpayne@69 6658 /**
jpayne@69 6659 * @brief Get atom identifier by name
jpayne@69 6660 *
jpayne@69 6661 * @param c The connection
jpayne@69 6662 * @param only_if_exists Return a valid atom id only if the atom already exists.
jpayne@69 6663 * @param name_len The length of the following \a name.
jpayne@69 6664 * @param name The name of the atom.
jpayne@69 6665 * @return A cookie
jpayne@69 6666 *
jpayne@69 6667 * Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified
jpayne@69 6668 * name. Atoms are used in protocols like EWMH, for example to store window titles
jpayne@69 6669 * (`_NET_WM_NAME` atom) as property of a window.
jpayne@69 6670 *
jpayne@69 6671 * If \a only_if_exists is 0, the atom will be created if it does not already exist.
jpayne@69 6672 * If \a only_if_exists is 1, `XCB_ATOM_NONE` will be returned if the atom does
jpayne@69 6673 * not yet exist.
jpayne@69 6674 *
jpayne@69 6675 */
jpayne@69 6676 xcb_intern_atom_cookie_t
jpayne@69 6677 xcb_intern_atom (xcb_connection_t *c,
jpayne@69 6678 uint8_t only_if_exists,
jpayne@69 6679 uint16_t name_len,
jpayne@69 6680 const char *name);
jpayne@69 6681
jpayne@69 6682 /**
jpayne@69 6683 * @brief Get atom identifier by name
jpayne@69 6684 *
jpayne@69 6685 * @param c The connection
jpayne@69 6686 * @param only_if_exists Return a valid atom id only if the atom already exists.
jpayne@69 6687 * @param name_len The length of the following \a name.
jpayne@69 6688 * @param name The name of the atom.
jpayne@69 6689 * @return A cookie
jpayne@69 6690 *
jpayne@69 6691 * Retrieves the identifier (xcb_atom_t TODO) for the atom with the specified
jpayne@69 6692 * name. Atoms are used in protocols like EWMH, for example to store window titles
jpayne@69 6693 * (`_NET_WM_NAME` atom) as property of a window.
jpayne@69 6694 *
jpayne@69 6695 * If \a only_if_exists is 0, the atom will be created if it does not already exist.
jpayne@69 6696 * If \a only_if_exists is 1, `XCB_ATOM_NONE` will be returned if the atom does
jpayne@69 6697 * not yet exist.
jpayne@69 6698 *
jpayne@69 6699 * This form can be used only if the request will cause
jpayne@69 6700 * a reply to be generated. Any returned error will be
jpayne@69 6701 * placed in the event queue.
jpayne@69 6702 */
jpayne@69 6703 xcb_intern_atom_cookie_t
jpayne@69 6704 xcb_intern_atom_unchecked (xcb_connection_t *c,
jpayne@69 6705 uint8_t only_if_exists,
jpayne@69 6706 uint16_t name_len,
jpayne@69 6707 const char *name);
jpayne@69 6708
jpayne@69 6709 /**
jpayne@69 6710 * Return the reply
jpayne@69 6711 * @param c The connection
jpayne@69 6712 * @param cookie The cookie
jpayne@69 6713 * @param e The xcb_generic_error_t supplied
jpayne@69 6714 *
jpayne@69 6715 * Returns the reply of the request asked by
jpayne@69 6716 *
jpayne@69 6717 * The parameter @p e supplied to this function must be NULL if
jpayne@69 6718 * xcb_intern_atom_unchecked(). is used.
jpayne@69 6719 * Otherwise, it stores the error if any.
jpayne@69 6720 *
jpayne@69 6721 * The returned value must be freed by the caller using free().
jpayne@69 6722 */
jpayne@69 6723 xcb_intern_atom_reply_t *
jpayne@69 6724 xcb_intern_atom_reply (xcb_connection_t *c,
jpayne@69 6725 xcb_intern_atom_cookie_t cookie /**< */,
jpayne@69 6726 xcb_generic_error_t **e);
jpayne@69 6727
jpayne@69 6728 int
jpayne@69 6729 xcb_get_atom_name_sizeof (const void *_buffer);
jpayne@69 6730
jpayne@69 6731 /**
jpayne@69 6732 *
jpayne@69 6733 * @param c The connection
jpayne@69 6734 * @return A cookie
jpayne@69 6735 *
jpayne@69 6736 * Delivers a request to the X server.
jpayne@69 6737 *
jpayne@69 6738 */
jpayne@69 6739 xcb_get_atom_name_cookie_t
jpayne@69 6740 xcb_get_atom_name (xcb_connection_t *c,
jpayne@69 6741 xcb_atom_t atom);
jpayne@69 6742
jpayne@69 6743 /**
jpayne@69 6744 *
jpayne@69 6745 * @param c The connection
jpayne@69 6746 * @return A cookie
jpayne@69 6747 *
jpayne@69 6748 * Delivers a request to the X server.
jpayne@69 6749 *
jpayne@69 6750 * This form can be used only if the request will cause
jpayne@69 6751 * a reply to be generated. Any returned error will be
jpayne@69 6752 * placed in the event queue.
jpayne@69 6753 */
jpayne@69 6754 xcb_get_atom_name_cookie_t
jpayne@69 6755 xcb_get_atom_name_unchecked (xcb_connection_t *c,
jpayne@69 6756 xcb_atom_t atom);
jpayne@69 6757
jpayne@69 6758 char *
jpayne@69 6759 xcb_get_atom_name_name (const xcb_get_atom_name_reply_t *R);
jpayne@69 6760
jpayne@69 6761 int
jpayne@69 6762 xcb_get_atom_name_name_length (const xcb_get_atom_name_reply_t *R);
jpayne@69 6763
jpayne@69 6764 xcb_generic_iterator_t
jpayne@69 6765 xcb_get_atom_name_name_end (const xcb_get_atom_name_reply_t *R);
jpayne@69 6766
jpayne@69 6767 /**
jpayne@69 6768 * Return the reply
jpayne@69 6769 * @param c The connection
jpayne@69 6770 * @param cookie The cookie
jpayne@69 6771 * @param e The xcb_generic_error_t supplied
jpayne@69 6772 *
jpayne@69 6773 * Returns the reply of the request asked by
jpayne@69 6774 *
jpayne@69 6775 * The parameter @p e supplied to this function must be NULL if
jpayne@69 6776 * xcb_get_atom_name_unchecked(). is used.
jpayne@69 6777 * Otherwise, it stores the error if any.
jpayne@69 6778 *
jpayne@69 6779 * The returned value must be freed by the caller using free().
jpayne@69 6780 */
jpayne@69 6781 xcb_get_atom_name_reply_t *
jpayne@69 6782 xcb_get_atom_name_reply (xcb_connection_t *c,
jpayne@69 6783 xcb_get_atom_name_cookie_t cookie /**< */,
jpayne@69 6784 xcb_generic_error_t **e);
jpayne@69 6785
jpayne@69 6786 int
jpayne@69 6787 xcb_change_property_sizeof (const void *_buffer);
jpayne@69 6788
jpayne@69 6789 /**
jpayne@69 6790 * @brief Changes a window property
jpayne@69 6791 *
jpayne@69 6792 * @param c The connection
jpayne@69 6793 * @param mode A bitmask of #xcb_prop_mode_t values.
jpayne@69 6794 * @param mode \n
jpayne@69 6795 * @param window The window whose property you want to change.
jpayne@69 6796 * @param property The property you want to change (an atom).
jpayne@69 6797 * @param type The type of the property you want to change (an atom).
jpayne@69 6798 * @param format Specifies whether the data should be viewed as a list of 8-bit, 16-bit or
jpayne@69 6799 * 32-bit quantities. Possible values are 8, 16 and 32. This information allows
jpayne@69 6800 * the X server to correctly perform byte-swap operations as necessary.
jpayne@69 6801 * @param data_len Specifies the number of elements (see \a format).
jpayne@69 6802 * @param data The property data.
jpayne@69 6803 * @return A cookie
jpayne@69 6804 *
jpayne@69 6805 * Sets or updates a property on the specified \a window. Properties are for
jpayne@69 6806 * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
jpayne@69 6807 * Protocols such as EWMH also use properties - for example EWMH defines the
jpayne@69 6808 * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
jpayne@69 6809 *
jpayne@69 6810 * This form can be used only if the request will not cause
jpayne@69 6811 * a reply to be generated. Any returned error will be
jpayne@69 6812 * saved for handling by xcb_request_check().
jpayne@69 6813 */
jpayne@69 6814 xcb_void_cookie_t
jpayne@69 6815 xcb_change_property_checked (xcb_connection_t *c,
jpayne@69 6816 uint8_t mode,
jpayne@69 6817 xcb_window_t window,
jpayne@69 6818 xcb_atom_t property,
jpayne@69 6819 xcb_atom_t type,
jpayne@69 6820 uint8_t format,
jpayne@69 6821 uint32_t data_len,
jpayne@69 6822 const void *data);
jpayne@69 6823
jpayne@69 6824 /**
jpayne@69 6825 * @brief Changes a window property
jpayne@69 6826 *
jpayne@69 6827 * @param c The connection
jpayne@69 6828 * @param mode A bitmask of #xcb_prop_mode_t values.
jpayne@69 6829 * @param mode \n
jpayne@69 6830 * @param window The window whose property you want to change.
jpayne@69 6831 * @param property The property you want to change (an atom).
jpayne@69 6832 * @param type The type of the property you want to change (an atom).
jpayne@69 6833 * @param format Specifies whether the data should be viewed as a list of 8-bit, 16-bit or
jpayne@69 6834 * 32-bit quantities. Possible values are 8, 16 and 32. This information allows
jpayne@69 6835 * the X server to correctly perform byte-swap operations as necessary.
jpayne@69 6836 * @param data_len Specifies the number of elements (see \a format).
jpayne@69 6837 * @param data The property data.
jpayne@69 6838 * @return A cookie
jpayne@69 6839 *
jpayne@69 6840 * Sets or updates a property on the specified \a window. Properties are for
jpayne@69 6841 * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
jpayne@69 6842 * Protocols such as EWMH also use properties - for example EWMH defines the
jpayne@69 6843 * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
jpayne@69 6844 *
jpayne@69 6845 */
jpayne@69 6846 xcb_void_cookie_t
jpayne@69 6847 xcb_change_property (xcb_connection_t *c,
jpayne@69 6848 uint8_t mode,
jpayne@69 6849 xcb_window_t window,
jpayne@69 6850 xcb_atom_t property,
jpayne@69 6851 xcb_atom_t type,
jpayne@69 6852 uint8_t format,
jpayne@69 6853 uint32_t data_len,
jpayne@69 6854 const void *data);
jpayne@69 6855
jpayne@69 6856 void *
jpayne@69 6857 xcb_change_property_data (const xcb_change_property_request_t *R);
jpayne@69 6858
jpayne@69 6859 int
jpayne@69 6860 xcb_change_property_data_length (const xcb_change_property_request_t *R);
jpayne@69 6861
jpayne@69 6862 xcb_generic_iterator_t
jpayne@69 6863 xcb_change_property_data_end (const xcb_change_property_request_t *R);
jpayne@69 6864
jpayne@69 6865 /**
jpayne@69 6866 *
jpayne@69 6867 * @param c The connection
jpayne@69 6868 * @return A cookie
jpayne@69 6869 *
jpayne@69 6870 * Delivers a request to the X server.
jpayne@69 6871 *
jpayne@69 6872 * This form can be used only if the request will not cause
jpayne@69 6873 * a reply to be generated. Any returned error will be
jpayne@69 6874 * saved for handling by xcb_request_check().
jpayne@69 6875 */
jpayne@69 6876 xcb_void_cookie_t
jpayne@69 6877 xcb_delete_property_checked (xcb_connection_t *c,
jpayne@69 6878 xcb_window_t window,
jpayne@69 6879 xcb_atom_t property);
jpayne@69 6880
jpayne@69 6881 /**
jpayne@69 6882 *
jpayne@69 6883 * @param c The connection
jpayne@69 6884 * @return A cookie
jpayne@69 6885 *
jpayne@69 6886 * Delivers a request to the X server.
jpayne@69 6887 *
jpayne@69 6888 */
jpayne@69 6889 xcb_void_cookie_t
jpayne@69 6890 xcb_delete_property (xcb_connection_t *c,
jpayne@69 6891 xcb_window_t window,
jpayne@69 6892 xcb_atom_t property);
jpayne@69 6893
jpayne@69 6894 int
jpayne@69 6895 xcb_get_property_sizeof (const void *_buffer);
jpayne@69 6896
jpayne@69 6897 /**
jpayne@69 6898 * @brief Gets a window property
jpayne@69 6899 *
jpayne@69 6900 * @param c The connection
jpayne@69 6901 * @param _delete Whether the property should actually be deleted. For deleting a property, the
jpayne@69 6902 * specified \a type has to match the actual property type.
jpayne@69 6903 * @param window The window whose property you want to get.
jpayne@69 6904 * @param property The property you want to get (an atom).
jpayne@69 6905 * @param type The type of the property you want to get (an atom).
jpayne@69 6906 * @param long_offset Specifies the offset (in 32-bit multiples) in the specified property where the
jpayne@69 6907 * data is to be retrieved.
jpayne@69 6908 * @param long_length Specifies how many 32-bit multiples of data should be retrieved (e.g. if you
jpayne@69 6909 * set \a long_length to 4, you will receive 16 bytes of data).
jpayne@69 6910 * @return A cookie
jpayne@69 6911 *
jpayne@69 6912 * Gets the specified \a property from the specified \a window. Properties are for
jpayne@69 6913 * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
jpayne@69 6914 * Protocols such as EWMH also use properties - for example EWMH defines the
jpayne@69 6915 * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
jpayne@69 6916 *
jpayne@69 6917 * TODO: talk about \a type
jpayne@69 6918 *
jpayne@69 6919 * TODO: talk about `delete`
jpayne@69 6920 *
jpayne@69 6921 * TODO: talk about the offset/length thing. what's a valid use case?
jpayne@69 6922 *
jpayne@69 6923 */
jpayne@69 6924 xcb_get_property_cookie_t
jpayne@69 6925 xcb_get_property (xcb_connection_t *c,
jpayne@69 6926 uint8_t _delete,
jpayne@69 6927 xcb_window_t window,
jpayne@69 6928 xcb_atom_t property,
jpayne@69 6929 xcb_atom_t type,
jpayne@69 6930 uint32_t long_offset,
jpayne@69 6931 uint32_t long_length);
jpayne@69 6932
jpayne@69 6933 /**
jpayne@69 6934 * @brief Gets a window property
jpayne@69 6935 *
jpayne@69 6936 * @param c The connection
jpayne@69 6937 * @param _delete Whether the property should actually be deleted. For deleting a property, the
jpayne@69 6938 * specified \a type has to match the actual property type.
jpayne@69 6939 * @param window The window whose property you want to get.
jpayne@69 6940 * @param property The property you want to get (an atom).
jpayne@69 6941 * @param type The type of the property you want to get (an atom).
jpayne@69 6942 * @param long_offset Specifies the offset (in 32-bit multiples) in the specified property where the
jpayne@69 6943 * data is to be retrieved.
jpayne@69 6944 * @param long_length Specifies how many 32-bit multiples of data should be retrieved (e.g. if you
jpayne@69 6945 * set \a long_length to 4, you will receive 16 bytes of data).
jpayne@69 6946 * @return A cookie
jpayne@69 6947 *
jpayne@69 6948 * Gets the specified \a property from the specified \a window. Properties are for
jpayne@69 6949 * example the window title (`WM_NAME`) or its minimum size (`WM_NORMAL_HINTS`).
jpayne@69 6950 * Protocols such as EWMH also use properties - for example EWMH defines the
jpayne@69 6951 * window title, encoded as UTF-8 string, in the `_NET_WM_NAME` property.
jpayne@69 6952 *
jpayne@69 6953 * TODO: talk about \a type
jpayne@69 6954 *
jpayne@69 6955 * TODO: talk about `delete`
jpayne@69 6956 *
jpayne@69 6957 * TODO: talk about the offset/length thing. what's a valid use case?
jpayne@69 6958 *
jpayne@69 6959 * This form can be used only if the request will cause
jpayne@69 6960 * a reply to be generated. Any returned error will be
jpayne@69 6961 * placed in the event queue.
jpayne@69 6962 */
jpayne@69 6963 xcb_get_property_cookie_t
jpayne@69 6964 xcb_get_property_unchecked (xcb_connection_t *c,
jpayne@69 6965 uint8_t _delete,
jpayne@69 6966 xcb_window_t window,
jpayne@69 6967 xcb_atom_t property,
jpayne@69 6968 xcb_atom_t type,
jpayne@69 6969 uint32_t long_offset,
jpayne@69 6970 uint32_t long_length);
jpayne@69 6971
jpayne@69 6972 void *
jpayne@69 6973 xcb_get_property_value (const xcb_get_property_reply_t *R);
jpayne@69 6974
jpayne@69 6975 int
jpayne@69 6976 xcb_get_property_value_length (const xcb_get_property_reply_t *R);
jpayne@69 6977
jpayne@69 6978 xcb_generic_iterator_t
jpayne@69 6979 xcb_get_property_value_end (const xcb_get_property_reply_t *R);
jpayne@69 6980
jpayne@69 6981 /**
jpayne@69 6982 * Return the reply
jpayne@69 6983 * @param c The connection
jpayne@69 6984 * @param cookie The cookie
jpayne@69 6985 * @param e The xcb_generic_error_t supplied
jpayne@69 6986 *
jpayne@69 6987 * Returns the reply of the request asked by
jpayne@69 6988 *
jpayne@69 6989 * The parameter @p e supplied to this function must be NULL if
jpayne@69 6990 * xcb_get_property_unchecked(). is used.
jpayne@69 6991 * Otherwise, it stores the error if any.
jpayne@69 6992 *
jpayne@69 6993 * The returned value must be freed by the caller using free().
jpayne@69 6994 */
jpayne@69 6995 xcb_get_property_reply_t *
jpayne@69 6996 xcb_get_property_reply (xcb_connection_t *c,
jpayne@69 6997 xcb_get_property_cookie_t cookie /**< */,
jpayne@69 6998 xcb_generic_error_t **e);
jpayne@69 6999
jpayne@69 7000 int
jpayne@69 7001 xcb_list_properties_sizeof (const void *_buffer);
jpayne@69 7002
jpayne@69 7003 /**
jpayne@69 7004 *
jpayne@69 7005 * @param c The connection
jpayne@69 7006 * @return A cookie
jpayne@69 7007 *
jpayne@69 7008 * Delivers a request to the X server.
jpayne@69 7009 *
jpayne@69 7010 */
jpayne@69 7011 xcb_list_properties_cookie_t
jpayne@69 7012 xcb_list_properties (xcb_connection_t *c,
jpayne@69 7013 xcb_window_t window);
jpayne@69 7014
jpayne@69 7015 /**
jpayne@69 7016 *
jpayne@69 7017 * @param c The connection
jpayne@69 7018 * @return A cookie
jpayne@69 7019 *
jpayne@69 7020 * Delivers a request to the X server.
jpayne@69 7021 *
jpayne@69 7022 * This form can be used only if the request will cause
jpayne@69 7023 * a reply to be generated. Any returned error will be
jpayne@69 7024 * placed in the event queue.
jpayne@69 7025 */
jpayne@69 7026 xcb_list_properties_cookie_t
jpayne@69 7027 xcb_list_properties_unchecked (xcb_connection_t *c,
jpayne@69 7028 xcb_window_t window);
jpayne@69 7029
jpayne@69 7030 xcb_atom_t *
jpayne@69 7031 xcb_list_properties_atoms (const xcb_list_properties_reply_t *R);
jpayne@69 7032
jpayne@69 7033 int
jpayne@69 7034 xcb_list_properties_atoms_length (const xcb_list_properties_reply_t *R);
jpayne@69 7035
jpayne@69 7036 xcb_generic_iterator_t
jpayne@69 7037 xcb_list_properties_atoms_end (const xcb_list_properties_reply_t *R);
jpayne@69 7038
jpayne@69 7039 /**
jpayne@69 7040 * Return the reply
jpayne@69 7041 * @param c The connection
jpayne@69 7042 * @param cookie The cookie
jpayne@69 7043 * @param e The xcb_generic_error_t supplied
jpayne@69 7044 *
jpayne@69 7045 * Returns the reply of the request asked by
jpayne@69 7046 *
jpayne@69 7047 * The parameter @p e supplied to this function must be NULL if
jpayne@69 7048 * xcb_list_properties_unchecked(). is used.
jpayne@69 7049 * Otherwise, it stores the error if any.
jpayne@69 7050 *
jpayne@69 7051 * The returned value must be freed by the caller using free().
jpayne@69 7052 */
jpayne@69 7053 xcb_list_properties_reply_t *
jpayne@69 7054 xcb_list_properties_reply (xcb_connection_t *c,
jpayne@69 7055 xcb_list_properties_cookie_t cookie /**< */,
jpayne@69 7056 xcb_generic_error_t **e);
jpayne@69 7057
jpayne@69 7058 /**
jpayne@69 7059 * @brief Sets the owner of a selection
jpayne@69 7060 *
jpayne@69 7061 * @param c The connection
jpayne@69 7062 * @param owner The new owner of the selection.
jpayne@69 7063 * \n
jpayne@69 7064 * The special value `XCB_NONE` means that the selection will have no owner.
jpayne@69 7065 * @param selection The selection.
jpayne@69 7066 * @param time Timestamp to avoid race conditions when running X over the network.
jpayne@69 7067 * \n
jpayne@69 7068 * The selection will not be changed if \a time is earlier than the current
jpayne@69 7069 * last-change time of the \a selection or is later than the current X server time.
jpayne@69 7070 * Otherwise, the last-change time is set to the specified time.
jpayne@69 7071 * \n
jpayne@69 7072 * The special value `XCB_CURRENT_TIME` will be replaced with the current server
jpayne@69 7073 * time.
jpayne@69 7074 * @return A cookie
jpayne@69 7075 *
jpayne@69 7076 * Makes `window` the owner of the selection \a selection and updates the
jpayne@69 7077 * last-change time of the specified selection.
jpayne@69 7078 *
jpayne@69 7079 * TODO: briefly explain what a selection is.
jpayne@69 7080 *
jpayne@69 7081 * This form can be used only if the request will not cause
jpayne@69 7082 * a reply to be generated. Any returned error will be
jpayne@69 7083 * saved for handling by xcb_request_check().
jpayne@69 7084 */
jpayne@69 7085 xcb_void_cookie_t
jpayne@69 7086 xcb_set_selection_owner_checked (xcb_connection_t *c,
jpayne@69 7087 xcb_window_t owner,
jpayne@69 7088 xcb_atom_t selection,
jpayne@69 7089 xcb_timestamp_t time);
jpayne@69 7090
jpayne@69 7091 /**
jpayne@69 7092 * @brief Sets the owner of a selection
jpayne@69 7093 *
jpayne@69 7094 * @param c The connection
jpayne@69 7095 * @param owner The new owner of the selection.
jpayne@69 7096 * \n
jpayne@69 7097 * The special value `XCB_NONE` means that the selection will have no owner.
jpayne@69 7098 * @param selection The selection.
jpayne@69 7099 * @param time Timestamp to avoid race conditions when running X over the network.
jpayne@69 7100 * \n
jpayne@69 7101 * The selection will not be changed if \a time is earlier than the current
jpayne@69 7102 * last-change time of the \a selection or is later than the current X server time.
jpayne@69 7103 * Otherwise, the last-change time is set to the specified time.
jpayne@69 7104 * \n
jpayne@69 7105 * The special value `XCB_CURRENT_TIME` will be replaced with the current server
jpayne@69 7106 * time.
jpayne@69 7107 * @return A cookie
jpayne@69 7108 *
jpayne@69 7109 * Makes `window` the owner of the selection \a selection and updates the
jpayne@69 7110 * last-change time of the specified selection.
jpayne@69 7111 *
jpayne@69 7112 * TODO: briefly explain what a selection is.
jpayne@69 7113 *
jpayne@69 7114 */
jpayne@69 7115 xcb_void_cookie_t
jpayne@69 7116 xcb_set_selection_owner (xcb_connection_t *c,
jpayne@69 7117 xcb_window_t owner,
jpayne@69 7118 xcb_atom_t selection,
jpayne@69 7119 xcb_timestamp_t time);
jpayne@69 7120
jpayne@69 7121 /**
jpayne@69 7122 * @brief Gets the owner of a selection
jpayne@69 7123 *
jpayne@69 7124 * @param c The connection
jpayne@69 7125 * @param selection The selection.
jpayne@69 7126 * @return A cookie
jpayne@69 7127 *
jpayne@69 7128 * Gets the owner of the specified selection.
jpayne@69 7129 *
jpayne@69 7130 * TODO: briefly explain what a selection is.
jpayne@69 7131 *
jpayne@69 7132 */
jpayne@69 7133 xcb_get_selection_owner_cookie_t
jpayne@69 7134 xcb_get_selection_owner (xcb_connection_t *c,
jpayne@69 7135 xcb_atom_t selection);
jpayne@69 7136
jpayne@69 7137 /**
jpayne@69 7138 * @brief Gets the owner of a selection
jpayne@69 7139 *
jpayne@69 7140 * @param c The connection
jpayne@69 7141 * @param selection The selection.
jpayne@69 7142 * @return A cookie
jpayne@69 7143 *
jpayne@69 7144 * Gets the owner of the specified selection.
jpayne@69 7145 *
jpayne@69 7146 * TODO: briefly explain what a selection is.
jpayne@69 7147 *
jpayne@69 7148 * This form can be used only if the request will cause
jpayne@69 7149 * a reply to be generated. Any returned error will be
jpayne@69 7150 * placed in the event queue.
jpayne@69 7151 */
jpayne@69 7152 xcb_get_selection_owner_cookie_t
jpayne@69 7153 xcb_get_selection_owner_unchecked (xcb_connection_t *c,
jpayne@69 7154 xcb_atom_t selection);
jpayne@69 7155
jpayne@69 7156 /**
jpayne@69 7157 * Return the reply
jpayne@69 7158 * @param c The connection
jpayne@69 7159 * @param cookie The cookie
jpayne@69 7160 * @param e The xcb_generic_error_t supplied
jpayne@69 7161 *
jpayne@69 7162 * Returns the reply of the request asked by
jpayne@69 7163 *
jpayne@69 7164 * The parameter @p e supplied to this function must be NULL if
jpayne@69 7165 * xcb_get_selection_owner_unchecked(). is used.
jpayne@69 7166 * Otherwise, it stores the error if any.
jpayne@69 7167 *
jpayne@69 7168 * The returned value must be freed by the caller using free().
jpayne@69 7169 */
jpayne@69 7170 xcb_get_selection_owner_reply_t *
jpayne@69 7171 xcb_get_selection_owner_reply (xcb_connection_t *c,
jpayne@69 7172 xcb_get_selection_owner_cookie_t cookie /**< */,
jpayne@69 7173 xcb_generic_error_t **e);
jpayne@69 7174
jpayne@69 7175 /**
jpayne@69 7176 *
jpayne@69 7177 * @param c The connection
jpayne@69 7178 * @return A cookie
jpayne@69 7179 *
jpayne@69 7180 * Delivers a request to the X server.
jpayne@69 7181 *
jpayne@69 7182 * This form can be used only if the request will not cause
jpayne@69 7183 * a reply to be generated. Any returned error will be
jpayne@69 7184 * saved for handling by xcb_request_check().
jpayne@69 7185 */
jpayne@69 7186 xcb_void_cookie_t
jpayne@69 7187 xcb_convert_selection_checked (xcb_connection_t *c,
jpayne@69 7188 xcb_window_t requestor,
jpayne@69 7189 xcb_atom_t selection,
jpayne@69 7190 xcb_atom_t target,
jpayne@69 7191 xcb_atom_t property,
jpayne@69 7192 xcb_timestamp_t time);
jpayne@69 7193
jpayne@69 7194 /**
jpayne@69 7195 *
jpayne@69 7196 * @param c The connection
jpayne@69 7197 * @return A cookie
jpayne@69 7198 *
jpayne@69 7199 * Delivers a request to the X server.
jpayne@69 7200 *
jpayne@69 7201 */
jpayne@69 7202 xcb_void_cookie_t
jpayne@69 7203 xcb_convert_selection (xcb_connection_t *c,
jpayne@69 7204 xcb_window_t requestor,
jpayne@69 7205 xcb_atom_t selection,
jpayne@69 7206 xcb_atom_t target,
jpayne@69 7207 xcb_atom_t property,
jpayne@69 7208 xcb_timestamp_t time);
jpayne@69 7209
jpayne@69 7210 /**
jpayne@69 7211 * @brief send an event
jpayne@69 7212 *
jpayne@69 7213 * @param c The connection
jpayne@69 7214 * @param propagate If \a propagate is true and no clients have selected any event on \a destination,
jpayne@69 7215 * the destination is replaced with the closest ancestor of \a destination for
jpayne@69 7216 * which some client has selected a type in \a event_mask and for which no
jpayne@69 7217 * intervening window has that type in its do-not-propagate-mask. If no such
jpayne@69 7218 * window exists or if the window is an ancestor of the focus window and
jpayne@69 7219 * `InputFocus` was originally specified as the destination, the event is not sent
jpayne@69 7220 * to any clients. Otherwise, the event is reported to every client selecting on
jpayne@69 7221 * the final destination any of the types specified in \a event_mask.
jpayne@69 7222 * @param destination The window to send this event to. Every client which selects any event within
jpayne@69 7223 * \a event_mask on \a destination will get the event.
jpayne@69 7224 * \n
jpayne@69 7225 * The special value `XCB_SEND_EVENT_DEST_POINTER_WINDOW` refers to the window
jpayne@69 7226 * that contains the mouse pointer.
jpayne@69 7227 * \n
jpayne@69 7228 * The special value `XCB_SEND_EVENT_DEST_ITEM_FOCUS` refers to the window which
jpayne@69 7229 * has the keyboard focus.
jpayne@69 7230 * @param event_mask Event_mask for determining which clients should receive the specified event.
jpayne@69 7231 * See \a destination and \a propagate.
jpayne@69 7232 * @param event The event to send to the specified \a destination.
jpayne@69 7233 * @return A cookie
jpayne@69 7234 *
jpayne@69 7235 * Identifies the \a destination window, determines which clients should receive
jpayne@69 7236 * the specified event and ignores any active grabs.
jpayne@69 7237 *
jpayne@69 7238 * The \a event must be one of the core events or an event defined by an extension,
jpayne@69 7239 * so that the X server can correctly byte-swap the contents as necessary. The
jpayne@69 7240 * contents of \a event are otherwise unaltered and unchecked except for the
jpayne@69 7241 * `send_event` field which is forced to 'true'.
jpayne@69 7242 *
jpayne@69 7243 * This form can be used only if the request will not cause
jpayne@69 7244 * a reply to be generated. Any returned error will be
jpayne@69 7245 * saved for handling by xcb_request_check().
jpayne@69 7246 */
jpayne@69 7247 xcb_void_cookie_t
jpayne@69 7248 xcb_send_event_checked (xcb_connection_t *c,
jpayne@69 7249 uint8_t propagate,
jpayne@69 7250 xcb_window_t destination,
jpayne@69 7251 uint32_t event_mask,
jpayne@69 7252 const char *event);
jpayne@69 7253
jpayne@69 7254 /**
jpayne@69 7255 * @brief send an event
jpayne@69 7256 *
jpayne@69 7257 * @param c The connection
jpayne@69 7258 * @param propagate If \a propagate is true and no clients have selected any event on \a destination,
jpayne@69 7259 * the destination is replaced with the closest ancestor of \a destination for
jpayne@69 7260 * which some client has selected a type in \a event_mask and for which no
jpayne@69 7261 * intervening window has that type in its do-not-propagate-mask. If no such
jpayne@69 7262 * window exists or if the window is an ancestor of the focus window and
jpayne@69 7263 * `InputFocus` was originally specified as the destination, the event is not sent
jpayne@69 7264 * to any clients. Otherwise, the event is reported to every client selecting on
jpayne@69 7265 * the final destination any of the types specified in \a event_mask.
jpayne@69 7266 * @param destination The window to send this event to. Every client which selects any event within
jpayne@69 7267 * \a event_mask on \a destination will get the event.
jpayne@69 7268 * \n
jpayne@69 7269 * The special value `XCB_SEND_EVENT_DEST_POINTER_WINDOW` refers to the window
jpayne@69 7270 * that contains the mouse pointer.
jpayne@69 7271 * \n
jpayne@69 7272 * The special value `XCB_SEND_EVENT_DEST_ITEM_FOCUS` refers to the window which
jpayne@69 7273 * has the keyboard focus.
jpayne@69 7274 * @param event_mask Event_mask for determining which clients should receive the specified event.
jpayne@69 7275 * See \a destination and \a propagate.
jpayne@69 7276 * @param event The event to send to the specified \a destination.
jpayne@69 7277 * @return A cookie
jpayne@69 7278 *
jpayne@69 7279 * Identifies the \a destination window, determines which clients should receive
jpayne@69 7280 * the specified event and ignores any active grabs.
jpayne@69 7281 *
jpayne@69 7282 * The \a event must be one of the core events or an event defined by an extension,
jpayne@69 7283 * so that the X server can correctly byte-swap the contents as necessary. The
jpayne@69 7284 * contents of \a event are otherwise unaltered and unchecked except for the
jpayne@69 7285 * `send_event` field which is forced to 'true'.
jpayne@69 7286 *
jpayne@69 7287 */
jpayne@69 7288 xcb_void_cookie_t
jpayne@69 7289 xcb_send_event (xcb_connection_t *c,
jpayne@69 7290 uint8_t propagate,
jpayne@69 7291 xcb_window_t destination,
jpayne@69 7292 uint32_t event_mask,
jpayne@69 7293 const char *event);
jpayne@69 7294
jpayne@69 7295 /**
jpayne@69 7296 * @brief Grab the pointer
jpayne@69 7297 *
jpayne@69 7298 * @param c The connection
jpayne@69 7299 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
jpayne@69 7300 * reported to the \a grab_window.
jpayne@69 7301 * @param grab_window Specifies the window on which the pointer should be grabbed.
jpayne@69 7302 * @param event_mask Specifies which pointer events are reported to the client.
jpayne@69 7303 * \n
jpayne@69 7304 * TODO: which values?
jpayne@69 7305 * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7306 * @param pointer_mode \n
jpayne@69 7307 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7308 * @param keyboard_mode \n
jpayne@69 7309 * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
jpayne@69 7310 * move the pointer out of that window).
jpayne@69 7311 * \n
jpayne@69 7312 * The special value `XCB_NONE` means don't confine the pointer.
jpayne@69 7313 * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
jpayne@69 7314 * cursor.
jpayne@69 7315 * @param time The time argument allows you to avoid certain circumstances that come up if
jpayne@69 7316 * applications take a long time to respond or if there are long network delays.
jpayne@69 7317 * Consider a situation where you have two applications, both of which normally
jpayne@69 7318 * grab the pointer when clicked on. If both applications specify the timestamp
jpayne@69 7319 * from the event, the second application may wake up faster and successfully grab
jpayne@69 7320 * the pointer before the first application. The first application then will get
jpayne@69 7321 * an indication that the other application grabbed the pointer before its request
jpayne@69 7322 * was processed.
jpayne@69 7323 * \n
jpayne@69 7324 * The special value `XCB_CURRENT_TIME` will be replaced with the current server
jpayne@69 7325 * time.
jpayne@69 7326 * @return A cookie
jpayne@69 7327 *
jpayne@69 7328 * Actively grabs control of the pointer. Further pointer events are reported only to the grabbing client. Overrides any active pointer grab by this client.
jpayne@69 7329 *
jpayne@69 7330 */
jpayne@69 7331 xcb_grab_pointer_cookie_t
jpayne@69 7332 xcb_grab_pointer (xcb_connection_t *c,
jpayne@69 7333 uint8_t owner_events,
jpayne@69 7334 xcb_window_t grab_window,
jpayne@69 7335 uint16_t event_mask,
jpayne@69 7336 uint8_t pointer_mode,
jpayne@69 7337 uint8_t keyboard_mode,
jpayne@69 7338 xcb_window_t confine_to,
jpayne@69 7339 xcb_cursor_t cursor,
jpayne@69 7340 xcb_timestamp_t time);
jpayne@69 7341
jpayne@69 7342 /**
jpayne@69 7343 * @brief Grab the pointer
jpayne@69 7344 *
jpayne@69 7345 * @param c The connection
jpayne@69 7346 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
jpayne@69 7347 * reported to the \a grab_window.
jpayne@69 7348 * @param grab_window Specifies the window on which the pointer should be grabbed.
jpayne@69 7349 * @param event_mask Specifies which pointer events are reported to the client.
jpayne@69 7350 * \n
jpayne@69 7351 * TODO: which values?
jpayne@69 7352 * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7353 * @param pointer_mode \n
jpayne@69 7354 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7355 * @param keyboard_mode \n
jpayne@69 7356 * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
jpayne@69 7357 * move the pointer out of that window).
jpayne@69 7358 * \n
jpayne@69 7359 * The special value `XCB_NONE` means don't confine the pointer.
jpayne@69 7360 * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
jpayne@69 7361 * cursor.
jpayne@69 7362 * @param time The time argument allows you to avoid certain circumstances that come up if
jpayne@69 7363 * applications take a long time to respond or if there are long network delays.
jpayne@69 7364 * Consider a situation where you have two applications, both of which normally
jpayne@69 7365 * grab the pointer when clicked on. If both applications specify the timestamp
jpayne@69 7366 * from the event, the second application may wake up faster and successfully grab
jpayne@69 7367 * the pointer before the first application. The first application then will get
jpayne@69 7368 * an indication that the other application grabbed the pointer before its request
jpayne@69 7369 * was processed.
jpayne@69 7370 * \n
jpayne@69 7371 * The special value `XCB_CURRENT_TIME` will be replaced with the current server
jpayne@69 7372 * time.
jpayne@69 7373 * @return A cookie
jpayne@69 7374 *
jpayne@69 7375 * Actively grabs control of the pointer. Further pointer events are reported only to the grabbing client. Overrides any active pointer grab by this client.
jpayne@69 7376 *
jpayne@69 7377 * This form can be used only if the request will cause
jpayne@69 7378 * a reply to be generated. Any returned error will be
jpayne@69 7379 * placed in the event queue.
jpayne@69 7380 */
jpayne@69 7381 xcb_grab_pointer_cookie_t
jpayne@69 7382 xcb_grab_pointer_unchecked (xcb_connection_t *c,
jpayne@69 7383 uint8_t owner_events,
jpayne@69 7384 xcb_window_t grab_window,
jpayne@69 7385 uint16_t event_mask,
jpayne@69 7386 uint8_t pointer_mode,
jpayne@69 7387 uint8_t keyboard_mode,
jpayne@69 7388 xcb_window_t confine_to,
jpayne@69 7389 xcb_cursor_t cursor,
jpayne@69 7390 xcb_timestamp_t time);
jpayne@69 7391
jpayne@69 7392 /**
jpayne@69 7393 * Return the reply
jpayne@69 7394 * @param c The connection
jpayne@69 7395 * @param cookie The cookie
jpayne@69 7396 * @param e The xcb_generic_error_t supplied
jpayne@69 7397 *
jpayne@69 7398 * Returns the reply of the request asked by
jpayne@69 7399 *
jpayne@69 7400 * The parameter @p e supplied to this function must be NULL if
jpayne@69 7401 * xcb_grab_pointer_unchecked(). is used.
jpayne@69 7402 * Otherwise, it stores the error if any.
jpayne@69 7403 *
jpayne@69 7404 * The returned value must be freed by the caller using free().
jpayne@69 7405 */
jpayne@69 7406 xcb_grab_pointer_reply_t *
jpayne@69 7407 xcb_grab_pointer_reply (xcb_connection_t *c,
jpayne@69 7408 xcb_grab_pointer_cookie_t cookie /**< */,
jpayne@69 7409 xcb_generic_error_t **e);
jpayne@69 7410
jpayne@69 7411 /**
jpayne@69 7412 * @brief release the pointer
jpayne@69 7413 *
jpayne@69 7414 * @param c The connection
jpayne@69 7415 * @param time Timestamp to avoid race conditions when running X over the network.
jpayne@69 7416 * \n
jpayne@69 7417 * The pointer will not be released if \a time is earlier than the
jpayne@69 7418 * last-pointer-grab time or later than the current X server time.
jpayne@69 7419 * @return A cookie
jpayne@69 7420 *
jpayne@69 7421 * Releases the pointer and any queued events if you actively grabbed the pointer
jpayne@69 7422 * before using `xcb_grab_pointer`, `xcb_grab_button` or within a normal button
jpayne@69 7423 * press.
jpayne@69 7424 *
jpayne@69 7425 * EnterNotify and LeaveNotify events are generated.
jpayne@69 7426 *
jpayne@69 7427 * This form can be used only if the request will not cause
jpayne@69 7428 * a reply to be generated. Any returned error will be
jpayne@69 7429 * saved for handling by xcb_request_check().
jpayne@69 7430 */
jpayne@69 7431 xcb_void_cookie_t
jpayne@69 7432 xcb_ungrab_pointer_checked (xcb_connection_t *c,
jpayne@69 7433 xcb_timestamp_t time);
jpayne@69 7434
jpayne@69 7435 /**
jpayne@69 7436 * @brief release the pointer
jpayne@69 7437 *
jpayne@69 7438 * @param c The connection
jpayne@69 7439 * @param time Timestamp to avoid race conditions when running X over the network.
jpayne@69 7440 * \n
jpayne@69 7441 * The pointer will not be released if \a time is earlier than the
jpayne@69 7442 * last-pointer-grab time or later than the current X server time.
jpayne@69 7443 * @return A cookie
jpayne@69 7444 *
jpayne@69 7445 * Releases the pointer and any queued events if you actively grabbed the pointer
jpayne@69 7446 * before using `xcb_grab_pointer`, `xcb_grab_button` or within a normal button
jpayne@69 7447 * press.
jpayne@69 7448 *
jpayne@69 7449 * EnterNotify and LeaveNotify events are generated.
jpayne@69 7450 *
jpayne@69 7451 */
jpayne@69 7452 xcb_void_cookie_t
jpayne@69 7453 xcb_ungrab_pointer (xcb_connection_t *c,
jpayne@69 7454 xcb_timestamp_t time);
jpayne@69 7455
jpayne@69 7456 /**
jpayne@69 7457 * @brief Grab pointer button(s)
jpayne@69 7458 *
jpayne@69 7459 * @param c The connection
jpayne@69 7460 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
jpayne@69 7461 * reported to the \a grab_window.
jpayne@69 7462 * @param grab_window Specifies the window on which the pointer should be grabbed.
jpayne@69 7463 * @param event_mask Specifies which pointer events are reported to the client.
jpayne@69 7464 * \n
jpayne@69 7465 * TODO: which values?
jpayne@69 7466 * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7467 * @param pointer_mode \n
jpayne@69 7468 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7469 * @param keyboard_mode \n
jpayne@69 7470 * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
jpayne@69 7471 * move the pointer out of that window).
jpayne@69 7472 * \n
jpayne@69 7473 * The special value `XCB_NONE` means don't confine the pointer.
jpayne@69 7474 * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
jpayne@69 7475 * cursor.
jpayne@69 7476 * @param button A bitmask of #xcb_button_index_t values.
jpayne@69 7477 * @param button \n
jpayne@69 7478 * @param modifiers The modifiers to grab.
jpayne@69 7479 * \n
jpayne@69 7480 * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
jpayne@69 7481 * possible modifier combinations.
jpayne@69 7482 * @return A cookie
jpayne@69 7483 *
jpayne@69 7484 * This request establishes a passive grab. The pointer is actively grabbed as
jpayne@69 7485 * described in GrabPointer, the last-pointer-grab time is set to the time at
jpayne@69 7486 * which the button was pressed (as transmitted in the ButtonPress event), and the
jpayne@69 7487 * ButtonPress event is reported if all of the following conditions are true:
jpayne@69 7488 *
jpayne@69 7489 * The pointer is not grabbed and the specified button is logically pressed when
jpayne@69 7490 * the specified modifier keys are logically down, and no other buttons or
jpayne@69 7491 * modifier keys are logically down.
jpayne@69 7492 *
jpayne@69 7493 * The grab-window contains the pointer.
jpayne@69 7494 *
jpayne@69 7495 * The confine-to window (if any) is viewable.
jpayne@69 7496 *
jpayne@69 7497 * A passive grab on the same button/key combination does not exist on any
jpayne@69 7498 * ancestor of grab-window.
jpayne@69 7499 *
jpayne@69 7500 * The interpretation of the remaining arguments is the same as for GrabPointer.
jpayne@69 7501 * The active grab is terminated automatically when the logical state of the
jpayne@69 7502 * pointer has all buttons released, independent of the logical state of modifier
jpayne@69 7503 * keys. Note that the logical state of a device (as seen by means of the
jpayne@69 7504 * protocol) may lag the physical state if device event processing is frozen. This
jpayne@69 7505 * request overrides all previous passive grabs by the same client on the same
jpayne@69 7506 * button/key combinations on the same window. A modifier of AnyModifier is
jpayne@69 7507 * equivalent to issuing the request for all possible modifier combinations
jpayne@69 7508 * (including the combination of no modifiers). It is not required that all
jpayne@69 7509 * specified modifiers have currently assigned keycodes. A button of AnyButton is
jpayne@69 7510 * equivalent to issuing the request for all possible buttons. Otherwise, it is
jpayne@69 7511 * not required that the button specified currently be assigned to a physical
jpayne@69 7512 * button.
jpayne@69 7513 *
jpayne@69 7514 * An Access error is generated if some other client has already issued a
jpayne@69 7515 * GrabButton request with the same button/key combination on the same window.
jpayne@69 7516 * When using AnyModifier or AnyButton, the request fails completely (no grabs are
jpayne@69 7517 * established), and an Access error is generated if there is a conflicting grab
jpayne@69 7518 * for any combination. The request has no effect on an active grab.
jpayne@69 7519 *
jpayne@69 7520 * This form can be used only if the request will not cause
jpayne@69 7521 * a reply to be generated. Any returned error will be
jpayne@69 7522 * saved for handling by xcb_request_check().
jpayne@69 7523 */
jpayne@69 7524 xcb_void_cookie_t
jpayne@69 7525 xcb_grab_button_checked (xcb_connection_t *c,
jpayne@69 7526 uint8_t owner_events,
jpayne@69 7527 xcb_window_t grab_window,
jpayne@69 7528 uint16_t event_mask,
jpayne@69 7529 uint8_t pointer_mode,
jpayne@69 7530 uint8_t keyboard_mode,
jpayne@69 7531 xcb_window_t confine_to,
jpayne@69 7532 xcb_cursor_t cursor,
jpayne@69 7533 uint8_t button,
jpayne@69 7534 uint16_t modifiers);
jpayne@69 7535
jpayne@69 7536 /**
jpayne@69 7537 * @brief Grab pointer button(s)
jpayne@69 7538 *
jpayne@69 7539 * @param c The connection
jpayne@69 7540 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
jpayne@69 7541 * reported to the \a grab_window.
jpayne@69 7542 * @param grab_window Specifies the window on which the pointer should be grabbed.
jpayne@69 7543 * @param event_mask Specifies which pointer events are reported to the client.
jpayne@69 7544 * \n
jpayne@69 7545 * TODO: which values?
jpayne@69 7546 * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7547 * @param pointer_mode \n
jpayne@69 7548 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7549 * @param keyboard_mode \n
jpayne@69 7550 * @param confine_to Specifies the window to confine the pointer in (the user will not be able to
jpayne@69 7551 * move the pointer out of that window).
jpayne@69 7552 * \n
jpayne@69 7553 * The special value `XCB_NONE` means don't confine the pointer.
jpayne@69 7554 * @param cursor Specifies the cursor that should be displayed or `XCB_NONE` to not change the
jpayne@69 7555 * cursor.
jpayne@69 7556 * @param button A bitmask of #xcb_button_index_t values.
jpayne@69 7557 * @param button \n
jpayne@69 7558 * @param modifiers The modifiers to grab.
jpayne@69 7559 * \n
jpayne@69 7560 * Using the special value `XCB_MOD_MASK_ANY` means grab the pointer with all
jpayne@69 7561 * possible modifier combinations.
jpayne@69 7562 * @return A cookie
jpayne@69 7563 *
jpayne@69 7564 * This request establishes a passive grab. The pointer is actively grabbed as
jpayne@69 7565 * described in GrabPointer, the last-pointer-grab time is set to the time at
jpayne@69 7566 * which the button was pressed (as transmitted in the ButtonPress event), and the
jpayne@69 7567 * ButtonPress event is reported if all of the following conditions are true:
jpayne@69 7568 *
jpayne@69 7569 * The pointer is not grabbed and the specified button is logically pressed when
jpayne@69 7570 * the specified modifier keys are logically down, and no other buttons or
jpayne@69 7571 * modifier keys are logically down.
jpayne@69 7572 *
jpayne@69 7573 * The grab-window contains the pointer.
jpayne@69 7574 *
jpayne@69 7575 * The confine-to window (if any) is viewable.
jpayne@69 7576 *
jpayne@69 7577 * A passive grab on the same button/key combination does not exist on any
jpayne@69 7578 * ancestor of grab-window.
jpayne@69 7579 *
jpayne@69 7580 * The interpretation of the remaining arguments is the same as for GrabPointer.
jpayne@69 7581 * The active grab is terminated automatically when the logical state of the
jpayne@69 7582 * pointer has all buttons released, independent of the logical state of modifier
jpayne@69 7583 * keys. Note that the logical state of a device (as seen by means of the
jpayne@69 7584 * protocol) may lag the physical state if device event processing is frozen. This
jpayne@69 7585 * request overrides all previous passive grabs by the same client on the same
jpayne@69 7586 * button/key combinations on the same window. A modifier of AnyModifier is
jpayne@69 7587 * equivalent to issuing the request for all possible modifier combinations
jpayne@69 7588 * (including the combination of no modifiers). It is not required that all
jpayne@69 7589 * specified modifiers have currently assigned keycodes. A button of AnyButton is
jpayne@69 7590 * equivalent to issuing the request for all possible buttons. Otherwise, it is
jpayne@69 7591 * not required that the button specified currently be assigned to a physical
jpayne@69 7592 * button.
jpayne@69 7593 *
jpayne@69 7594 * An Access error is generated if some other client has already issued a
jpayne@69 7595 * GrabButton request with the same button/key combination on the same window.
jpayne@69 7596 * When using AnyModifier or AnyButton, the request fails completely (no grabs are
jpayne@69 7597 * established), and an Access error is generated if there is a conflicting grab
jpayne@69 7598 * for any combination. The request has no effect on an active grab.
jpayne@69 7599 *
jpayne@69 7600 */
jpayne@69 7601 xcb_void_cookie_t
jpayne@69 7602 xcb_grab_button (xcb_connection_t *c,
jpayne@69 7603 uint8_t owner_events,
jpayne@69 7604 xcb_window_t grab_window,
jpayne@69 7605 uint16_t event_mask,
jpayne@69 7606 uint8_t pointer_mode,
jpayne@69 7607 uint8_t keyboard_mode,
jpayne@69 7608 xcb_window_t confine_to,
jpayne@69 7609 xcb_cursor_t cursor,
jpayne@69 7610 uint8_t button,
jpayne@69 7611 uint16_t modifiers);
jpayne@69 7612
jpayne@69 7613 /**
jpayne@69 7614 *
jpayne@69 7615 * @param c The connection
jpayne@69 7616 * @return A cookie
jpayne@69 7617 *
jpayne@69 7618 * Delivers a request to the X server.
jpayne@69 7619 *
jpayne@69 7620 * This form can be used only if the request will not cause
jpayne@69 7621 * a reply to be generated. Any returned error will be
jpayne@69 7622 * saved for handling by xcb_request_check().
jpayne@69 7623 */
jpayne@69 7624 xcb_void_cookie_t
jpayne@69 7625 xcb_ungrab_button_checked (xcb_connection_t *c,
jpayne@69 7626 uint8_t button,
jpayne@69 7627 xcb_window_t grab_window,
jpayne@69 7628 uint16_t modifiers);
jpayne@69 7629
jpayne@69 7630 /**
jpayne@69 7631 *
jpayne@69 7632 * @param c The connection
jpayne@69 7633 * @return A cookie
jpayne@69 7634 *
jpayne@69 7635 * Delivers a request to the X server.
jpayne@69 7636 *
jpayne@69 7637 */
jpayne@69 7638 xcb_void_cookie_t
jpayne@69 7639 xcb_ungrab_button (xcb_connection_t *c,
jpayne@69 7640 uint8_t button,
jpayne@69 7641 xcb_window_t grab_window,
jpayne@69 7642 uint16_t modifiers);
jpayne@69 7643
jpayne@69 7644 /**
jpayne@69 7645 *
jpayne@69 7646 * @param c The connection
jpayne@69 7647 * @return A cookie
jpayne@69 7648 *
jpayne@69 7649 * Delivers a request to the X server.
jpayne@69 7650 *
jpayne@69 7651 * This form can be used only if the request will not cause
jpayne@69 7652 * a reply to be generated. Any returned error will be
jpayne@69 7653 * saved for handling by xcb_request_check().
jpayne@69 7654 */
jpayne@69 7655 xcb_void_cookie_t
jpayne@69 7656 xcb_change_active_pointer_grab_checked (xcb_connection_t *c,
jpayne@69 7657 xcb_cursor_t cursor,
jpayne@69 7658 xcb_timestamp_t time,
jpayne@69 7659 uint16_t event_mask);
jpayne@69 7660
jpayne@69 7661 /**
jpayne@69 7662 *
jpayne@69 7663 * @param c The connection
jpayne@69 7664 * @return A cookie
jpayne@69 7665 *
jpayne@69 7666 * Delivers a request to the X server.
jpayne@69 7667 *
jpayne@69 7668 */
jpayne@69 7669 xcb_void_cookie_t
jpayne@69 7670 xcb_change_active_pointer_grab (xcb_connection_t *c,
jpayne@69 7671 xcb_cursor_t cursor,
jpayne@69 7672 xcb_timestamp_t time,
jpayne@69 7673 uint16_t event_mask);
jpayne@69 7674
jpayne@69 7675 /**
jpayne@69 7676 * @brief Grab the keyboard
jpayne@69 7677 *
jpayne@69 7678 * @param c The connection
jpayne@69 7679 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
jpayne@69 7680 * reported to the \a grab_window.
jpayne@69 7681 * @param grab_window Specifies the window on which the pointer should be grabbed.
jpayne@69 7682 * @param time Timestamp to avoid race conditions when running X over the network.
jpayne@69 7683 * \n
jpayne@69 7684 * The special value `XCB_CURRENT_TIME` will be replaced with the current server
jpayne@69 7685 * time.
jpayne@69 7686 * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7687 * @param pointer_mode \n
jpayne@69 7688 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7689 * @param keyboard_mode \n
jpayne@69 7690 * @return A cookie
jpayne@69 7691 *
jpayne@69 7692 * Actively grabs control of the keyboard and generates FocusIn and FocusOut
jpayne@69 7693 * events. Further key events are reported only to the grabbing client.
jpayne@69 7694 *
jpayne@69 7695 * Any active keyboard grab by this client is overridden. If the keyboard is
jpayne@69 7696 * actively grabbed by some other client, `AlreadyGrabbed` is returned. If
jpayne@69 7697 * \a grab_window is not viewable, `GrabNotViewable` is returned. If the keyboard
jpayne@69 7698 * is frozen by an active grab of another client, `GrabFrozen` is returned. If the
jpayne@69 7699 * specified \a time is earlier than the last-keyboard-grab time or later than the
jpayne@69 7700 * current X server time, `GrabInvalidTime` is returned. Otherwise, the
jpayne@69 7701 * last-keyboard-grab time is set to the specified time.
jpayne@69 7702 *
jpayne@69 7703 */
jpayne@69 7704 xcb_grab_keyboard_cookie_t
jpayne@69 7705 xcb_grab_keyboard (xcb_connection_t *c,
jpayne@69 7706 uint8_t owner_events,
jpayne@69 7707 xcb_window_t grab_window,
jpayne@69 7708 xcb_timestamp_t time,
jpayne@69 7709 uint8_t pointer_mode,
jpayne@69 7710 uint8_t keyboard_mode);
jpayne@69 7711
jpayne@69 7712 /**
jpayne@69 7713 * @brief Grab the keyboard
jpayne@69 7714 *
jpayne@69 7715 * @param c The connection
jpayne@69 7716 * @param owner_events If 1, the \a grab_window will still get the pointer events. If 0, events are not
jpayne@69 7717 * reported to the \a grab_window.
jpayne@69 7718 * @param grab_window Specifies the window on which the pointer should be grabbed.
jpayne@69 7719 * @param time Timestamp to avoid race conditions when running X over the network.
jpayne@69 7720 * \n
jpayne@69 7721 * The special value `XCB_CURRENT_TIME` will be replaced with the current server
jpayne@69 7722 * time.
jpayne@69 7723 * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7724 * @param pointer_mode \n
jpayne@69 7725 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7726 * @param keyboard_mode \n
jpayne@69 7727 * @return A cookie
jpayne@69 7728 *
jpayne@69 7729 * Actively grabs control of the keyboard and generates FocusIn and FocusOut
jpayne@69 7730 * events. Further key events are reported only to the grabbing client.
jpayne@69 7731 *
jpayne@69 7732 * Any active keyboard grab by this client is overridden. If the keyboard is
jpayne@69 7733 * actively grabbed by some other client, `AlreadyGrabbed` is returned. If
jpayne@69 7734 * \a grab_window is not viewable, `GrabNotViewable` is returned. If the keyboard
jpayne@69 7735 * is frozen by an active grab of another client, `GrabFrozen` is returned. If the
jpayne@69 7736 * specified \a time is earlier than the last-keyboard-grab time or later than the
jpayne@69 7737 * current X server time, `GrabInvalidTime` is returned. Otherwise, the
jpayne@69 7738 * last-keyboard-grab time is set to the specified time.
jpayne@69 7739 *
jpayne@69 7740 * This form can be used only if the request will cause
jpayne@69 7741 * a reply to be generated. Any returned error will be
jpayne@69 7742 * placed in the event queue.
jpayne@69 7743 */
jpayne@69 7744 xcb_grab_keyboard_cookie_t
jpayne@69 7745 xcb_grab_keyboard_unchecked (xcb_connection_t *c,
jpayne@69 7746 uint8_t owner_events,
jpayne@69 7747 xcb_window_t grab_window,
jpayne@69 7748 xcb_timestamp_t time,
jpayne@69 7749 uint8_t pointer_mode,
jpayne@69 7750 uint8_t keyboard_mode);
jpayne@69 7751
jpayne@69 7752 /**
jpayne@69 7753 * Return the reply
jpayne@69 7754 * @param c The connection
jpayne@69 7755 * @param cookie The cookie
jpayne@69 7756 * @param e The xcb_generic_error_t supplied
jpayne@69 7757 *
jpayne@69 7758 * Returns the reply of the request asked by
jpayne@69 7759 *
jpayne@69 7760 * The parameter @p e supplied to this function must be NULL if
jpayne@69 7761 * xcb_grab_keyboard_unchecked(). is used.
jpayne@69 7762 * Otherwise, it stores the error if any.
jpayne@69 7763 *
jpayne@69 7764 * The returned value must be freed by the caller using free().
jpayne@69 7765 */
jpayne@69 7766 xcb_grab_keyboard_reply_t *
jpayne@69 7767 xcb_grab_keyboard_reply (xcb_connection_t *c,
jpayne@69 7768 xcb_grab_keyboard_cookie_t cookie /**< */,
jpayne@69 7769 xcb_generic_error_t **e);
jpayne@69 7770
jpayne@69 7771 /**
jpayne@69 7772 *
jpayne@69 7773 * @param c The connection
jpayne@69 7774 * @return A cookie
jpayne@69 7775 *
jpayne@69 7776 * Delivers a request to the X server.
jpayne@69 7777 *
jpayne@69 7778 * This form can be used only if the request will not cause
jpayne@69 7779 * a reply to be generated. Any returned error will be
jpayne@69 7780 * saved for handling by xcb_request_check().
jpayne@69 7781 */
jpayne@69 7782 xcb_void_cookie_t
jpayne@69 7783 xcb_ungrab_keyboard_checked (xcb_connection_t *c,
jpayne@69 7784 xcb_timestamp_t time);
jpayne@69 7785
jpayne@69 7786 /**
jpayne@69 7787 *
jpayne@69 7788 * @param c The connection
jpayne@69 7789 * @return A cookie
jpayne@69 7790 *
jpayne@69 7791 * Delivers a request to the X server.
jpayne@69 7792 *
jpayne@69 7793 */
jpayne@69 7794 xcb_void_cookie_t
jpayne@69 7795 xcb_ungrab_keyboard (xcb_connection_t *c,
jpayne@69 7796 xcb_timestamp_t time);
jpayne@69 7797
jpayne@69 7798 /**
jpayne@69 7799 * @brief Grab keyboard key(s)
jpayne@69 7800 *
jpayne@69 7801 * @param c The connection
jpayne@69 7802 * @param owner_events If 1, the \a grab_window will still get the key events. If 0, events are not
jpayne@69 7803 * reported to the \a grab_window.
jpayne@69 7804 * @param grab_window Specifies the window on which the key should be grabbed.
jpayne@69 7805 * @param modifiers The modifiers to grab.
jpayne@69 7806 * \n
jpayne@69 7807 * Using the special value `XCB_MOD_MASK_ANY` means grab the key with all
jpayne@69 7808 * possible modifier combinations.
jpayne@69 7809 * @param key The keycode of the key to grab.
jpayne@69 7810 * \n
jpayne@69 7811 * The special value `XCB_GRAB_ANY` means grab any key.
jpayne@69 7812 * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7813 * @param pointer_mode \n
jpayne@69 7814 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7815 * @param keyboard_mode \n
jpayne@69 7816 * @return A cookie
jpayne@69 7817 *
jpayne@69 7818 * Establishes a passive grab on the keyboard. In the future, the keyboard is
jpayne@69 7819 * actively grabbed (as for `GrabKeyboard`), the last-keyboard-grab time is set to
jpayne@69 7820 * the time at which the key was pressed (as transmitted in the KeyPress event),
jpayne@69 7821 * and the KeyPress event is reported if all of the following conditions are true:
jpayne@69 7822 *
jpayne@69 7823 * The keyboard is not grabbed and the specified key (which can itself be a
jpayne@69 7824 * modifier key) is logically pressed when the specified modifier keys are
jpayne@69 7825 * logically down, and no other modifier keys are logically down.
jpayne@69 7826 *
jpayne@69 7827 * Either the grab_window is an ancestor of (or is) the focus window, or the
jpayne@69 7828 * grab_window is a descendant of the focus window and contains the pointer.
jpayne@69 7829 *
jpayne@69 7830 * A passive grab on the same key combination does not exist on any ancestor of
jpayne@69 7831 * grab_window.
jpayne@69 7832 *
jpayne@69 7833 * The interpretation of the remaining arguments is as for XGrabKeyboard. The active grab is terminated
jpayne@69 7834 * automatically when the logical state of the keyboard has the specified key released (independent of the
jpayne@69 7835 * logical state of the modifier keys), at which point a KeyRelease event is reported to the grabbing window.
jpayne@69 7836 *
jpayne@69 7837 * Note that the logical state of a device (as seen by client applications) may lag the physical state if
jpayne@69 7838 * device event processing is frozen.
jpayne@69 7839 *
jpayne@69 7840 * 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
jpayne@69 7841 * have currently assigned KeyCodes. A keycode argument of AnyKey is equivalent to issuing the request for
jpayne@69 7842 * all possible KeyCodes. Otherwise, the specified keycode must be in the range specified by min_keycode
jpayne@69 7843 * and max_keycode in the connection setup, or a BadValue error results.
jpayne@69 7844 *
jpayne@69 7845 * If some other client has issued a XGrabKey with the same key combination on the same window, a BadAccess
jpayne@69 7846 * error results. When using AnyModifier or AnyKey, the request fails completely, and a BadAccess error
jpayne@69 7847 * results (no grabs are established) if there is a conflicting grab for any combination.
jpayne@69 7848 *
jpayne@69 7849 * This form can be used only if the request will not cause
jpayne@69 7850 * a reply to be generated. Any returned error will be
jpayne@69 7851 * saved for handling by xcb_request_check().
jpayne@69 7852 */
jpayne@69 7853 xcb_void_cookie_t
jpayne@69 7854 xcb_grab_key_checked (xcb_connection_t *c,
jpayne@69 7855 uint8_t owner_events,
jpayne@69 7856 xcb_window_t grab_window,
jpayne@69 7857 uint16_t modifiers,
jpayne@69 7858 xcb_keycode_t key,
jpayne@69 7859 uint8_t pointer_mode,
jpayne@69 7860 uint8_t keyboard_mode);
jpayne@69 7861
jpayne@69 7862 /**
jpayne@69 7863 * @brief Grab keyboard key(s)
jpayne@69 7864 *
jpayne@69 7865 * @param c The connection
jpayne@69 7866 * @param owner_events If 1, the \a grab_window will still get the key events. If 0, events are not
jpayne@69 7867 * reported to the \a grab_window.
jpayne@69 7868 * @param grab_window Specifies the window on which the key should be grabbed.
jpayne@69 7869 * @param modifiers The modifiers to grab.
jpayne@69 7870 * \n
jpayne@69 7871 * Using the special value `XCB_MOD_MASK_ANY` means grab the key with all
jpayne@69 7872 * possible modifier combinations.
jpayne@69 7873 * @param key The keycode of the key to grab.
jpayne@69 7874 * \n
jpayne@69 7875 * The special value `XCB_GRAB_ANY` means grab any key.
jpayne@69 7876 * @param pointer_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7877 * @param pointer_mode \n
jpayne@69 7878 * @param keyboard_mode A bitmask of #xcb_grab_mode_t values.
jpayne@69 7879 * @param keyboard_mode \n
jpayne@69 7880 * @return A cookie
jpayne@69 7881 *
jpayne@69 7882 * Establishes a passive grab on the keyboard. In the future, the keyboard is
jpayne@69 7883 * actively grabbed (as for `GrabKeyboard`), the last-keyboard-grab time is set to
jpayne@69 7884 * the time at which the key was pressed (as transmitted in the KeyPress event),
jpayne@69 7885 * and the KeyPress event is reported if all of the following conditions are true:
jpayne@69 7886 *
jpayne@69 7887 * The keyboard is not grabbed and the specified key (which can itself be a
jpayne@69 7888 * modifier key) is logically pressed when the specified modifier keys are
jpayne@69 7889 * logically down, and no other modifier keys are logically down.
jpayne@69 7890 *
jpayne@69 7891 * Either the grab_window is an ancestor of (or is) the focus window, or the
jpayne@69 7892 * grab_window is a descendant of the focus window and contains the pointer.
jpayne@69 7893 *
jpayne@69 7894 * A passive grab on the same key combination does not exist on any ancestor of
jpayne@69 7895 * grab_window.
jpayne@69 7896 *
jpayne@69 7897 * The interpretation of the remaining arguments is as for XGrabKeyboard. The active grab is terminated
jpayne@69 7898 * automatically when the logical state of the keyboard has the specified key released (independent of the
jpayne@69 7899 * logical state of the modifier keys), at which point a KeyRelease event is reported to the grabbing window.
jpayne@69 7900 *
jpayne@69 7901 * Note that the logical state of a device (as seen by client applications) may lag the physical state if
jpayne@69 7902 * device event processing is frozen.
jpayne@69 7903 *
jpayne@69 7904 * 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
jpayne@69 7905 * have currently assigned KeyCodes. A keycode argument of AnyKey is equivalent to issuing the request for
jpayne@69 7906 * all possible KeyCodes. Otherwise, the specified keycode must be in the range specified by min_keycode
jpayne@69 7907 * and max_keycode in the connection setup, or a BadValue error results.
jpayne@69 7908 *
jpayne@69 7909 * If some other client has issued a XGrabKey with the same key combination on the same window, a BadAccess
jpayne@69 7910 * error results. When using AnyModifier or AnyKey, the request fails completely, and a BadAccess error
jpayne@69 7911 * results (no grabs are established) if there is a conflicting grab for any combination.
jpayne@69 7912 *
jpayne@69 7913 */
jpayne@69 7914 xcb_void_cookie_t
jpayne@69 7915 xcb_grab_key (xcb_connection_t *c,
jpayne@69 7916 uint8_t owner_events,
jpayne@69 7917 xcb_window_t grab_window,
jpayne@69 7918 uint16_t modifiers,
jpayne@69 7919 xcb_keycode_t key,
jpayne@69 7920 uint8_t pointer_mode,
jpayne@69 7921 uint8_t keyboard_mode);
jpayne@69 7922
jpayne@69 7923 /**
jpayne@69 7924 * @brief release a key combination
jpayne@69 7925 *
jpayne@69 7926 * @param c The connection
jpayne@69 7927 * @param key The keycode of the specified key combination.
jpayne@69 7928 * \n
jpayne@69 7929 * Using the special value `XCB_GRAB_ANY` means releasing all possible key codes.
jpayne@69 7930 * @param grab_window The window on which the grabbed key combination will be released.
jpayne@69 7931 * @param modifiers The modifiers of the specified key combination.
jpayne@69 7932 * \n
jpayne@69 7933 * Using the special value `XCB_MOD_MASK_ANY` means releasing the key combination
jpayne@69 7934 * with every possible modifier combination.
jpayne@69 7935 * @return A cookie
jpayne@69 7936 *
jpayne@69 7937 * Releases the key combination on \a grab_window if you grabbed it using
jpayne@69 7938 * `xcb_grab_key` before.
jpayne@69 7939 *
jpayne@69 7940 * This form can be used only if the request will not cause
jpayne@69 7941 * a reply to be generated. Any returned error will be
jpayne@69 7942 * saved for handling by xcb_request_check().
jpayne@69 7943 */
jpayne@69 7944 xcb_void_cookie_t
jpayne@69 7945 xcb_ungrab_key_checked (xcb_connection_t *c,
jpayne@69 7946 xcb_keycode_t key,
jpayne@69 7947 xcb_window_t grab_window,
jpayne@69 7948 uint16_t modifiers);
jpayne@69 7949
jpayne@69 7950 /**
jpayne@69 7951 * @brief release a key combination
jpayne@69 7952 *
jpayne@69 7953 * @param c The connection
jpayne@69 7954 * @param key The keycode of the specified key combination.
jpayne@69 7955 * \n
jpayne@69 7956 * Using the special value `XCB_GRAB_ANY` means releasing all possible key codes.
jpayne@69 7957 * @param grab_window The window on which the grabbed key combination will be released.
jpayne@69 7958 * @param modifiers The modifiers of the specified key combination.
jpayne@69 7959 * \n
jpayne@69 7960 * Using the special value `XCB_MOD_MASK_ANY` means releasing the key combination
jpayne@69 7961 * with every possible modifier combination.
jpayne@69 7962 * @return A cookie
jpayne@69 7963 *
jpayne@69 7964 * Releases the key combination on \a grab_window if you grabbed it using
jpayne@69 7965 * `xcb_grab_key` before.
jpayne@69 7966 *
jpayne@69 7967 */
jpayne@69 7968 xcb_void_cookie_t
jpayne@69 7969 xcb_ungrab_key (xcb_connection_t *c,
jpayne@69 7970 xcb_keycode_t key,
jpayne@69 7971 xcb_window_t grab_window,
jpayne@69 7972 uint16_t modifiers);
jpayne@69 7973
jpayne@69 7974 /**
jpayne@69 7975 * @brief release queued events
jpayne@69 7976 *
jpayne@69 7977 * @param c The connection
jpayne@69 7978 * @param mode A bitmask of #xcb_allow_t values.
jpayne@69 7979 * @param mode \n
jpayne@69 7980 * @param time Timestamp to avoid race conditions when running X over the network.
jpayne@69 7981 * \n
jpayne@69 7982 * The special value `XCB_CURRENT_TIME` will be replaced with the current server
jpayne@69 7983 * time.
jpayne@69 7984 * @return A cookie
jpayne@69 7985 *
jpayne@69 7986 * Releases queued events if the client has caused a device (pointer/keyboard) to
jpayne@69 7987 * freeze due to grabbing it actively. This request has no effect if \a time is
jpayne@69 7988 * earlier than the last-grab time of the most recent active grab for this client
jpayne@69 7989 * or if \a time is later than the current X server time.
jpayne@69 7990 *
jpayne@69 7991 * This form can be used only if the request will not cause
jpayne@69 7992 * a reply to be generated. Any returned error will be
jpayne@69 7993 * saved for handling by xcb_request_check().
jpayne@69 7994 */
jpayne@69 7995 xcb_void_cookie_t
jpayne@69 7996 xcb_allow_events_checked (xcb_connection_t *c,
jpayne@69 7997 uint8_t mode,
jpayne@69 7998 xcb_timestamp_t time);
jpayne@69 7999
jpayne@69 8000 /**
jpayne@69 8001 * @brief release queued events
jpayne@69 8002 *
jpayne@69 8003 * @param c The connection
jpayne@69 8004 * @param mode A bitmask of #xcb_allow_t values.
jpayne@69 8005 * @param mode \n
jpayne@69 8006 * @param time Timestamp to avoid race conditions when running X over the network.
jpayne@69 8007 * \n
jpayne@69 8008 * The special value `XCB_CURRENT_TIME` will be replaced with the current server
jpayne@69 8009 * time.
jpayne@69 8010 * @return A cookie
jpayne@69 8011 *
jpayne@69 8012 * Releases queued events if the client has caused a device (pointer/keyboard) to
jpayne@69 8013 * freeze due to grabbing it actively. This request has no effect if \a time is
jpayne@69 8014 * earlier than the last-grab time of the most recent active grab for this client
jpayne@69 8015 * or if \a time is later than the current X server time.
jpayne@69 8016 *
jpayne@69 8017 */
jpayne@69 8018 xcb_void_cookie_t
jpayne@69 8019 xcb_allow_events (xcb_connection_t *c,
jpayne@69 8020 uint8_t mode,
jpayne@69 8021 xcb_timestamp_t time);
jpayne@69 8022
jpayne@69 8023 /**
jpayne@69 8024 *
jpayne@69 8025 * @param c The connection
jpayne@69 8026 * @return A cookie
jpayne@69 8027 *
jpayne@69 8028 * Delivers a request to the X server.
jpayne@69 8029 *
jpayne@69 8030 * This form can be used only if the request will not cause
jpayne@69 8031 * a reply to be generated. Any returned error will be
jpayne@69 8032 * saved for handling by xcb_request_check().
jpayne@69 8033 */
jpayne@69 8034 xcb_void_cookie_t
jpayne@69 8035 xcb_grab_server_checked (xcb_connection_t *c);
jpayne@69 8036
jpayne@69 8037 /**
jpayne@69 8038 *
jpayne@69 8039 * @param c The connection
jpayne@69 8040 * @return A cookie
jpayne@69 8041 *
jpayne@69 8042 * Delivers a request to the X server.
jpayne@69 8043 *
jpayne@69 8044 */
jpayne@69 8045 xcb_void_cookie_t
jpayne@69 8046 xcb_grab_server (xcb_connection_t *c);
jpayne@69 8047
jpayne@69 8048 /**
jpayne@69 8049 *
jpayne@69 8050 * @param c The connection
jpayne@69 8051 * @return A cookie
jpayne@69 8052 *
jpayne@69 8053 * Delivers a request to the X server.
jpayne@69 8054 *
jpayne@69 8055 * This form can be used only if the request will not cause
jpayne@69 8056 * a reply to be generated. Any returned error will be
jpayne@69 8057 * saved for handling by xcb_request_check().
jpayne@69 8058 */
jpayne@69 8059 xcb_void_cookie_t
jpayne@69 8060 xcb_ungrab_server_checked (xcb_connection_t *c);
jpayne@69 8061
jpayne@69 8062 /**
jpayne@69 8063 *
jpayne@69 8064 * @param c The connection
jpayne@69 8065 * @return A cookie
jpayne@69 8066 *
jpayne@69 8067 * Delivers a request to the X server.
jpayne@69 8068 *
jpayne@69 8069 */
jpayne@69 8070 xcb_void_cookie_t
jpayne@69 8071 xcb_ungrab_server (xcb_connection_t *c);
jpayne@69 8072
jpayne@69 8073 /**
jpayne@69 8074 * @brief get pointer coordinates
jpayne@69 8075 *
jpayne@69 8076 * @param c The connection
jpayne@69 8077 * @param window A window to check if the pointer is on the same screen as \a window (see the
jpayne@69 8078 * `same_screen` field in the reply).
jpayne@69 8079 * @return A cookie
jpayne@69 8080 *
jpayne@69 8081 * Gets the root window the pointer is logically on and the pointer coordinates
jpayne@69 8082 * relative to the root window's origin.
jpayne@69 8083 *
jpayne@69 8084 */
jpayne@69 8085 xcb_query_pointer_cookie_t
jpayne@69 8086 xcb_query_pointer (xcb_connection_t *c,
jpayne@69 8087 xcb_window_t window);
jpayne@69 8088
jpayne@69 8089 /**
jpayne@69 8090 * @brief get pointer coordinates
jpayne@69 8091 *
jpayne@69 8092 * @param c The connection
jpayne@69 8093 * @param window A window to check if the pointer is on the same screen as \a window (see the
jpayne@69 8094 * `same_screen` field in the reply).
jpayne@69 8095 * @return A cookie
jpayne@69 8096 *
jpayne@69 8097 * Gets the root window the pointer is logically on and the pointer coordinates
jpayne@69 8098 * relative to the root window's origin.
jpayne@69 8099 *
jpayne@69 8100 * This form can be used only if the request will cause
jpayne@69 8101 * a reply to be generated. Any returned error will be
jpayne@69 8102 * placed in the event queue.
jpayne@69 8103 */
jpayne@69 8104 xcb_query_pointer_cookie_t
jpayne@69 8105 xcb_query_pointer_unchecked (xcb_connection_t *c,
jpayne@69 8106 xcb_window_t window);
jpayne@69 8107
jpayne@69 8108 /**
jpayne@69 8109 * Return the reply
jpayne@69 8110 * @param c The connection
jpayne@69 8111 * @param cookie The cookie
jpayne@69 8112 * @param e The xcb_generic_error_t supplied
jpayne@69 8113 *
jpayne@69 8114 * Returns the reply of the request asked by
jpayne@69 8115 *
jpayne@69 8116 * The parameter @p e supplied to this function must be NULL if
jpayne@69 8117 * xcb_query_pointer_unchecked(). is used.
jpayne@69 8118 * Otherwise, it stores the error if any.
jpayne@69 8119 *
jpayne@69 8120 * The returned value must be freed by the caller using free().
jpayne@69 8121 */
jpayne@69 8122 xcb_query_pointer_reply_t *
jpayne@69 8123 xcb_query_pointer_reply (xcb_connection_t *c,
jpayne@69 8124 xcb_query_pointer_cookie_t cookie /**< */,
jpayne@69 8125 xcb_generic_error_t **e);
jpayne@69 8126
jpayne@69 8127 /**
jpayne@69 8128 * Get the next element of the iterator
jpayne@69 8129 * @param i Pointer to a xcb_timecoord_iterator_t
jpayne@69 8130 *
jpayne@69 8131 * Get the next element in the iterator. The member rem is
jpayne@69 8132 * decreased by one. The member data points to the next
jpayne@69 8133 * element. The member index is increased by sizeof(xcb_timecoord_t)
jpayne@69 8134 */
jpayne@69 8135 void
jpayne@69 8136 xcb_timecoord_next (xcb_timecoord_iterator_t *i);
jpayne@69 8137
jpayne@69 8138 /**
jpayne@69 8139 * Return the iterator pointing to the last element
jpayne@69 8140 * @param i An xcb_timecoord_iterator_t
jpayne@69 8141 * @return The iterator pointing to the last element
jpayne@69 8142 *
jpayne@69 8143 * Set the current element in the iterator to the last element.
jpayne@69 8144 * The member rem is set to 0. The member data points to the
jpayne@69 8145 * last element.
jpayne@69 8146 */
jpayne@69 8147 xcb_generic_iterator_t
jpayne@69 8148 xcb_timecoord_end (xcb_timecoord_iterator_t i);
jpayne@69 8149
jpayne@69 8150 int
jpayne@69 8151 xcb_get_motion_events_sizeof (const void *_buffer);
jpayne@69 8152
jpayne@69 8153 /**
jpayne@69 8154 *
jpayne@69 8155 * @param c The connection
jpayne@69 8156 * @return A cookie
jpayne@69 8157 *
jpayne@69 8158 * Delivers a request to the X server.
jpayne@69 8159 *
jpayne@69 8160 */
jpayne@69 8161 xcb_get_motion_events_cookie_t
jpayne@69 8162 xcb_get_motion_events (xcb_connection_t *c,
jpayne@69 8163 xcb_window_t window,
jpayne@69 8164 xcb_timestamp_t start,
jpayne@69 8165 xcb_timestamp_t stop);
jpayne@69 8166
jpayne@69 8167 /**
jpayne@69 8168 *
jpayne@69 8169 * @param c The connection
jpayne@69 8170 * @return A cookie
jpayne@69 8171 *
jpayne@69 8172 * Delivers a request to the X server.
jpayne@69 8173 *
jpayne@69 8174 * This form can be used only if the request will cause
jpayne@69 8175 * a reply to be generated. Any returned error will be
jpayne@69 8176 * placed in the event queue.
jpayne@69 8177 */
jpayne@69 8178 xcb_get_motion_events_cookie_t
jpayne@69 8179 xcb_get_motion_events_unchecked (xcb_connection_t *c,
jpayne@69 8180 xcb_window_t window,
jpayne@69 8181 xcb_timestamp_t start,
jpayne@69 8182 xcb_timestamp_t stop);
jpayne@69 8183
jpayne@69 8184 xcb_timecoord_t *
jpayne@69 8185 xcb_get_motion_events_events (const xcb_get_motion_events_reply_t *R);
jpayne@69 8186
jpayne@69 8187 int
jpayne@69 8188 xcb_get_motion_events_events_length (const xcb_get_motion_events_reply_t *R);
jpayne@69 8189
jpayne@69 8190 xcb_timecoord_iterator_t
jpayne@69 8191 xcb_get_motion_events_events_iterator (const xcb_get_motion_events_reply_t *R);
jpayne@69 8192
jpayne@69 8193 /**
jpayne@69 8194 * Return the reply
jpayne@69 8195 * @param c The connection
jpayne@69 8196 * @param cookie The cookie
jpayne@69 8197 * @param e The xcb_generic_error_t supplied
jpayne@69 8198 *
jpayne@69 8199 * Returns the reply of the request asked by
jpayne@69 8200 *
jpayne@69 8201 * The parameter @p e supplied to this function must be NULL if
jpayne@69 8202 * xcb_get_motion_events_unchecked(). is used.
jpayne@69 8203 * Otherwise, it stores the error if any.
jpayne@69 8204 *
jpayne@69 8205 * The returned value must be freed by the caller using free().
jpayne@69 8206 */
jpayne@69 8207 xcb_get_motion_events_reply_t *
jpayne@69 8208 xcb_get_motion_events_reply (xcb_connection_t *c,
jpayne@69 8209 xcb_get_motion_events_cookie_t cookie /**< */,
jpayne@69 8210 xcb_generic_error_t **e);
jpayne@69 8211
jpayne@69 8212 /**
jpayne@69 8213 *
jpayne@69 8214 * @param c The connection
jpayne@69 8215 * @return A cookie
jpayne@69 8216 *
jpayne@69 8217 * Delivers a request to the X server.
jpayne@69 8218 *
jpayne@69 8219 */
jpayne@69 8220 xcb_translate_coordinates_cookie_t
jpayne@69 8221 xcb_translate_coordinates (xcb_connection_t *c,
jpayne@69 8222 xcb_window_t src_window,
jpayne@69 8223 xcb_window_t dst_window,
jpayne@69 8224 int16_t src_x,
jpayne@69 8225 int16_t src_y);
jpayne@69 8226
jpayne@69 8227 /**
jpayne@69 8228 *
jpayne@69 8229 * @param c The connection
jpayne@69 8230 * @return A cookie
jpayne@69 8231 *
jpayne@69 8232 * Delivers a request to the X server.
jpayne@69 8233 *
jpayne@69 8234 * This form can be used only if the request will cause
jpayne@69 8235 * a reply to be generated. Any returned error will be
jpayne@69 8236 * placed in the event queue.
jpayne@69 8237 */
jpayne@69 8238 xcb_translate_coordinates_cookie_t
jpayne@69 8239 xcb_translate_coordinates_unchecked (xcb_connection_t *c,
jpayne@69 8240 xcb_window_t src_window,
jpayne@69 8241 xcb_window_t dst_window,
jpayne@69 8242 int16_t src_x,
jpayne@69 8243 int16_t src_y);
jpayne@69 8244
jpayne@69 8245 /**
jpayne@69 8246 * Return the reply
jpayne@69 8247 * @param c The connection
jpayne@69 8248 * @param cookie The cookie
jpayne@69 8249 * @param e The xcb_generic_error_t supplied
jpayne@69 8250 *
jpayne@69 8251 * Returns the reply of the request asked by
jpayne@69 8252 *
jpayne@69 8253 * The parameter @p e supplied to this function must be NULL if
jpayne@69 8254 * xcb_translate_coordinates_unchecked(). is used.
jpayne@69 8255 * Otherwise, it stores the error if any.
jpayne@69 8256 *
jpayne@69 8257 * The returned value must be freed by the caller using free().
jpayne@69 8258 */
jpayne@69 8259 xcb_translate_coordinates_reply_t *
jpayne@69 8260 xcb_translate_coordinates_reply (xcb_connection_t *c,
jpayne@69 8261 xcb_translate_coordinates_cookie_t cookie /**< */,
jpayne@69 8262 xcb_generic_error_t **e);
jpayne@69 8263
jpayne@69 8264 /**
jpayne@69 8265 * @brief move mouse pointer
jpayne@69 8266 *
jpayne@69 8267 * @param c The connection
jpayne@69 8268 * @param src_window If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
jpayne@69 8269 * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
jpayne@69 8270 * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
jpayne@69 8271 * \a src_window.
jpayne@69 8272 * @param dst_window If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
jpayne@69 8273 * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
jpayne@69 8274 * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
jpayne@69 8275 * relative to the current position of the pointer.
jpayne@69 8276 * @return A cookie
jpayne@69 8277 *
jpayne@69 8278 * Moves the mouse pointer to the specified position.
jpayne@69 8279 *
jpayne@69 8280 * If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
jpayne@69 8281 * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
jpayne@69 8282 * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
jpayne@69 8283 * \a src_window.
jpayne@69 8284 *
jpayne@69 8285 * If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
jpayne@69 8286 * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
jpayne@69 8287 * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
jpayne@69 8288 * relative to the current position of the pointer.
jpayne@69 8289 *
jpayne@69 8290 * This form can be used only if the request will not cause
jpayne@69 8291 * a reply to be generated. Any returned error will be
jpayne@69 8292 * saved for handling by xcb_request_check().
jpayne@69 8293 */
jpayne@69 8294 xcb_void_cookie_t
jpayne@69 8295 xcb_warp_pointer_checked (xcb_connection_t *c,
jpayne@69 8296 xcb_window_t src_window,
jpayne@69 8297 xcb_window_t dst_window,
jpayne@69 8298 int16_t src_x,
jpayne@69 8299 int16_t src_y,
jpayne@69 8300 uint16_t src_width,
jpayne@69 8301 uint16_t src_height,
jpayne@69 8302 int16_t dst_x,
jpayne@69 8303 int16_t dst_y);
jpayne@69 8304
jpayne@69 8305 /**
jpayne@69 8306 * @brief move mouse pointer
jpayne@69 8307 *
jpayne@69 8308 * @param c The connection
jpayne@69 8309 * @param src_window If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
jpayne@69 8310 * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
jpayne@69 8311 * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
jpayne@69 8312 * \a src_window.
jpayne@69 8313 * @param dst_window If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
jpayne@69 8314 * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
jpayne@69 8315 * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
jpayne@69 8316 * relative to the current position of the pointer.
jpayne@69 8317 * @return A cookie
jpayne@69 8318 *
jpayne@69 8319 * Moves the mouse pointer to the specified position.
jpayne@69 8320 *
jpayne@69 8321 * If \a src_window is not `XCB_NONE` (TODO), the move will only take place if the
jpayne@69 8322 * pointer is inside \a src_window and within the rectangle specified by (\a src_x,
jpayne@69 8323 * \a src_y, \a src_width, \a src_height). The rectangle coordinates are relative to
jpayne@69 8324 * \a src_window.
jpayne@69 8325 *
jpayne@69 8326 * If \a dst_window is not `XCB_NONE` (TODO), the pointer will be moved to the
jpayne@69 8327 * offsets (\a dst_x, \a dst_y) relative to \a dst_window. If \a dst_window is
jpayne@69 8328 * `XCB_NONE` (TODO), the pointer will be moved by the offsets (\a dst_x, \a dst_y)
jpayne@69 8329 * relative to the current position of the pointer.
jpayne@69 8330 *
jpayne@69 8331 */
jpayne@69 8332 xcb_void_cookie_t
jpayne@69 8333 xcb_warp_pointer (xcb_connection_t *c,
jpayne@69 8334 xcb_window_t src_window,
jpayne@69 8335 xcb_window_t dst_window,
jpayne@69 8336 int16_t src_x,
jpayne@69 8337 int16_t src_y,
jpayne@69 8338 uint16_t src_width,
jpayne@69 8339 uint16_t src_height,
jpayne@69 8340 int16_t dst_x,
jpayne@69 8341 int16_t dst_y);
jpayne@69 8342
jpayne@69 8343 /**
jpayne@69 8344 * @brief Sets input focus
jpayne@69 8345 *
jpayne@69 8346 * @param c The connection
jpayne@69 8347 * @param revert_to A bitmask of #xcb_input_focus_t values.
jpayne@69 8348 * @param revert_to Specifies what happens when the \a focus window becomes unviewable (if \a focus
jpayne@69 8349 * is neither `XCB_NONE` nor `XCB_POINTER_ROOT`).
jpayne@69 8350 * @param focus The window to focus. All keyboard events will be reported to this window. The
jpayne@69 8351 * window must be viewable (TODO), or a `xcb_match_error_t` occurs (TODO).
jpayne@69 8352 * \n
jpayne@69 8353 * If \a focus is `XCB_NONE` (TODO), all keyboard events are
jpayne@69 8354 * discarded until a new focus window is set.
jpayne@69 8355 * \n
jpayne@69 8356 * If \a focus is `XCB_POINTER_ROOT` (TODO), focus is on the root window of the
jpayne@69 8357 * screen on which the pointer is on currently.
jpayne@69 8358 * @param time Timestamp to avoid race conditions when running X over the network.
jpayne@69 8359 * \n
jpayne@69 8360 * The special value `XCB_CURRENT_TIME` will be replaced with the current server
jpayne@69 8361 * time.
jpayne@69 8362 * @return A cookie
jpayne@69 8363 *
jpayne@69 8364 * Changes the input focus and the last-focus-change time. If the specified \a time
jpayne@69 8365 * is earlier than the current last-focus-change time, the request is ignored (to
jpayne@69 8366 * avoid race conditions when running X over the network).
jpayne@69 8367 *
jpayne@69 8368 * A FocusIn and FocusOut event is generated when focus is changed.
jpayne@69 8369 *
jpayne@69 8370 * This form can be used only if the request will not cause
jpayne@69 8371 * a reply to be generated. Any returned error will be
jpayne@69 8372 * saved for handling by xcb_request_check().
jpayne@69 8373 */
jpayne@69 8374 xcb_void_cookie_t
jpayne@69 8375 xcb_set_input_focus_checked (xcb_connection_t *c,
jpayne@69 8376 uint8_t revert_to,
jpayne@69 8377 xcb_window_t focus,
jpayne@69 8378 xcb_timestamp_t time);
jpayne@69 8379
jpayne@69 8380 /**
jpayne@69 8381 * @brief Sets input focus
jpayne@69 8382 *
jpayne@69 8383 * @param c The connection
jpayne@69 8384 * @param revert_to A bitmask of #xcb_input_focus_t values.
jpayne@69 8385 * @param revert_to Specifies what happens when the \a focus window becomes unviewable (if \a focus
jpayne@69 8386 * is neither `XCB_NONE` nor `XCB_POINTER_ROOT`).
jpayne@69 8387 * @param focus The window to focus. All keyboard events will be reported to this window. The
jpayne@69 8388 * window must be viewable (TODO), or a `xcb_match_error_t` occurs (TODO).
jpayne@69 8389 * \n
jpayne@69 8390 * If \a focus is `XCB_NONE` (TODO), all keyboard events are
jpayne@69 8391 * discarded until a new focus window is set.
jpayne@69 8392 * \n
jpayne@69 8393 * If \a focus is `XCB_POINTER_ROOT` (TODO), focus is on the root window of the
jpayne@69 8394 * screen on which the pointer is on currently.
jpayne@69 8395 * @param time Timestamp to avoid race conditions when running X over the network.
jpayne@69 8396 * \n
jpayne@69 8397 * The special value `XCB_CURRENT_TIME` will be replaced with the current server
jpayne@69 8398 * time.
jpayne@69 8399 * @return A cookie
jpayne@69 8400 *
jpayne@69 8401 * Changes the input focus and the last-focus-change time. If the specified \a time
jpayne@69 8402 * is earlier than the current last-focus-change time, the request is ignored (to
jpayne@69 8403 * avoid race conditions when running X over the network).
jpayne@69 8404 *
jpayne@69 8405 * A FocusIn and FocusOut event is generated when focus is changed.
jpayne@69 8406 *
jpayne@69 8407 */
jpayne@69 8408 xcb_void_cookie_t
jpayne@69 8409 xcb_set_input_focus (xcb_connection_t *c,
jpayne@69 8410 uint8_t revert_to,
jpayne@69 8411 xcb_window_t focus,
jpayne@69 8412 xcb_timestamp_t time);
jpayne@69 8413
jpayne@69 8414 /**
jpayne@69 8415 *
jpayne@69 8416 * @param c The connection
jpayne@69 8417 * @return A cookie
jpayne@69 8418 *
jpayne@69 8419 * Delivers a request to the X server.
jpayne@69 8420 *
jpayne@69 8421 */
jpayne@69 8422 xcb_get_input_focus_cookie_t
jpayne@69 8423 xcb_get_input_focus (xcb_connection_t *c);
jpayne@69 8424
jpayne@69 8425 /**
jpayne@69 8426 *
jpayne@69 8427 * @param c The connection
jpayne@69 8428 * @return A cookie
jpayne@69 8429 *
jpayne@69 8430 * Delivers a request to the X server.
jpayne@69 8431 *
jpayne@69 8432 * This form can be used only if the request will cause
jpayne@69 8433 * a reply to be generated. Any returned error will be
jpayne@69 8434 * placed in the event queue.
jpayne@69 8435 */
jpayne@69 8436 xcb_get_input_focus_cookie_t
jpayne@69 8437 xcb_get_input_focus_unchecked (xcb_connection_t *c);
jpayne@69 8438
jpayne@69 8439 /**
jpayne@69 8440 * Return the reply
jpayne@69 8441 * @param c The connection
jpayne@69 8442 * @param cookie The cookie
jpayne@69 8443 * @param e The xcb_generic_error_t supplied
jpayne@69 8444 *
jpayne@69 8445 * Returns the reply of the request asked by
jpayne@69 8446 *
jpayne@69 8447 * The parameter @p e supplied to this function must be NULL if
jpayne@69 8448 * xcb_get_input_focus_unchecked(). is used.
jpayne@69 8449 * Otherwise, it stores the error if any.
jpayne@69 8450 *
jpayne@69 8451 * The returned value must be freed by the caller using free().
jpayne@69 8452 */
jpayne@69 8453 xcb_get_input_focus_reply_t *
jpayne@69 8454 xcb_get_input_focus_reply (xcb_connection_t *c,
jpayne@69 8455 xcb_get_input_focus_cookie_t cookie /**< */,
jpayne@69 8456 xcb_generic_error_t **e);
jpayne@69 8457
jpayne@69 8458 /**
jpayne@69 8459 *
jpayne@69 8460 * @param c The connection
jpayne@69 8461 * @return A cookie
jpayne@69 8462 *
jpayne@69 8463 * Delivers a request to the X server.
jpayne@69 8464 *
jpayne@69 8465 */
jpayne@69 8466 xcb_query_keymap_cookie_t
jpayne@69 8467 xcb_query_keymap (xcb_connection_t *c);
jpayne@69 8468
jpayne@69 8469 /**
jpayne@69 8470 *
jpayne@69 8471 * @param c The connection
jpayne@69 8472 * @return A cookie
jpayne@69 8473 *
jpayne@69 8474 * Delivers a request to the X server.
jpayne@69 8475 *
jpayne@69 8476 * This form can be used only if the request will cause
jpayne@69 8477 * a reply to be generated. Any returned error will be
jpayne@69 8478 * placed in the event queue.
jpayne@69 8479 */
jpayne@69 8480 xcb_query_keymap_cookie_t
jpayne@69 8481 xcb_query_keymap_unchecked (xcb_connection_t *c);
jpayne@69 8482
jpayne@69 8483 /**
jpayne@69 8484 * Return the reply
jpayne@69 8485 * @param c The connection
jpayne@69 8486 * @param cookie The cookie
jpayne@69 8487 * @param e The xcb_generic_error_t supplied
jpayne@69 8488 *
jpayne@69 8489 * Returns the reply of the request asked by
jpayne@69 8490 *
jpayne@69 8491 * The parameter @p e supplied to this function must be NULL if
jpayne@69 8492 * xcb_query_keymap_unchecked(). is used.
jpayne@69 8493 * Otherwise, it stores the error if any.
jpayne@69 8494 *
jpayne@69 8495 * The returned value must be freed by the caller using free().
jpayne@69 8496 */
jpayne@69 8497 xcb_query_keymap_reply_t *
jpayne@69 8498 xcb_query_keymap_reply (xcb_connection_t *c,
jpayne@69 8499 xcb_query_keymap_cookie_t cookie /**< */,
jpayne@69 8500 xcb_generic_error_t **e);
jpayne@69 8501
jpayne@69 8502 int
jpayne@69 8503 xcb_open_font_sizeof (const void *_buffer);
jpayne@69 8504
jpayne@69 8505 /**
jpayne@69 8506 * @brief opens a font
jpayne@69 8507 *
jpayne@69 8508 * @param c The connection
jpayne@69 8509 * @param fid The ID with which you will refer to the font, created by `xcb_generate_id`.
jpayne@69 8510 * @param name_len Length (in bytes) of \a name.
jpayne@69 8511 * @param name A pattern describing an X core font.
jpayne@69 8512 * @return A cookie
jpayne@69 8513 *
jpayne@69 8514 * Opens any X core font matching the given \a name (for example "-misc-fixed-*").
jpayne@69 8515 *
jpayne@69 8516 * Note that X core fonts are deprecated (but still supported) in favor of
jpayne@69 8517 * client-side rendering using Xft.
jpayne@69 8518 *
jpayne@69 8519 * This form can be used only if the request will not cause
jpayne@69 8520 * a reply to be generated. Any returned error will be
jpayne@69 8521 * saved for handling by xcb_request_check().
jpayne@69 8522 */
jpayne@69 8523 xcb_void_cookie_t
jpayne@69 8524 xcb_open_font_checked (xcb_connection_t *c,
jpayne@69 8525 xcb_font_t fid,
jpayne@69 8526 uint16_t name_len,
jpayne@69 8527 const char *name);
jpayne@69 8528
jpayne@69 8529 /**
jpayne@69 8530 * @brief opens a font
jpayne@69 8531 *
jpayne@69 8532 * @param c The connection
jpayne@69 8533 * @param fid The ID with which you will refer to the font, created by `xcb_generate_id`.
jpayne@69 8534 * @param name_len Length (in bytes) of \a name.
jpayne@69 8535 * @param name A pattern describing an X core font.
jpayne@69 8536 * @return A cookie
jpayne@69 8537 *
jpayne@69 8538 * Opens any X core font matching the given \a name (for example "-misc-fixed-*").
jpayne@69 8539 *
jpayne@69 8540 * Note that X core fonts are deprecated (but still supported) in favor of
jpayne@69 8541 * client-side rendering using Xft.
jpayne@69 8542 *
jpayne@69 8543 */
jpayne@69 8544 xcb_void_cookie_t
jpayne@69 8545 xcb_open_font (xcb_connection_t *c,
jpayne@69 8546 xcb_font_t fid,
jpayne@69 8547 uint16_t name_len,
jpayne@69 8548 const char *name);
jpayne@69 8549
jpayne@69 8550 char *
jpayne@69 8551 xcb_open_font_name (const xcb_open_font_request_t *R);
jpayne@69 8552
jpayne@69 8553 int
jpayne@69 8554 xcb_open_font_name_length (const xcb_open_font_request_t *R);
jpayne@69 8555
jpayne@69 8556 xcb_generic_iterator_t
jpayne@69 8557 xcb_open_font_name_end (const xcb_open_font_request_t *R);
jpayne@69 8558
jpayne@69 8559 /**
jpayne@69 8560 *
jpayne@69 8561 * @param c The connection
jpayne@69 8562 * @return A cookie
jpayne@69 8563 *
jpayne@69 8564 * Delivers a request to the X server.
jpayne@69 8565 *
jpayne@69 8566 * This form can be used only if the request will not cause
jpayne@69 8567 * a reply to be generated. Any returned error will be
jpayne@69 8568 * saved for handling by xcb_request_check().
jpayne@69 8569 */
jpayne@69 8570 xcb_void_cookie_t
jpayne@69 8571 xcb_close_font_checked (xcb_connection_t *c,
jpayne@69 8572 xcb_font_t font);
jpayne@69 8573
jpayne@69 8574 /**
jpayne@69 8575 *
jpayne@69 8576 * @param c The connection
jpayne@69 8577 * @return A cookie
jpayne@69 8578 *
jpayne@69 8579 * Delivers a request to the X server.
jpayne@69 8580 *
jpayne@69 8581 */
jpayne@69 8582 xcb_void_cookie_t
jpayne@69 8583 xcb_close_font (xcb_connection_t *c,
jpayne@69 8584 xcb_font_t font);
jpayne@69 8585
jpayne@69 8586 /**
jpayne@69 8587 * Get the next element of the iterator
jpayne@69 8588 * @param i Pointer to a xcb_fontprop_iterator_t
jpayne@69 8589 *
jpayne@69 8590 * Get the next element in the iterator. The member rem is
jpayne@69 8591 * decreased by one. The member data points to the next
jpayne@69 8592 * element. The member index is increased by sizeof(xcb_fontprop_t)
jpayne@69 8593 */
jpayne@69 8594 void
jpayne@69 8595 xcb_fontprop_next (xcb_fontprop_iterator_t *i);
jpayne@69 8596
jpayne@69 8597 /**
jpayne@69 8598 * Return the iterator pointing to the last element
jpayne@69 8599 * @param i An xcb_fontprop_iterator_t
jpayne@69 8600 * @return The iterator pointing to the last element
jpayne@69 8601 *
jpayne@69 8602 * Set the current element in the iterator to the last element.
jpayne@69 8603 * The member rem is set to 0. The member data points to the
jpayne@69 8604 * last element.
jpayne@69 8605 */
jpayne@69 8606 xcb_generic_iterator_t
jpayne@69 8607 xcb_fontprop_end (xcb_fontprop_iterator_t i);
jpayne@69 8608
jpayne@69 8609 /**
jpayne@69 8610 * Get the next element of the iterator
jpayne@69 8611 * @param i Pointer to a xcb_charinfo_iterator_t
jpayne@69 8612 *
jpayne@69 8613 * Get the next element in the iterator. The member rem is
jpayne@69 8614 * decreased by one. The member data points to the next
jpayne@69 8615 * element. The member index is increased by sizeof(xcb_charinfo_t)
jpayne@69 8616 */
jpayne@69 8617 void
jpayne@69 8618 xcb_charinfo_next (xcb_charinfo_iterator_t *i);
jpayne@69 8619
jpayne@69 8620 /**
jpayne@69 8621 * Return the iterator pointing to the last element
jpayne@69 8622 * @param i An xcb_charinfo_iterator_t
jpayne@69 8623 * @return The iterator pointing to the last element
jpayne@69 8624 *
jpayne@69 8625 * Set the current element in the iterator to the last element.
jpayne@69 8626 * The member rem is set to 0. The member data points to the
jpayne@69 8627 * last element.
jpayne@69 8628 */
jpayne@69 8629 xcb_generic_iterator_t
jpayne@69 8630 xcb_charinfo_end (xcb_charinfo_iterator_t i);
jpayne@69 8631
jpayne@69 8632 int
jpayne@69 8633 xcb_query_font_sizeof (const void *_buffer);
jpayne@69 8634
jpayne@69 8635 /**
jpayne@69 8636 * @brief query font metrics
jpayne@69 8637 *
jpayne@69 8638 * @param c The connection
jpayne@69 8639 * @param font The fontable (Font or Graphics Context) to query.
jpayne@69 8640 * @return A cookie
jpayne@69 8641 *
jpayne@69 8642 * Queries information associated with the font.
jpayne@69 8643 *
jpayne@69 8644 */
jpayne@69 8645 xcb_query_font_cookie_t
jpayne@69 8646 xcb_query_font (xcb_connection_t *c,
jpayne@69 8647 xcb_fontable_t font);
jpayne@69 8648
jpayne@69 8649 /**
jpayne@69 8650 * @brief query font metrics
jpayne@69 8651 *
jpayne@69 8652 * @param c The connection
jpayne@69 8653 * @param font The fontable (Font or Graphics Context) to query.
jpayne@69 8654 * @return A cookie
jpayne@69 8655 *
jpayne@69 8656 * Queries information associated with the font.
jpayne@69 8657 *
jpayne@69 8658 * This form can be used only if the request will cause
jpayne@69 8659 * a reply to be generated. Any returned error will be
jpayne@69 8660 * placed in the event queue.
jpayne@69 8661 */
jpayne@69 8662 xcb_query_font_cookie_t
jpayne@69 8663 xcb_query_font_unchecked (xcb_connection_t *c,
jpayne@69 8664 xcb_fontable_t font);
jpayne@69 8665
jpayne@69 8666 xcb_fontprop_t *
jpayne@69 8667 xcb_query_font_properties (const xcb_query_font_reply_t *R);
jpayne@69 8668
jpayne@69 8669 int
jpayne@69 8670 xcb_query_font_properties_length (const xcb_query_font_reply_t *R);
jpayne@69 8671
jpayne@69 8672 xcb_fontprop_iterator_t
jpayne@69 8673 xcb_query_font_properties_iterator (const xcb_query_font_reply_t *R);
jpayne@69 8674
jpayne@69 8675 xcb_charinfo_t *
jpayne@69 8676 xcb_query_font_char_infos (const xcb_query_font_reply_t *R);
jpayne@69 8677
jpayne@69 8678 int
jpayne@69 8679 xcb_query_font_char_infos_length (const xcb_query_font_reply_t *R);
jpayne@69 8680
jpayne@69 8681 xcb_charinfo_iterator_t
jpayne@69 8682 xcb_query_font_char_infos_iterator (const xcb_query_font_reply_t *R);
jpayne@69 8683
jpayne@69 8684 /**
jpayne@69 8685 * Return the reply
jpayne@69 8686 * @param c The connection
jpayne@69 8687 * @param cookie The cookie
jpayne@69 8688 * @param e The xcb_generic_error_t supplied
jpayne@69 8689 *
jpayne@69 8690 * Returns the reply of the request asked by
jpayne@69 8691 *
jpayne@69 8692 * The parameter @p e supplied to this function must be NULL if
jpayne@69 8693 * xcb_query_font_unchecked(). is used.
jpayne@69 8694 * Otherwise, it stores the error if any.
jpayne@69 8695 *
jpayne@69 8696 * The returned value must be freed by the caller using free().
jpayne@69 8697 */
jpayne@69 8698 xcb_query_font_reply_t *
jpayne@69 8699 xcb_query_font_reply (xcb_connection_t *c,
jpayne@69 8700 xcb_query_font_cookie_t cookie /**< */,
jpayne@69 8701 xcb_generic_error_t **e);
jpayne@69 8702
jpayne@69 8703 int
jpayne@69 8704 xcb_query_text_extents_sizeof (const void *_buffer,
jpayne@69 8705 uint32_t string_len);
jpayne@69 8706
jpayne@69 8707 /**
jpayne@69 8708 * @brief get text extents
jpayne@69 8709 *
jpayne@69 8710 * @param c The connection
jpayne@69 8711 * @param font The \a font to calculate text extents in. You can also pass a graphics context.
jpayne@69 8712 * @param string_len The number of characters in \a string.
jpayne@69 8713 * @param string The text to get text extents for.
jpayne@69 8714 * @return A cookie
jpayne@69 8715 *
jpayne@69 8716 * Query text extents from the X11 server. This request returns the bounding box
jpayne@69 8717 * of the specified 16-bit character string in the specified \a font or the font
jpayne@69 8718 * contained in the specified graphics context.
jpayne@69 8719 *
jpayne@69 8720 * `font_ascent` is set to the maximum of the ascent metrics of all characters in
jpayne@69 8721 * the string. `font_descent` is set to the maximum of the descent metrics.
jpayne@69 8722 * `overall_width` is set to the sum of the character-width metrics of all
jpayne@69 8723 * characters in the string. For each character in the string, let W be the sum of
jpayne@69 8724 * the character-width metrics of all characters preceding it in the string. Let L
jpayne@69 8725 * be the left-side-bearing metric of the character plus W. Let R be the
jpayne@69 8726 * right-side-bearing metric of the character plus W. The lbearing member is set
jpayne@69 8727 * to the minimum L of all characters in the string. The rbearing member is set to
jpayne@69 8728 * the maximum R.
jpayne@69 8729 *
jpayne@69 8730 * For fonts defined with linear indexing rather than 2-byte matrix indexing, each
jpayne@69 8731 * `xcb_char2b_t` structure is interpreted as a 16-bit number with byte1 as the
jpayne@69 8732 * most significant byte. If the font has no defined default character, undefined
jpayne@69 8733 * characters in the string are taken to have all zero metrics.
jpayne@69 8734 *
jpayne@69 8735 * Characters with all zero metrics are ignored. If the font has no defined
jpayne@69 8736 * default_char, the undefined characters in the string are also ignored.
jpayne@69 8737 *
jpayne@69 8738 */
jpayne@69 8739 xcb_query_text_extents_cookie_t
jpayne@69 8740 xcb_query_text_extents (xcb_connection_t *c,
jpayne@69 8741 xcb_fontable_t font,
jpayne@69 8742 uint32_t string_len,
jpayne@69 8743 const xcb_char2b_t *string);
jpayne@69 8744
jpayne@69 8745 /**
jpayne@69 8746 * @brief get text extents
jpayne@69 8747 *
jpayne@69 8748 * @param c The connection
jpayne@69 8749 * @param font The \a font to calculate text extents in. You can also pass a graphics context.
jpayne@69 8750 * @param string_len The number of characters in \a string.
jpayne@69 8751 * @param string The text to get text extents for.
jpayne@69 8752 * @return A cookie
jpayne@69 8753 *
jpayne@69 8754 * Query text extents from the X11 server. This request returns the bounding box
jpayne@69 8755 * of the specified 16-bit character string in the specified \a font or the font
jpayne@69 8756 * contained in the specified graphics context.
jpayne@69 8757 *
jpayne@69 8758 * `font_ascent` is set to the maximum of the ascent metrics of all characters in
jpayne@69 8759 * the string. `font_descent` is set to the maximum of the descent metrics.
jpayne@69 8760 * `overall_width` is set to the sum of the character-width metrics of all
jpayne@69 8761 * characters in the string. For each character in the string, let W be the sum of
jpayne@69 8762 * the character-width metrics of all characters preceding it in the string. Let L
jpayne@69 8763 * be the left-side-bearing metric of the character plus W. Let R be the
jpayne@69 8764 * right-side-bearing metric of the character plus W. The lbearing member is set
jpayne@69 8765 * to the minimum L of all characters in the string. The rbearing member is set to
jpayne@69 8766 * the maximum R.
jpayne@69 8767 *
jpayne@69 8768 * For fonts defined with linear indexing rather than 2-byte matrix indexing, each
jpayne@69 8769 * `xcb_char2b_t` structure is interpreted as a 16-bit number with byte1 as the
jpayne@69 8770 * most significant byte. If the font has no defined default character, undefined
jpayne@69 8771 * characters in the string are taken to have all zero metrics.
jpayne@69 8772 *
jpayne@69 8773 * Characters with all zero metrics are ignored. If the font has no defined
jpayne@69 8774 * default_char, the undefined characters in the string are also ignored.
jpayne@69 8775 *
jpayne@69 8776 * This form can be used only if the request will cause
jpayne@69 8777 * a reply to be generated. Any returned error will be
jpayne@69 8778 * placed in the event queue.
jpayne@69 8779 */
jpayne@69 8780 xcb_query_text_extents_cookie_t
jpayne@69 8781 xcb_query_text_extents_unchecked (xcb_connection_t *c,
jpayne@69 8782 xcb_fontable_t font,
jpayne@69 8783 uint32_t string_len,
jpayne@69 8784 const xcb_char2b_t *string);
jpayne@69 8785
jpayne@69 8786 /**
jpayne@69 8787 * Return the reply
jpayne@69 8788 * @param c The connection
jpayne@69 8789 * @param cookie The cookie
jpayne@69 8790 * @param e The xcb_generic_error_t supplied
jpayne@69 8791 *
jpayne@69 8792 * Returns the reply of the request asked by
jpayne@69 8793 *
jpayne@69 8794 * The parameter @p e supplied to this function must be NULL if
jpayne@69 8795 * xcb_query_text_extents_unchecked(). is used.
jpayne@69 8796 * Otherwise, it stores the error if any.
jpayne@69 8797 *
jpayne@69 8798 * The returned value must be freed by the caller using free().
jpayne@69 8799 */
jpayne@69 8800 xcb_query_text_extents_reply_t *
jpayne@69 8801 xcb_query_text_extents_reply (xcb_connection_t *c,
jpayne@69 8802 xcb_query_text_extents_cookie_t cookie /**< */,
jpayne@69 8803 xcb_generic_error_t **e);
jpayne@69 8804
jpayne@69 8805 int
jpayne@69 8806 xcb_str_sizeof (const void *_buffer);
jpayne@69 8807
jpayne@69 8808 char *
jpayne@69 8809 xcb_str_name (const xcb_str_t *R);
jpayne@69 8810
jpayne@69 8811 int
jpayne@69 8812 xcb_str_name_length (const xcb_str_t *R);
jpayne@69 8813
jpayne@69 8814 xcb_generic_iterator_t
jpayne@69 8815 xcb_str_name_end (const xcb_str_t *R);
jpayne@69 8816
jpayne@69 8817 /**
jpayne@69 8818 * Get the next element of the iterator
jpayne@69 8819 * @param i Pointer to a xcb_str_iterator_t
jpayne@69 8820 *
jpayne@69 8821 * Get the next element in the iterator. The member rem is
jpayne@69 8822 * decreased by one. The member data points to the next
jpayne@69 8823 * element. The member index is increased by sizeof(xcb_str_t)
jpayne@69 8824 */
jpayne@69 8825 void
jpayne@69 8826 xcb_str_next (xcb_str_iterator_t *i);
jpayne@69 8827
jpayne@69 8828 /**
jpayne@69 8829 * Return the iterator pointing to the last element
jpayne@69 8830 * @param i An xcb_str_iterator_t
jpayne@69 8831 * @return The iterator pointing to the last element
jpayne@69 8832 *
jpayne@69 8833 * Set the current element in the iterator to the last element.
jpayne@69 8834 * The member rem is set to 0. The member data points to the
jpayne@69 8835 * last element.
jpayne@69 8836 */
jpayne@69 8837 xcb_generic_iterator_t
jpayne@69 8838 xcb_str_end (xcb_str_iterator_t i);
jpayne@69 8839
jpayne@69 8840 int
jpayne@69 8841 xcb_list_fonts_sizeof (const void *_buffer);
jpayne@69 8842
jpayne@69 8843 /**
jpayne@69 8844 * @brief get matching font names
jpayne@69 8845 *
jpayne@69 8846 * @param c The connection
jpayne@69 8847 * @param max_names The maximum number of fonts to be returned.
jpayne@69 8848 * @param pattern_len The length (in bytes) of \a pattern.
jpayne@69 8849 * @param pattern A font pattern, for example "-misc-fixed-*".
jpayne@69 8850 * \n
jpayne@69 8851 * The asterisk (*) is a wildcard for any number of characters. The question mark
jpayne@69 8852 * (?) is a wildcard for a single character. Use of uppercase or lowercase does
jpayne@69 8853 * not matter.
jpayne@69 8854 * @return A cookie
jpayne@69 8855 *
jpayne@69 8856 * Gets a list of available font names which match the given \a pattern.
jpayne@69 8857 *
jpayne@69 8858 */
jpayne@69 8859 xcb_list_fonts_cookie_t
jpayne@69 8860 xcb_list_fonts (xcb_connection_t *c,
jpayne@69 8861 uint16_t max_names,
jpayne@69 8862 uint16_t pattern_len,
jpayne@69 8863 const char *pattern);
jpayne@69 8864
jpayne@69 8865 /**
jpayne@69 8866 * @brief get matching font names
jpayne@69 8867 *
jpayne@69 8868 * @param c The connection
jpayne@69 8869 * @param max_names The maximum number of fonts to be returned.
jpayne@69 8870 * @param pattern_len The length (in bytes) of \a pattern.
jpayne@69 8871 * @param pattern A font pattern, for example "-misc-fixed-*".
jpayne@69 8872 * \n
jpayne@69 8873 * The asterisk (*) is a wildcard for any number of characters. The question mark
jpayne@69 8874 * (?) is a wildcard for a single character. Use of uppercase or lowercase does
jpayne@69 8875 * not matter.
jpayne@69 8876 * @return A cookie
jpayne@69 8877 *
jpayne@69 8878 * Gets a list of available font names which match the given \a pattern.
jpayne@69 8879 *
jpayne@69 8880 * This form can be used only if the request will cause
jpayne@69 8881 * a reply to be generated. Any returned error will be
jpayne@69 8882 * placed in the event queue.
jpayne@69 8883 */
jpayne@69 8884 xcb_list_fonts_cookie_t
jpayne@69 8885 xcb_list_fonts_unchecked (xcb_connection_t *c,
jpayne@69 8886 uint16_t max_names,
jpayne@69 8887 uint16_t pattern_len,
jpayne@69 8888 const char *pattern);
jpayne@69 8889
jpayne@69 8890 int
jpayne@69 8891 xcb_list_fonts_names_length (const xcb_list_fonts_reply_t *R);
jpayne@69 8892
jpayne@69 8893 xcb_str_iterator_t
jpayne@69 8894 xcb_list_fonts_names_iterator (const xcb_list_fonts_reply_t *R);
jpayne@69 8895
jpayne@69 8896 /**
jpayne@69 8897 * Return the reply
jpayne@69 8898 * @param c The connection
jpayne@69 8899 * @param cookie The cookie
jpayne@69 8900 * @param e The xcb_generic_error_t supplied
jpayne@69 8901 *
jpayne@69 8902 * Returns the reply of the request asked by
jpayne@69 8903 *
jpayne@69 8904 * The parameter @p e supplied to this function must be NULL if
jpayne@69 8905 * xcb_list_fonts_unchecked(). is used.
jpayne@69 8906 * Otherwise, it stores the error if any.
jpayne@69 8907 *
jpayne@69 8908 * The returned value must be freed by the caller using free().
jpayne@69 8909 */
jpayne@69 8910 xcb_list_fonts_reply_t *
jpayne@69 8911 xcb_list_fonts_reply (xcb_connection_t *c,
jpayne@69 8912 xcb_list_fonts_cookie_t cookie /**< */,
jpayne@69 8913 xcb_generic_error_t **e);
jpayne@69 8914
jpayne@69 8915 int
jpayne@69 8916 xcb_list_fonts_with_info_sizeof (const void *_buffer);
jpayne@69 8917
jpayne@69 8918 /**
jpayne@69 8919 * @brief get matching font names and information
jpayne@69 8920 *
jpayne@69 8921 * @param c The connection
jpayne@69 8922 * @param max_names The maximum number of fonts to be returned.
jpayne@69 8923 * @param pattern_len The length (in bytes) of \a pattern.
jpayne@69 8924 * @param pattern A font pattern, for example "-misc-fixed-*".
jpayne@69 8925 * \n
jpayne@69 8926 * The asterisk (*) is a wildcard for any number of characters. The question mark
jpayne@69 8927 * (?) is a wildcard for a single character. Use of uppercase or lowercase does
jpayne@69 8928 * not matter.
jpayne@69 8929 * @return A cookie
jpayne@69 8930 *
jpayne@69 8931 * Gets a list of available font names which match the given \a pattern.
jpayne@69 8932 *
jpayne@69 8933 */
jpayne@69 8934 xcb_list_fonts_with_info_cookie_t
jpayne@69 8935 xcb_list_fonts_with_info (xcb_connection_t *c,
jpayne@69 8936 uint16_t max_names,
jpayne@69 8937 uint16_t pattern_len,
jpayne@69 8938 const char *pattern);
jpayne@69 8939
jpayne@69 8940 /**
jpayne@69 8941 * @brief get matching font names and information
jpayne@69 8942 *
jpayne@69 8943 * @param c The connection
jpayne@69 8944 * @param max_names The maximum number of fonts to be returned.
jpayne@69 8945 * @param pattern_len The length (in bytes) of \a pattern.
jpayne@69 8946 * @param pattern A font pattern, for example "-misc-fixed-*".
jpayne@69 8947 * \n
jpayne@69 8948 * The asterisk (*) is a wildcard for any number of characters. The question mark
jpayne@69 8949 * (?) is a wildcard for a single character. Use of uppercase or lowercase does
jpayne@69 8950 * not matter.
jpayne@69 8951 * @return A cookie
jpayne@69 8952 *
jpayne@69 8953 * Gets a list of available font names which match the given \a pattern.
jpayne@69 8954 *
jpayne@69 8955 * This form can be used only if the request will cause
jpayne@69 8956 * a reply to be generated. Any returned error will be
jpayne@69 8957 * placed in the event queue.
jpayne@69 8958 */
jpayne@69 8959 xcb_list_fonts_with_info_cookie_t
jpayne@69 8960 xcb_list_fonts_with_info_unchecked (xcb_connection_t *c,
jpayne@69 8961 uint16_t max_names,
jpayne@69 8962 uint16_t pattern_len,
jpayne@69 8963 const char *pattern);
jpayne@69 8964
jpayne@69 8965 xcb_fontprop_t *
jpayne@69 8966 xcb_list_fonts_with_info_properties (const xcb_list_fonts_with_info_reply_t *R);
jpayne@69 8967
jpayne@69 8968 int
jpayne@69 8969 xcb_list_fonts_with_info_properties_length (const xcb_list_fonts_with_info_reply_t *R);
jpayne@69 8970
jpayne@69 8971 xcb_fontprop_iterator_t
jpayne@69 8972 xcb_list_fonts_with_info_properties_iterator (const xcb_list_fonts_with_info_reply_t *R);
jpayne@69 8973
jpayne@69 8974 char *
jpayne@69 8975 xcb_list_fonts_with_info_name (const xcb_list_fonts_with_info_reply_t *R);
jpayne@69 8976
jpayne@69 8977 int
jpayne@69 8978 xcb_list_fonts_with_info_name_length (const xcb_list_fonts_with_info_reply_t *R);
jpayne@69 8979
jpayne@69 8980 xcb_generic_iterator_t
jpayne@69 8981 xcb_list_fonts_with_info_name_end (const xcb_list_fonts_with_info_reply_t *R);
jpayne@69 8982
jpayne@69 8983 /**
jpayne@69 8984 * Return the reply
jpayne@69 8985 * @param c The connection
jpayne@69 8986 * @param cookie The cookie
jpayne@69 8987 * @param e The xcb_generic_error_t supplied
jpayne@69 8988 *
jpayne@69 8989 * Returns the reply of the request asked by
jpayne@69 8990 *
jpayne@69 8991 * The parameter @p e supplied to this function must be NULL if
jpayne@69 8992 * xcb_list_fonts_with_info_unchecked(). is used.
jpayne@69 8993 * Otherwise, it stores the error if any.
jpayne@69 8994 *
jpayne@69 8995 * The returned value must be freed by the caller using free().
jpayne@69 8996 */
jpayne@69 8997 xcb_list_fonts_with_info_reply_t *
jpayne@69 8998 xcb_list_fonts_with_info_reply (xcb_connection_t *c,
jpayne@69 8999 xcb_list_fonts_with_info_cookie_t cookie /**< */,
jpayne@69 9000 xcb_generic_error_t **e);
jpayne@69 9001
jpayne@69 9002 int
jpayne@69 9003 xcb_set_font_path_sizeof (const void *_buffer);
jpayne@69 9004
jpayne@69 9005 /**
jpayne@69 9006 *
jpayne@69 9007 * @param c The connection
jpayne@69 9008 * @return A cookie
jpayne@69 9009 *
jpayne@69 9010 * Delivers a request to the X server.
jpayne@69 9011 *
jpayne@69 9012 * This form can be used only if the request will not cause
jpayne@69 9013 * a reply to be generated. Any returned error will be
jpayne@69 9014 * saved for handling by xcb_request_check().
jpayne@69 9015 */
jpayne@69 9016 xcb_void_cookie_t
jpayne@69 9017 xcb_set_font_path_checked (xcb_connection_t *c,
jpayne@69 9018 uint16_t font_qty,
jpayne@69 9019 const xcb_str_t *font);
jpayne@69 9020
jpayne@69 9021 /**
jpayne@69 9022 *
jpayne@69 9023 * @param c The connection
jpayne@69 9024 * @return A cookie
jpayne@69 9025 *
jpayne@69 9026 * Delivers a request to the X server.
jpayne@69 9027 *
jpayne@69 9028 */
jpayne@69 9029 xcb_void_cookie_t
jpayne@69 9030 xcb_set_font_path (xcb_connection_t *c,
jpayne@69 9031 uint16_t font_qty,
jpayne@69 9032 const xcb_str_t *font);
jpayne@69 9033
jpayne@69 9034 int
jpayne@69 9035 xcb_set_font_path_font_length (const xcb_set_font_path_request_t *R);
jpayne@69 9036
jpayne@69 9037 xcb_str_iterator_t
jpayne@69 9038 xcb_set_font_path_font_iterator (const xcb_set_font_path_request_t *R);
jpayne@69 9039
jpayne@69 9040 int
jpayne@69 9041 xcb_get_font_path_sizeof (const void *_buffer);
jpayne@69 9042
jpayne@69 9043 /**
jpayne@69 9044 *
jpayne@69 9045 * @param c The connection
jpayne@69 9046 * @return A cookie
jpayne@69 9047 *
jpayne@69 9048 * Delivers a request to the X server.
jpayne@69 9049 *
jpayne@69 9050 */
jpayne@69 9051 xcb_get_font_path_cookie_t
jpayne@69 9052 xcb_get_font_path (xcb_connection_t *c);
jpayne@69 9053
jpayne@69 9054 /**
jpayne@69 9055 *
jpayne@69 9056 * @param c The connection
jpayne@69 9057 * @return A cookie
jpayne@69 9058 *
jpayne@69 9059 * Delivers a request to the X server.
jpayne@69 9060 *
jpayne@69 9061 * This form can be used only if the request will cause
jpayne@69 9062 * a reply to be generated. Any returned error will be
jpayne@69 9063 * placed in the event queue.
jpayne@69 9064 */
jpayne@69 9065 xcb_get_font_path_cookie_t
jpayne@69 9066 xcb_get_font_path_unchecked (xcb_connection_t *c);
jpayne@69 9067
jpayne@69 9068 int
jpayne@69 9069 xcb_get_font_path_path_length (const xcb_get_font_path_reply_t *R);
jpayne@69 9070
jpayne@69 9071 xcb_str_iterator_t
jpayne@69 9072 xcb_get_font_path_path_iterator (const xcb_get_font_path_reply_t *R);
jpayne@69 9073
jpayne@69 9074 /**
jpayne@69 9075 * Return the reply
jpayne@69 9076 * @param c The connection
jpayne@69 9077 * @param cookie The cookie
jpayne@69 9078 * @param e The xcb_generic_error_t supplied
jpayne@69 9079 *
jpayne@69 9080 * Returns the reply of the request asked by
jpayne@69 9081 *
jpayne@69 9082 * The parameter @p e supplied to this function must be NULL if
jpayne@69 9083 * xcb_get_font_path_unchecked(). is used.
jpayne@69 9084 * Otherwise, it stores the error if any.
jpayne@69 9085 *
jpayne@69 9086 * The returned value must be freed by the caller using free().
jpayne@69 9087 */
jpayne@69 9088 xcb_get_font_path_reply_t *
jpayne@69 9089 xcb_get_font_path_reply (xcb_connection_t *c,
jpayne@69 9090 xcb_get_font_path_cookie_t cookie /**< */,
jpayne@69 9091 xcb_generic_error_t **e);
jpayne@69 9092
jpayne@69 9093 /**
jpayne@69 9094 * @brief Creates a pixmap
jpayne@69 9095 *
jpayne@69 9096 * @param c The connection
jpayne@69 9097 * @param depth TODO
jpayne@69 9098 * @param pid The ID with which you will refer to the new pixmap, created by
jpayne@69 9099 * `xcb_generate_id`.
jpayne@69 9100 * @param drawable Drawable to get the screen from.
jpayne@69 9101 * @param width The width of the new pixmap.
jpayne@69 9102 * @param height The height of the new pixmap.
jpayne@69 9103 * @return A cookie
jpayne@69 9104 *
jpayne@69 9105 * Creates a pixmap. The pixmap can only be used on the same screen as \a drawable
jpayne@69 9106 * is on and only with drawables of the same \a depth.
jpayne@69 9107 *
jpayne@69 9108 * This form can be used only if the request will not cause
jpayne@69 9109 * a reply to be generated. Any returned error will be
jpayne@69 9110 * saved for handling by xcb_request_check().
jpayne@69 9111 */
jpayne@69 9112 xcb_void_cookie_t
jpayne@69 9113 xcb_create_pixmap_checked (xcb_connection_t *c,
jpayne@69 9114 uint8_t depth,
jpayne@69 9115 xcb_pixmap_t pid,
jpayne@69 9116 xcb_drawable_t drawable,
jpayne@69 9117 uint16_t width,
jpayne@69 9118 uint16_t height);
jpayne@69 9119
jpayne@69 9120 /**
jpayne@69 9121 * @brief Creates a pixmap
jpayne@69 9122 *
jpayne@69 9123 * @param c The connection
jpayne@69 9124 * @param depth TODO
jpayne@69 9125 * @param pid The ID with which you will refer to the new pixmap, created by
jpayne@69 9126 * `xcb_generate_id`.
jpayne@69 9127 * @param drawable Drawable to get the screen from.
jpayne@69 9128 * @param width The width of the new pixmap.
jpayne@69 9129 * @param height The height of the new pixmap.
jpayne@69 9130 * @return A cookie
jpayne@69 9131 *
jpayne@69 9132 * Creates a pixmap. The pixmap can only be used on the same screen as \a drawable
jpayne@69 9133 * is on and only with drawables of the same \a depth.
jpayne@69 9134 *
jpayne@69 9135 */
jpayne@69 9136 xcb_void_cookie_t
jpayne@69 9137 xcb_create_pixmap (xcb_connection_t *c,
jpayne@69 9138 uint8_t depth,
jpayne@69 9139 xcb_pixmap_t pid,
jpayne@69 9140 xcb_drawable_t drawable,
jpayne@69 9141 uint16_t width,
jpayne@69 9142 uint16_t height);
jpayne@69 9143
jpayne@69 9144 /**
jpayne@69 9145 * @brief Destroys a pixmap
jpayne@69 9146 *
jpayne@69 9147 * @param c The connection
jpayne@69 9148 * @param pixmap The pixmap to destroy.
jpayne@69 9149 * @return A cookie
jpayne@69 9150 *
jpayne@69 9151 * Deletes the association between the pixmap ID and the pixmap. The pixmap
jpayne@69 9152 * storage will be freed when there are no more references to it.
jpayne@69 9153 *
jpayne@69 9154 * This form can be used only if the request will not cause
jpayne@69 9155 * a reply to be generated. Any returned error will be
jpayne@69 9156 * saved for handling by xcb_request_check().
jpayne@69 9157 */
jpayne@69 9158 xcb_void_cookie_t
jpayne@69 9159 xcb_free_pixmap_checked (xcb_connection_t *c,
jpayne@69 9160 xcb_pixmap_t pixmap);
jpayne@69 9161
jpayne@69 9162 /**
jpayne@69 9163 * @brief Destroys a pixmap
jpayne@69 9164 *
jpayne@69 9165 * @param c The connection
jpayne@69 9166 * @param pixmap The pixmap to destroy.
jpayne@69 9167 * @return A cookie
jpayne@69 9168 *
jpayne@69 9169 * Deletes the association between the pixmap ID and the pixmap. The pixmap
jpayne@69 9170 * storage will be freed when there are no more references to it.
jpayne@69 9171 *
jpayne@69 9172 */
jpayne@69 9173 xcb_void_cookie_t
jpayne@69 9174 xcb_free_pixmap (xcb_connection_t *c,
jpayne@69 9175 xcb_pixmap_t pixmap);
jpayne@69 9176
jpayne@69 9177 int
jpayne@69 9178 xcb_create_gc_value_list_serialize (void **_buffer,
jpayne@69 9179 uint32_t value_mask,
jpayne@69 9180 const xcb_create_gc_value_list_t *_aux);
jpayne@69 9181
jpayne@69 9182 int
jpayne@69 9183 xcb_create_gc_value_list_unpack (const void *_buffer,
jpayne@69 9184 uint32_t value_mask,
jpayne@69 9185 xcb_create_gc_value_list_t *_aux);
jpayne@69 9186
jpayne@69 9187 int
jpayne@69 9188 xcb_create_gc_value_list_sizeof (const void *_buffer,
jpayne@69 9189 uint32_t value_mask);
jpayne@69 9190
jpayne@69 9191 int
jpayne@69 9192 xcb_create_gc_sizeof (const void *_buffer);
jpayne@69 9193
jpayne@69 9194 /**
jpayne@69 9195 * @brief Creates a graphics context
jpayne@69 9196 *
jpayne@69 9197 * @param c The connection
jpayne@69 9198 * @param cid The ID with which you will refer to the graphics context, created by
jpayne@69 9199 * `xcb_generate_id`.
jpayne@69 9200 * @param drawable Drawable to get the root/depth from.
jpayne@69 9201 * @return A cookie
jpayne@69 9202 *
jpayne@69 9203 * Creates a graphics context. The graphics context can be used with any drawable
jpayne@69 9204 * that has the same root and depth as the specified drawable.
jpayne@69 9205 *
jpayne@69 9206 * This form can be used only if the request will not cause
jpayne@69 9207 * a reply to be generated. Any returned error will be
jpayne@69 9208 * saved for handling by xcb_request_check().
jpayne@69 9209 */
jpayne@69 9210 xcb_void_cookie_t
jpayne@69 9211 xcb_create_gc_checked (xcb_connection_t *c,
jpayne@69 9212 xcb_gcontext_t cid,
jpayne@69 9213 xcb_drawable_t drawable,
jpayne@69 9214 uint32_t value_mask,
jpayne@69 9215 const void *value_list);
jpayne@69 9216
jpayne@69 9217 /**
jpayne@69 9218 * @brief Creates a graphics context
jpayne@69 9219 *
jpayne@69 9220 * @param c The connection
jpayne@69 9221 * @param cid The ID with which you will refer to the graphics context, created by
jpayne@69 9222 * `xcb_generate_id`.
jpayne@69 9223 * @param drawable Drawable to get the root/depth from.
jpayne@69 9224 * @return A cookie
jpayne@69 9225 *
jpayne@69 9226 * Creates a graphics context. The graphics context can be used with any drawable
jpayne@69 9227 * that has the same root and depth as the specified drawable.
jpayne@69 9228 *
jpayne@69 9229 */
jpayne@69 9230 xcb_void_cookie_t
jpayne@69 9231 xcb_create_gc (xcb_connection_t *c,
jpayne@69 9232 xcb_gcontext_t cid,
jpayne@69 9233 xcb_drawable_t drawable,
jpayne@69 9234 uint32_t value_mask,
jpayne@69 9235 const void *value_list);
jpayne@69 9236
jpayne@69 9237 /**
jpayne@69 9238 * @brief Creates a graphics context
jpayne@69 9239 *
jpayne@69 9240 * @param c The connection
jpayne@69 9241 * @param cid The ID with which you will refer to the graphics context, created by
jpayne@69 9242 * `xcb_generate_id`.
jpayne@69 9243 * @param drawable Drawable to get the root/depth from.
jpayne@69 9244 * @return A cookie
jpayne@69 9245 *
jpayne@69 9246 * Creates a graphics context. The graphics context can be used with any drawable
jpayne@69 9247 * that has the same root and depth as the specified drawable.
jpayne@69 9248 *
jpayne@69 9249 * This form can be used only if the request will not cause
jpayne@69 9250 * a reply to be generated. Any returned error will be
jpayne@69 9251 * saved for handling by xcb_request_check().
jpayne@69 9252 */
jpayne@69 9253 xcb_void_cookie_t
jpayne@69 9254 xcb_create_gc_aux_checked (xcb_connection_t *c,
jpayne@69 9255 xcb_gcontext_t cid,
jpayne@69 9256 xcb_drawable_t drawable,
jpayne@69 9257 uint32_t value_mask,
jpayne@69 9258 const xcb_create_gc_value_list_t *value_list);
jpayne@69 9259
jpayne@69 9260 /**
jpayne@69 9261 * @brief Creates a graphics context
jpayne@69 9262 *
jpayne@69 9263 * @param c The connection
jpayne@69 9264 * @param cid The ID with which you will refer to the graphics context, created by
jpayne@69 9265 * `xcb_generate_id`.
jpayne@69 9266 * @param drawable Drawable to get the root/depth from.
jpayne@69 9267 * @return A cookie
jpayne@69 9268 *
jpayne@69 9269 * Creates a graphics context. The graphics context can be used with any drawable
jpayne@69 9270 * that has the same root and depth as the specified drawable.
jpayne@69 9271 *
jpayne@69 9272 */
jpayne@69 9273 xcb_void_cookie_t
jpayne@69 9274 xcb_create_gc_aux (xcb_connection_t *c,
jpayne@69 9275 xcb_gcontext_t cid,
jpayne@69 9276 xcb_drawable_t drawable,
jpayne@69 9277 uint32_t value_mask,
jpayne@69 9278 const xcb_create_gc_value_list_t *value_list);
jpayne@69 9279
jpayne@69 9280 void *
jpayne@69 9281 xcb_create_gc_value_list (const xcb_create_gc_request_t *R);
jpayne@69 9282
jpayne@69 9283 int
jpayne@69 9284 xcb_change_gc_value_list_serialize (void **_buffer,
jpayne@69 9285 uint32_t value_mask,
jpayne@69 9286 const xcb_change_gc_value_list_t *_aux);
jpayne@69 9287
jpayne@69 9288 int
jpayne@69 9289 xcb_change_gc_value_list_unpack (const void *_buffer,
jpayne@69 9290 uint32_t value_mask,
jpayne@69 9291 xcb_change_gc_value_list_t *_aux);
jpayne@69 9292
jpayne@69 9293 int
jpayne@69 9294 xcb_change_gc_value_list_sizeof (const void *_buffer,
jpayne@69 9295 uint32_t value_mask);
jpayne@69 9296
jpayne@69 9297 int
jpayne@69 9298 xcb_change_gc_sizeof (const void *_buffer);
jpayne@69 9299
jpayne@69 9300 /**
jpayne@69 9301 * @brief change graphics context components
jpayne@69 9302 *
jpayne@69 9303 * @param c The connection
jpayne@69 9304 * @param gc The graphics context to change.
jpayne@69 9305 * @param value_mask A bitmask of #xcb_gc_t values.
jpayne@69 9306 * @param value_mask \n
jpayne@69 9307 * @param value_list Values for each of the components specified in the bitmask \a value_mask. The
jpayne@69 9308 * order has to correspond to the order of possible \a value_mask bits. See the
jpayne@69 9309 * example.
jpayne@69 9310 * @return A cookie
jpayne@69 9311 *
jpayne@69 9312 * Changes the components specified by \a value_mask for the specified graphics context.
jpayne@69 9313 *
jpayne@69 9314 * This form can be used only if the request will not cause
jpayne@69 9315 * a reply to be generated. Any returned error will be
jpayne@69 9316 * saved for handling by xcb_request_check().
jpayne@69 9317 */
jpayne@69 9318 xcb_void_cookie_t
jpayne@69 9319 xcb_change_gc_checked (xcb_connection_t *c,
jpayne@69 9320 xcb_gcontext_t gc,
jpayne@69 9321 uint32_t value_mask,
jpayne@69 9322 const void *value_list);
jpayne@69 9323
jpayne@69 9324 /**
jpayne@69 9325 * @brief change graphics context components
jpayne@69 9326 *
jpayne@69 9327 * @param c The connection
jpayne@69 9328 * @param gc The graphics context to change.
jpayne@69 9329 * @param value_mask A bitmask of #xcb_gc_t values.
jpayne@69 9330 * @param value_mask \n
jpayne@69 9331 * @param value_list Values for each of the components specified in the bitmask \a value_mask. The
jpayne@69 9332 * order has to correspond to the order of possible \a value_mask bits. See the
jpayne@69 9333 * example.
jpayne@69 9334 * @return A cookie
jpayne@69 9335 *
jpayne@69 9336 * Changes the components specified by \a value_mask for the specified graphics context.
jpayne@69 9337 *
jpayne@69 9338 */
jpayne@69 9339 xcb_void_cookie_t
jpayne@69 9340 xcb_change_gc (xcb_connection_t *c,
jpayne@69 9341 xcb_gcontext_t gc,
jpayne@69 9342 uint32_t value_mask,
jpayne@69 9343 const void *value_list);
jpayne@69 9344
jpayne@69 9345 /**
jpayne@69 9346 * @brief change graphics context components
jpayne@69 9347 *
jpayne@69 9348 * @param c The connection
jpayne@69 9349 * @param gc The graphics context to change.
jpayne@69 9350 * @param value_mask A bitmask of #xcb_gc_t values.
jpayne@69 9351 * @param value_mask \n
jpayne@69 9352 * @param value_list Values for each of the components specified in the bitmask \a value_mask. The
jpayne@69 9353 * order has to correspond to the order of possible \a value_mask bits. See the
jpayne@69 9354 * example.
jpayne@69 9355 * @return A cookie
jpayne@69 9356 *
jpayne@69 9357 * Changes the components specified by \a value_mask for the specified graphics context.
jpayne@69 9358 *
jpayne@69 9359 * This form can be used only if the request will not cause
jpayne@69 9360 * a reply to be generated. Any returned error will be
jpayne@69 9361 * saved for handling by xcb_request_check().
jpayne@69 9362 */
jpayne@69 9363 xcb_void_cookie_t
jpayne@69 9364 xcb_change_gc_aux_checked (xcb_connection_t *c,
jpayne@69 9365 xcb_gcontext_t gc,
jpayne@69 9366 uint32_t value_mask,
jpayne@69 9367 const xcb_change_gc_value_list_t *value_list);
jpayne@69 9368
jpayne@69 9369 /**
jpayne@69 9370 * @brief change graphics context components
jpayne@69 9371 *
jpayne@69 9372 * @param c The connection
jpayne@69 9373 * @param gc The graphics context to change.
jpayne@69 9374 * @param value_mask A bitmask of #xcb_gc_t values.
jpayne@69 9375 * @param value_mask \n
jpayne@69 9376 * @param value_list Values for each of the components specified in the bitmask \a value_mask. The
jpayne@69 9377 * order has to correspond to the order of possible \a value_mask bits. See the
jpayne@69 9378 * example.
jpayne@69 9379 * @return A cookie
jpayne@69 9380 *
jpayne@69 9381 * Changes the components specified by \a value_mask for the specified graphics context.
jpayne@69 9382 *
jpayne@69 9383 */
jpayne@69 9384 xcb_void_cookie_t
jpayne@69 9385 xcb_change_gc_aux (xcb_connection_t *c,
jpayne@69 9386 xcb_gcontext_t gc,
jpayne@69 9387 uint32_t value_mask,
jpayne@69 9388 const xcb_change_gc_value_list_t *value_list);
jpayne@69 9389
jpayne@69 9390 void *
jpayne@69 9391 xcb_change_gc_value_list (const xcb_change_gc_request_t *R);
jpayne@69 9392
jpayne@69 9393 /**
jpayne@69 9394 *
jpayne@69 9395 * @param c The connection
jpayne@69 9396 * @return A cookie
jpayne@69 9397 *
jpayne@69 9398 * Delivers a request to the X server.
jpayne@69 9399 *
jpayne@69 9400 * This form can be used only if the request will not cause
jpayne@69 9401 * a reply to be generated. Any returned error will be
jpayne@69 9402 * saved for handling by xcb_request_check().
jpayne@69 9403 */
jpayne@69 9404 xcb_void_cookie_t
jpayne@69 9405 xcb_copy_gc_checked (xcb_connection_t *c,
jpayne@69 9406 xcb_gcontext_t src_gc,
jpayne@69 9407 xcb_gcontext_t dst_gc,
jpayne@69 9408 uint32_t value_mask);
jpayne@69 9409
jpayne@69 9410 /**
jpayne@69 9411 *
jpayne@69 9412 * @param c The connection
jpayne@69 9413 * @return A cookie
jpayne@69 9414 *
jpayne@69 9415 * Delivers a request to the X server.
jpayne@69 9416 *
jpayne@69 9417 */
jpayne@69 9418 xcb_void_cookie_t
jpayne@69 9419 xcb_copy_gc (xcb_connection_t *c,
jpayne@69 9420 xcb_gcontext_t src_gc,
jpayne@69 9421 xcb_gcontext_t dst_gc,
jpayne@69 9422 uint32_t value_mask);
jpayne@69 9423
jpayne@69 9424 int
jpayne@69 9425 xcb_set_dashes_sizeof (const void *_buffer);
jpayne@69 9426
jpayne@69 9427 /**
jpayne@69 9428 *
jpayne@69 9429 * @param c The connection
jpayne@69 9430 * @return A cookie
jpayne@69 9431 *
jpayne@69 9432 * Delivers a request to the X server.
jpayne@69 9433 *
jpayne@69 9434 * This form can be used only if the request will not cause
jpayne@69 9435 * a reply to be generated. Any returned error will be
jpayne@69 9436 * saved for handling by xcb_request_check().
jpayne@69 9437 */
jpayne@69 9438 xcb_void_cookie_t
jpayne@69 9439 xcb_set_dashes_checked (xcb_connection_t *c,
jpayne@69 9440 xcb_gcontext_t gc,
jpayne@69 9441 uint16_t dash_offset,
jpayne@69 9442 uint16_t dashes_len,
jpayne@69 9443 const uint8_t *dashes);
jpayne@69 9444
jpayne@69 9445 /**
jpayne@69 9446 *
jpayne@69 9447 * @param c The connection
jpayne@69 9448 * @return A cookie
jpayne@69 9449 *
jpayne@69 9450 * Delivers a request to the X server.
jpayne@69 9451 *
jpayne@69 9452 */
jpayne@69 9453 xcb_void_cookie_t
jpayne@69 9454 xcb_set_dashes (xcb_connection_t *c,
jpayne@69 9455 xcb_gcontext_t gc,
jpayne@69 9456 uint16_t dash_offset,
jpayne@69 9457 uint16_t dashes_len,
jpayne@69 9458 const uint8_t *dashes);
jpayne@69 9459
jpayne@69 9460 uint8_t *
jpayne@69 9461 xcb_set_dashes_dashes (const xcb_set_dashes_request_t *R);
jpayne@69 9462
jpayne@69 9463 int
jpayne@69 9464 xcb_set_dashes_dashes_length (const xcb_set_dashes_request_t *R);
jpayne@69 9465
jpayne@69 9466 xcb_generic_iterator_t
jpayne@69 9467 xcb_set_dashes_dashes_end (const xcb_set_dashes_request_t *R);
jpayne@69 9468
jpayne@69 9469 int
jpayne@69 9470 xcb_set_clip_rectangles_sizeof (const void *_buffer,
jpayne@69 9471 uint32_t rectangles_len);
jpayne@69 9472
jpayne@69 9473 /**
jpayne@69 9474 *
jpayne@69 9475 * @param c The connection
jpayne@69 9476 * @return A cookie
jpayne@69 9477 *
jpayne@69 9478 * Delivers a request to the X server.
jpayne@69 9479 *
jpayne@69 9480 * This form can be used only if the request will not cause
jpayne@69 9481 * a reply to be generated. Any returned error will be
jpayne@69 9482 * saved for handling by xcb_request_check().
jpayne@69 9483 */
jpayne@69 9484 xcb_void_cookie_t
jpayne@69 9485 xcb_set_clip_rectangles_checked (xcb_connection_t *c,
jpayne@69 9486 uint8_t ordering,
jpayne@69 9487 xcb_gcontext_t gc,
jpayne@69 9488 int16_t clip_x_origin,
jpayne@69 9489 int16_t clip_y_origin,
jpayne@69 9490 uint32_t rectangles_len,
jpayne@69 9491 const xcb_rectangle_t *rectangles);
jpayne@69 9492
jpayne@69 9493 /**
jpayne@69 9494 *
jpayne@69 9495 * @param c The connection
jpayne@69 9496 * @return A cookie
jpayne@69 9497 *
jpayne@69 9498 * Delivers a request to the X server.
jpayne@69 9499 *
jpayne@69 9500 */
jpayne@69 9501 xcb_void_cookie_t
jpayne@69 9502 xcb_set_clip_rectangles (xcb_connection_t *c,
jpayne@69 9503 uint8_t ordering,
jpayne@69 9504 xcb_gcontext_t gc,
jpayne@69 9505 int16_t clip_x_origin,
jpayne@69 9506 int16_t clip_y_origin,
jpayne@69 9507 uint32_t rectangles_len,
jpayne@69 9508 const xcb_rectangle_t *rectangles);
jpayne@69 9509
jpayne@69 9510 xcb_rectangle_t *
jpayne@69 9511 xcb_set_clip_rectangles_rectangles (const xcb_set_clip_rectangles_request_t *R);
jpayne@69 9512
jpayne@69 9513 int
jpayne@69 9514 xcb_set_clip_rectangles_rectangles_length (const xcb_set_clip_rectangles_request_t *R);
jpayne@69 9515
jpayne@69 9516 xcb_rectangle_iterator_t
jpayne@69 9517 xcb_set_clip_rectangles_rectangles_iterator (const xcb_set_clip_rectangles_request_t *R);
jpayne@69 9518
jpayne@69 9519 /**
jpayne@69 9520 * @brief Destroys a graphics context
jpayne@69 9521 *
jpayne@69 9522 * @param c The connection
jpayne@69 9523 * @param gc The graphics context to destroy.
jpayne@69 9524 * @return A cookie
jpayne@69 9525 *
jpayne@69 9526 * Destroys the specified \a gc and all associated storage.
jpayne@69 9527 *
jpayne@69 9528 * This form can be used only if the request will not cause
jpayne@69 9529 * a reply to be generated. Any returned error will be
jpayne@69 9530 * saved for handling by xcb_request_check().
jpayne@69 9531 */
jpayne@69 9532 xcb_void_cookie_t
jpayne@69 9533 xcb_free_gc_checked (xcb_connection_t *c,
jpayne@69 9534 xcb_gcontext_t gc);
jpayne@69 9535
jpayne@69 9536 /**
jpayne@69 9537 * @brief Destroys a graphics context
jpayne@69 9538 *
jpayne@69 9539 * @param c The connection
jpayne@69 9540 * @param gc The graphics context to destroy.
jpayne@69 9541 * @return A cookie
jpayne@69 9542 *
jpayne@69 9543 * Destroys the specified \a gc and all associated storage.
jpayne@69 9544 *
jpayne@69 9545 */
jpayne@69 9546 xcb_void_cookie_t
jpayne@69 9547 xcb_free_gc (xcb_connection_t *c,
jpayne@69 9548 xcb_gcontext_t gc);
jpayne@69 9549
jpayne@69 9550 /**
jpayne@69 9551 *
jpayne@69 9552 * @param c The connection
jpayne@69 9553 * @return A cookie
jpayne@69 9554 *
jpayne@69 9555 * Delivers a request to the X server.
jpayne@69 9556 *
jpayne@69 9557 * This form can be used only if the request will not cause
jpayne@69 9558 * a reply to be generated. Any returned error will be
jpayne@69 9559 * saved for handling by xcb_request_check().
jpayne@69 9560 */
jpayne@69 9561 xcb_void_cookie_t
jpayne@69 9562 xcb_clear_area_checked (xcb_connection_t *c,
jpayne@69 9563 uint8_t exposures,
jpayne@69 9564 xcb_window_t window,
jpayne@69 9565 int16_t x,
jpayne@69 9566 int16_t y,
jpayne@69 9567 uint16_t width,
jpayne@69 9568 uint16_t height);
jpayne@69 9569
jpayne@69 9570 /**
jpayne@69 9571 *
jpayne@69 9572 * @param c The connection
jpayne@69 9573 * @return A cookie
jpayne@69 9574 *
jpayne@69 9575 * Delivers a request to the X server.
jpayne@69 9576 *
jpayne@69 9577 */
jpayne@69 9578 xcb_void_cookie_t
jpayne@69 9579 xcb_clear_area (xcb_connection_t *c,
jpayne@69 9580 uint8_t exposures,
jpayne@69 9581 xcb_window_t window,
jpayne@69 9582 int16_t x,
jpayne@69 9583 int16_t y,
jpayne@69 9584 uint16_t width,
jpayne@69 9585 uint16_t height);
jpayne@69 9586
jpayne@69 9587 /**
jpayne@69 9588 * @brief copy areas
jpayne@69 9589 *
jpayne@69 9590 * @param c The connection
jpayne@69 9591 * @param src_drawable The source drawable (Window or Pixmap).
jpayne@69 9592 * @param dst_drawable The destination drawable (Window or Pixmap).
jpayne@69 9593 * @param gc The graphics context to use.
jpayne@69 9594 * @param src_x The source X coordinate.
jpayne@69 9595 * @param src_y The source Y coordinate.
jpayne@69 9596 * @param dst_x The destination X coordinate.
jpayne@69 9597 * @param dst_y The destination Y coordinate.
jpayne@69 9598 * @param width The width of the area to copy (in pixels).
jpayne@69 9599 * @param height The height of the area to copy (in pixels).
jpayne@69 9600 * @return A cookie
jpayne@69 9601 *
jpayne@69 9602 * Copies the specified rectangle from \a src_drawable to \a dst_drawable.
jpayne@69 9603 *
jpayne@69 9604 * This form can be used only if the request will not cause
jpayne@69 9605 * a reply to be generated. Any returned error will be
jpayne@69 9606 * saved for handling by xcb_request_check().
jpayne@69 9607 */
jpayne@69 9608 xcb_void_cookie_t
jpayne@69 9609 xcb_copy_area_checked (xcb_connection_t *c,
jpayne@69 9610 xcb_drawable_t src_drawable,
jpayne@69 9611 xcb_drawable_t dst_drawable,
jpayne@69 9612 xcb_gcontext_t gc,
jpayne@69 9613 int16_t src_x,
jpayne@69 9614 int16_t src_y,
jpayne@69 9615 int16_t dst_x,
jpayne@69 9616 int16_t dst_y,
jpayne@69 9617 uint16_t width,
jpayne@69 9618 uint16_t height);
jpayne@69 9619
jpayne@69 9620 /**
jpayne@69 9621 * @brief copy areas
jpayne@69 9622 *
jpayne@69 9623 * @param c The connection
jpayne@69 9624 * @param src_drawable The source drawable (Window or Pixmap).
jpayne@69 9625 * @param dst_drawable The destination drawable (Window or Pixmap).
jpayne@69 9626 * @param gc The graphics context to use.
jpayne@69 9627 * @param src_x The source X coordinate.
jpayne@69 9628 * @param src_y The source Y coordinate.
jpayne@69 9629 * @param dst_x The destination X coordinate.
jpayne@69 9630 * @param dst_y The destination Y coordinate.
jpayne@69 9631 * @param width The width of the area to copy (in pixels).
jpayne@69 9632 * @param height The height of the area to copy (in pixels).
jpayne@69 9633 * @return A cookie
jpayne@69 9634 *
jpayne@69 9635 * Copies the specified rectangle from \a src_drawable to \a dst_drawable.
jpayne@69 9636 *
jpayne@69 9637 */
jpayne@69 9638 xcb_void_cookie_t
jpayne@69 9639 xcb_copy_area (xcb_connection_t *c,
jpayne@69 9640 xcb_drawable_t src_drawable,
jpayne@69 9641 xcb_drawable_t dst_drawable,
jpayne@69 9642 xcb_gcontext_t gc,
jpayne@69 9643 int16_t src_x,
jpayne@69 9644 int16_t src_y,
jpayne@69 9645 int16_t dst_x,
jpayne@69 9646 int16_t dst_y,
jpayne@69 9647 uint16_t width,
jpayne@69 9648 uint16_t height);
jpayne@69 9649
jpayne@69 9650 /**
jpayne@69 9651 *
jpayne@69 9652 * @param c The connection
jpayne@69 9653 * @return A cookie
jpayne@69 9654 *
jpayne@69 9655 * Delivers a request to the X server.
jpayne@69 9656 *
jpayne@69 9657 * This form can be used only if the request will not cause
jpayne@69 9658 * a reply to be generated. Any returned error will be
jpayne@69 9659 * saved for handling by xcb_request_check().
jpayne@69 9660 */
jpayne@69 9661 xcb_void_cookie_t
jpayne@69 9662 xcb_copy_plane_checked (xcb_connection_t *c,
jpayne@69 9663 xcb_drawable_t src_drawable,
jpayne@69 9664 xcb_drawable_t dst_drawable,
jpayne@69 9665 xcb_gcontext_t gc,
jpayne@69 9666 int16_t src_x,
jpayne@69 9667 int16_t src_y,
jpayne@69 9668 int16_t dst_x,
jpayne@69 9669 int16_t dst_y,
jpayne@69 9670 uint16_t width,
jpayne@69 9671 uint16_t height,
jpayne@69 9672 uint32_t bit_plane);
jpayne@69 9673
jpayne@69 9674 /**
jpayne@69 9675 *
jpayne@69 9676 * @param c The connection
jpayne@69 9677 * @return A cookie
jpayne@69 9678 *
jpayne@69 9679 * Delivers a request to the X server.
jpayne@69 9680 *
jpayne@69 9681 */
jpayne@69 9682 xcb_void_cookie_t
jpayne@69 9683 xcb_copy_plane (xcb_connection_t *c,
jpayne@69 9684 xcb_drawable_t src_drawable,
jpayne@69 9685 xcb_drawable_t dst_drawable,
jpayne@69 9686 xcb_gcontext_t gc,
jpayne@69 9687 int16_t src_x,
jpayne@69 9688 int16_t src_y,
jpayne@69 9689 int16_t dst_x,
jpayne@69 9690 int16_t dst_y,
jpayne@69 9691 uint16_t width,
jpayne@69 9692 uint16_t height,
jpayne@69 9693 uint32_t bit_plane);
jpayne@69 9694
jpayne@69 9695 int
jpayne@69 9696 xcb_poly_point_sizeof (const void *_buffer,
jpayne@69 9697 uint32_t points_len);
jpayne@69 9698
jpayne@69 9699 /**
jpayne@69 9700 *
jpayne@69 9701 * @param c The connection
jpayne@69 9702 * @return A cookie
jpayne@69 9703 *
jpayne@69 9704 * Delivers a request to the X server.
jpayne@69 9705 *
jpayne@69 9706 * This form can be used only if the request will not cause
jpayne@69 9707 * a reply to be generated. Any returned error will be
jpayne@69 9708 * saved for handling by xcb_request_check().
jpayne@69 9709 */
jpayne@69 9710 xcb_void_cookie_t
jpayne@69 9711 xcb_poly_point_checked (xcb_connection_t *c,
jpayne@69 9712 uint8_t coordinate_mode,
jpayne@69 9713 xcb_drawable_t drawable,
jpayne@69 9714 xcb_gcontext_t gc,
jpayne@69 9715 uint32_t points_len,
jpayne@69 9716 const xcb_point_t *points);
jpayne@69 9717
jpayne@69 9718 /**
jpayne@69 9719 *
jpayne@69 9720 * @param c The connection
jpayne@69 9721 * @return A cookie
jpayne@69 9722 *
jpayne@69 9723 * Delivers a request to the X server.
jpayne@69 9724 *
jpayne@69 9725 */
jpayne@69 9726 xcb_void_cookie_t
jpayne@69 9727 xcb_poly_point (xcb_connection_t *c,
jpayne@69 9728 uint8_t coordinate_mode,
jpayne@69 9729 xcb_drawable_t drawable,
jpayne@69 9730 xcb_gcontext_t gc,
jpayne@69 9731 uint32_t points_len,
jpayne@69 9732 const xcb_point_t *points);
jpayne@69 9733
jpayne@69 9734 xcb_point_t *
jpayne@69 9735 xcb_poly_point_points (const xcb_poly_point_request_t *R);
jpayne@69 9736
jpayne@69 9737 int
jpayne@69 9738 xcb_poly_point_points_length (const xcb_poly_point_request_t *R);
jpayne@69 9739
jpayne@69 9740 xcb_point_iterator_t
jpayne@69 9741 xcb_poly_point_points_iterator (const xcb_poly_point_request_t *R);
jpayne@69 9742
jpayne@69 9743 int
jpayne@69 9744 xcb_poly_line_sizeof (const void *_buffer,
jpayne@69 9745 uint32_t points_len);
jpayne@69 9746
jpayne@69 9747 /**
jpayne@69 9748 * @brief draw lines
jpayne@69 9749 *
jpayne@69 9750 * @param c The connection
jpayne@69 9751 * @param coordinate_mode A bitmask of #xcb_coord_mode_t values.
jpayne@69 9752 * @param coordinate_mode \n
jpayne@69 9753 * @param drawable The drawable to draw the line(s) on.
jpayne@69 9754 * @param gc The graphics context to use.
jpayne@69 9755 * @param points_len The number of `xcb_point_t` structures in \a points.
jpayne@69 9756 * @param points An array of points.
jpayne@69 9757 * @return A cookie
jpayne@69 9758 *
jpayne@69 9759 * Draws \a points_len-1 lines between each pair of points (point[i], point[i+1])
jpayne@69 9760 * in the \a points array. The lines are drawn in the order listed in the array.
jpayne@69 9761 * They join correctly at all intermediate points, and if the first and last
jpayne@69 9762 * points coincide, the first and last lines also join correctly. For any given
jpayne@69 9763 * line, a pixel is not drawn more than once. If thin (zero line-width) lines
jpayne@69 9764 * intersect, the intersecting pixels are drawn multiple times. If wide lines
jpayne@69 9765 * intersect, the intersecting pixels are drawn only once, as though the entire
jpayne@69 9766 * request were a single, filled shape.
jpayne@69 9767 *
jpayne@69 9768 * This form can be used only if the request will not cause
jpayne@69 9769 * a reply to be generated. Any returned error will be
jpayne@69 9770 * saved for handling by xcb_request_check().
jpayne@69 9771 */
jpayne@69 9772 xcb_void_cookie_t
jpayne@69 9773 xcb_poly_line_checked (xcb_connection_t *c,
jpayne@69 9774 uint8_t coordinate_mode,
jpayne@69 9775 xcb_drawable_t drawable,
jpayne@69 9776 xcb_gcontext_t gc,
jpayne@69 9777 uint32_t points_len,
jpayne@69 9778 const xcb_point_t *points);
jpayne@69 9779
jpayne@69 9780 /**
jpayne@69 9781 * @brief draw lines
jpayne@69 9782 *
jpayne@69 9783 * @param c The connection
jpayne@69 9784 * @param coordinate_mode A bitmask of #xcb_coord_mode_t values.
jpayne@69 9785 * @param coordinate_mode \n
jpayne@69 9786 * @param drawable The drawable to draw the line(s) on.
jpayne@69 9787 * @param gc The graphics context to use.
jpayne@69 9788 * @param points_len The number of `xcb_point_t` structures in \a points.
jpayne@69 9789 * @param points An array of points.
jpayne@69 9790 * @return A cookie
jpayne@69 9791 *
jpayne@69 9792 * Draws \a points_len-1 lines between each pair of points (point[i], point[i+1])
jpayne@69 9793 * in the \a points array. The lines are drawn in the order listed in the array.
jpayne@69 9794 * They join correctly at all intermediate points, and if the first and last
jpayne@69 9795 * points coincide, the first and last lines also join correctly. For any given
jpayne@69 9796 * line, a pixel is not drawn more than once. If thin (zero line-width) lines
jpayne@69 9797 * intersect, the intersecting pixels are drawn multiple times. If wide lines
jpayne@69 9798 * intersect, the intersecting pixels are drawn only once, as though the entire
jpayne@69 9799 * request were a single, filled shape.
jpayne@69 9800 *
jpayne@69 9801 */
jpayne@69 9802 xcb_void_cookie_t
jpayne@69 9803 xcb_poly_line (xcb_connection_t *c,
jpayne@69 9804 uint8_t coordinate_mode,
jpayne@69 9805 xcb_drawable_t drawable,
jpayne@69 9806 xcb_gcontext_t gc,
jpayne@69 9807 uint32_t points_len,
jpayne@69 9808 const xcb_point_t *points);
jpayne@69 9809
jpayne@69 9810 xcb_point_t *
jpayne@69 9811 xcb_poly_line_points (const xcb_poly_line_request_t *R);
jpayne@69 9812
jpayne@69 9813 int
jpayne@69 9814 xcb_poly_line_points_length (const xcb_poly_line_request_t *R);
jpayne@69 9815
jpayne@69 9816 xcb_point_iterator_t
jpayne@69 9817 xcb_poly_line_points_iterator (const xcb_poly_line_request_t *R);
jpayne@69 9818
jpayne@69 9819 /**
jpayne@69 9820 * Get the next element of the iterator
jpayne@69 9821 * @param i Pointer to a xcb_segment_iterator_t
jpayne@69 9822 *
jpayne@69 9823 * Get the next element in the iterator. The member rem is
jpayne@69 9824 * decreased by one. The member data points to the next
jpayne@69 9825 * element. The member index is increased by sizeof(xcb_segment_t)
jpayne@69 9826 */
jpayne@69 9827 void
jpayne@69 9828 xcb_segment_next (xcb_segment_iterator_t *i);
jpayne@69 9829
jpayne@69 9830 /**
jpayne@69 9831 * Return the iterator pointing to the last element
jpayne@69 9832 * @param i An xcb_segment_iterator_t
jpayne@69 9833 * @return The iterator pointing to the last element
jpayne@69 9834 *
jpayne@69 9835 * Set the current element in the iterator to the last element.
jpayne@69 9836 * The member rem is set to 0. The member data points to the
jpayne@69 9837 * last element.
jpayne@69 9838 */
jpayne@69 9839 xcb_generic_iterator_t
jpayne@69 9840 xcb_segment_end (xcb_segment_iterator_t i);
jpayne@69 9841
jpayne@69 9842 int
jpayne@69 9843 xcb_poly_segment_sizeof (const void *_buffer,
jpayne@69 9844 uint32_t segments_len);
jpayne@69 9845
jpayne@69 9846 /**
jpayne@69 9847 * @brief draw lines
jpayne@69 9848 *
jpayne@69 9849 * @param c The connection
jpayne@69 9850 * @param drawable A drawable (Window or Pixmap) to draw on.
jpayne@69 9851 * @param gc The graphics context to use.
jpayne@69 9852 * \n
jpayne@69 9853 * TODO: document which attributes of a gc are used
jpayne@69 9854 * @param segments_len The number of `xcb_segment_t` structures in \a segments.
jpayne@69 9855 * @param segments An array of `xcb_segment_t` structures.
jpayne@69 9856 * @return A cookie
jpayne@69 9857 *
jpayne@69 9858 * Draws multiple, unconnected lines. For each segment, a line is drawn between
jpayne@69 9859 * (x1, y1) and (x2, y2). The lines are drawn in the order listed in the array of
jpayne@69 9860 * `xcb_segment_t` structures and does not perform joining at coincident
jpayne@69 9861 * endpoints. For any given line, a pixel is not drawn more than once. If lines
jpayne@69 9862 * intersect, the intersecting pixels are drawn multiple times.
jpayne@69 9863 *
jpayne@69 9864 * TODO: include the xcb_segment_t data structure
jpayne@69 9865 *
jpayne@69 9866 * TODO: an example
jpayne@69 9867 *
jpayne@69 9868 * This form can be used only if the request will not cause
jpayne@69 9869 * a reply to be generated. Any returned error will be
jpayne@69 9870 * saved for handling by xcb_request_check().
jpayne@69 9871 */
jpayne@69 9872 xcb_void_cookie_t
jpayne@69 9873 xcb_poly_segment_checked (xcb_connection_t *c,
jpayne@69 9874 xcb_drawable_t drawable,
jpayne@69 9875 xcb_gcontext_t gc,
jpayne@69 9876 uint32_t segments_len,
jpayne@69 9877 const xcb_segment_t *segments);
jpayne@69 9878
jpayne@69 9879 /**
jpayne@69 9880 * @brief draw lines
jpayne@69 9881 *
jpayne@69 9882 * @param c The connection
jpayne@69 9883 * @param drawable A drawable (Window or Pixmap) to draw on.
jpayne@69 9884 * @param gc The graphics context to use.
jpayne@69 9885 * \n
jpayne@69 9886 * TODO: document which attributes of a gc are used
jpayne@69 9887 * @param segments_len The number of `xcb_segment_t` structures in \a segments.
jpayne@69 9888 * @param segments An array of `xcb_segment_t` structures.
jpayne@69 9889 * @return A cookie
jpayne@69 9890 *
jpayne@69 9891 * Draws multiple, unconnected lines. For each segment, a line is drawn between
jpayne@69 9892 * (x1, y1) and (x2, y2). The lines are drawn in the order listed in the array of
jpayne@69 9893 * `xcb_segment_t` structures and does not perform joining at coincident
jpayne@69 9894 * endpoints. For any given line, a pixel is not drawn more than once. If lines
jpayne@69 9895 * intersect, the intersecting pixels are drawn multiple times.
jpayne@69 9896 *
jpayne@69 9897 * TODO: include the xcb_segment_t data structure
jpayne@69 9898 *
jpayne@69 9899 * TODO: an example
jpayne@69 9900 *
jpayne@69 9901 */
jpayne@69 9902 xcb_void_cookie_t
jpayne@69 9903 xcb_poly_segment (xcb_connection_t *c,
jpayne@69 9904 xcb_drawable_t drawable,
jpayne@69 9905 xcb_gcontext_t gc,
jpayne@69 9906 uint32_t segments_len,
jpayne@69 9907 const xcb_segment_t *segments);
jpayne@69 9908
jpayne@69 9909 xcb_segment_t *
jpayne@69 9910 xcb_poly_segment_segments (const xcb_poly_segment_request_t *R);
jpayne@69 9911
jpayne@69 9912 int
jpayne@69 9913 xcb_poly_segment_segments_length (const xcb_poly_segment_request_t *R);
jpayne@69 9914
jpayne@69 9915 xcb_segment_iterator_t
jpayne@69 9916 xcb_poly_segment_segments_iterator (const xcb_poly_segment_request_t *R);
jpayne@69 9917
jpayne@69 9918 int
jpayne@69 9919 xcb_poly_rectangle_sizeof (const void *_buffer,
jpayne@69 9920 uint32_t rectangles_len);
jpayne@69 9921
jpayne@69 9922 /**
jpayne@69 9923 *
jpayne@69 9924 * @param c The connection
jpayne@69 9925 * @return A cookie
jpayne@69 9926 *
jpayne@69 9927 * Delivers a request to the X server.
jpayne@69 9928 *
jpayne@69 9929 * This form can be used only if the request will not cause
jpayne@69 9930 * a reply to be generated. Any returned error will be
jpayne@69 9931 * saved for handling by xcb_request_check().
jpayne@69 9932 */
jpayne@69 9933 xcb_void_cookie_t
jpayne@69 9934 xcb_poly_rectangle_checked (xcb_connection_t *c,
jpayne@69 9935 xcb_drawable_t drawable,
jpayne@69 9936 xcb_gcontext_t gc,
jpayne@69 9937 uint32_t rectangles_len,
jpayne@69 9938 const xcb_rectangle_t *rectangles);
jpayne@69 9939
jpayne@69 9940 /**
jpayne@69 9941 *
jpayne@69 9942 * @param c The connection
jpayne@69 9943 * @return A cookie
jpayne@69 9944 *
jpayne@69 9945 * Delivers a request to the X server.
jpayne@69 9946 *
jpayne@69 9947 */
jpayne@69 9948 xcb_void_cookie_t
jpayne@69 9949 xcb_poly_rectangle (xcb_connection_t *c,
jpayne@69 9950 xcb_drawable_t drawable,
jpayne@69 9951 xcb_gcontext_t gc,
jpayne@69 9952 uint32_t rectangles_len,
jpayne@69 9953 const xcb_rectangle_t *rectangles);
jpayne@69 9954
jpayne@69 9955 xcb_rectangle_t *
jpayne@69 9956 xcb_poly_rectangle_rectangles (const xcb_poly_rectangle_request_t *R);
jpayne@69 9957
jpayne@69 9958 int
jpayne@69 9959 xcb_poly_rectangle_rectangles_length (const xcb_poly_rectangle_request_t *R);
jpayne@69 9960
jpayne@69 9961 xcb_rectangle_iterator_t
jpayne@69 9962 xcb_poly_rectangle_rectangles_iterator (const xcb_poly_rectangle_request_t *R);
jpayne@69 9963
jpayne@69 9964 int
jpayne@69 9965 xcb_poly_arc_sizeof (const void *_buffer,
jpayne@69 9966 uint32_t arcs_len);
jpayne@69 9967
jpayne@69 9968 /**
jpayne@69 9969 *
jpayne@69 9970 * @param c The connection
jpayne@69 9971 * @return A cookie
jpayne@69 9972 *
jpayne@69 9973 * Delivers a request to the X server.
jpayne@69 9974 *
jpayne@69 9975 * This form can be used only if the request will not cause
jpayne@69 9976 * a reply to be generated. Any returned error will be
jpayne@69 9977 * saved for handling by xcb_request_check().
jpayne@69 9978 */
jpayne@69 9979 xcb_void_cookie_t
jpayne@69 9980 xcb_poly_arc_checked (xcb_connection_t *c,
jpayne@69 9981 xcb_drawable_t drawable,
jpayne@69 9982 xcb_gcontext_t gc,
jpayne@69 9983 uint32_t arcs_len,
jpayne@69 9984 const xcb_arc_t *arcs);
jpayne@69 9985
jpayne@69 9986 /**
jpayne@69 9987 *
jpayne@69 9988 * @param c The connection
jpayne@69 9989 * @return A cookie
jpayne@69 9990 *
jpayne@69 9991 * Delivers a request to the X server.
jpayne@69 9992 *
jpayne@69 9993 */
jpayne@69 9994 xcb_void_cookie_t
jpayne@69 9995 xcb_poly_arc (xcb_connection_t *c,
jpayne@69 9996 xcb_drawable_t drawable,
jpayne@69 9997 xcb_gcontext_t gc,
jpayne@69 9998 uint32_t arcs_len,
jpayne@69 9999 const xcb_arc_t *arcs);
jpayne@69 10000
jpayne@69 10001 xcb_arc_t *
jpayne@69 10002 xcb_poly_arc_arcs (const xcb_poly_arc_request_t *R);
jpayne@69 10003
jpayne@69 10004 int
jpayne@69 10005 xcb_poly_arc_arcs_length (const xcb_poly_arc_request_t *R);
jpayne@69 10006
jpayne@69 10007 xcb_arc_iterator_t
jpayne@69 10008 xcb_poly_arc_arcs_iterator (const xcb_poly_arc_request_t *R);
jpayne@69 10009
jpayne@69 10010 int
jpayne@69 10011 xcb_fill_poly_sizeof (const void *_buffer,
jpayne@69 10012 uint32_t points_len);
jpayne@69 10013
jpayne@69 10014 /**
jpayne@69 10015 *
jpayne@69 10016 * @param c The connection
jpayne@69 10017 * @return A cookie
jpayne@69 10018 *
jpayne@69 10019 * Delivers a request to the X server.
jpayne@69 10020 *
jpayne@69 10021 * This form can be used only if the request will not cause
jpayne@69 10022 * a reply to be generated. Any returned error will be
jpayne@69 10023 * saved for handling by xcb_request_check().
jpayne@69 10024 */
jpayne@69 10025 xcb_void_cookie_t
jpayne@69 10026 xcb_fill_poly_checked (xcb_connection_t *c,
jpayne@69 10027 xcb_drawable_t drawable,
jpayne@69 10028 xcb_gcontext_t gc,
jpayne@69 10029 uint8_t shape,
jpayne@69 10030 uint8_t coordinate_mode,
jpayne@69 10031 uint32_t points_len,
jpayne@69 10032 const xcb_point_t *points);
jpayne@69 10033
jpayne@69 10034 /**
jpayne@69 10035 *
jpayne@69 10036 * @param c The connection
jpayne@69 10037 * @return A cookie
jpayne@69 10038 *
jpayne@69 10039 * Delivers a request to the X server.
jpayne@69 10040 *
jpayne@69 10041 */
jpayne@69 10042 xcb_void_cookie_t
jpayne@69 10043 xcb_fill_poly (xcb_connection_t *c,
jpayne@69 10044 xcb_drawable_t drawable,
jpayne@69 10045 xcb_gcontext_t gc,
jpayne@69 10046 uint8_t shape,
jpayne@69 10047 uint8_t coordinate_mode,
jpayne@69 10048 uint32_t points_len,
jpayne@69 10049 const xcb_point_t *points);
jpayne@69 10050
jpayne@69 10051 xcb_point_t *
jpayne@69 10052 xcb_fill_poly_points (const xcb_fill_poly_request_t *R);
jpayne@69 10053
jpayne@69 10054 int
jpayne@69 10055 xcb_fill_poly_points_length (const xcb_fill_poly_request_t *R);
jpayne@69 10056
jpayne@69 10057 xcb_point_iterator_t
jpayne@69 10058 xcb_fill_poly_points_iterator (const xcb_fill_poly_request_t *R);
jpayne@69 10059
jpayne@69 10060 int
jpayne@69 10061 xcb_poly_fill_rectangle_sizeof (const void *_buffer,
jpayne@69 10062 uint32_t rectangles_len);
jpayne@69 10063
jpayne@69 10064 /**
jpayne@69 10065 * @brief Fills rectangles
jpayne@69 10066 *
jpayne@69 10067 * @param c The connection
jpayne@69 10068 * @param drawable The drawable (Window or Pixmap) to draw on.
jpayne@69 10069 * @param gc The graphics context to use.
jpayne@69 10070 * \n
jpayne@69 10071 * The following graphics context components are used: function, plane-mask,
jpayne@69 10072 * fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
jpayne@69 10073 * \n
jpayne@69 10074 * The following graphics context mode-dependent components are used:
jpayne@69 10075 * foreground, background, tile, stipple, tile-stipple-x-origin, and
jpayne@69 10076 * tile-stipple-y-origin.
jpayne@69 10077 * @param rectangles_len The number of `xcb_rectangle_t` structures in \a rectangles.
jpayne@69 10078 * @param rectangles The rectangles to fill.
jpayne@69 10079 * @return A cookie
jpayne@69 10080 *
jpayne@69 10081 * Fills the specified rectangle(s) in the order listed in the array. For any
jpayne@69 10082 * given rectangle, each pixel is not drawn more than once. If rectangles
jpayne@69 10083 * intersect, the intersecting pixels are drawn multiple times.
jpayne@69 10084 *
jpayne@69 10085 * This form can be used only if the request will not cause
jpayne@69 10086 * a reply to be generated. Any returned error will be
jpayne@69 10087 * saved for handling by xcb_request_check().
jpayne@69 10088 */
jpayne@69 10089 xcb_void_cookie_t
jpayne@69 10090 xcb_poly_fill_rectangle_checked (xcb_connection_t *c,
jpayne@69 10091 xcb_drawable_t drawable,
jpayne@69 10092 xcb_gcontext_t gc,
jpayne@69 10093 uint32_t rectangles_len,
jpayne@69 10094 const xcb_rectangle_t *rectangles);
jpayne@69 10095
jpayne@69 10096 /**
jpayne@69 10097 * @brief Fills rectangles
jpayne@69 10098 *
jpayne@69 10099 * @param c The connection
jpayne@69 10100 * @param drawable The drawable (Window or Pixmap) to draw on.
jpayne@69 10101 * @param gc The graphics context to use.
jpayne@69 10102 * \n
jpayne@69 10103 * The following graphics context components are used: function, plane-mask,
jpayne@69 10104 * fill-style, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
jpayne@69 10105 * \n
jpayne@69 10106 * The following graphics context mode-dependent components are used:
jpayne@69 10107 * foreground, background, tile, stipple, tile-stipple-x-origin, and
jpayne@69 10108 * tile-stipple-y-origin.
jpayne@69 10109 * @param rectangles_len The number of `xcb_rectangle_t` structures in \a rectangles.
jpayne@69 10110 * @param rectangles The rectangles to fill.
jpayne@69 10111 * @return A cookie
jpayne@69 10112 *
jpayne@69 10113 * Fills the specified rectangle(s) in the order listed in the array. For any
jpayne@69 10114 * given rectangle, each pixel is not drawn more than once. If rectangles
jpayne@69 10115 * intersect, the intersecting pixels are drawn multiple times.
jpayne@69 10116 *
jpayne@69 10117 */
jpayne@69 10118 xcb_void_cookie_t
jpayne@69 10119 xcb_poly_fill_rectangle (xcb_connection_t *c,
jpayne@69 10120 xcb_drawable_t drawable,
jpayne@69 10121 xcb_gcontext_t gc,
jpayne@69 10122 uint32_t rectangles_len,
jpayne@69 10123 const xcb_rectangle_t *rectangles);
jpayne@69 10124
jpayne@69 10125 xcb_rectangle_t *
jpayne@69 10126 xcb_poly_fill_rectangle_rectangles (const xcb_poly_fill_rectangle_request_t *R);
jpayne@69 10127
jpayne@69 10128 int
jpayne@69 10129 xcb_poly_fill_rectangle_rectangles_length (const xcb_poly_fill_rectangle_request_t *R);
jpayne@69 10130
jpayne@69 10131 xcb_rectangle_iterator_t
jpayne@69 10132 xcb_poly_fill_rectangle_rectangles_iterator (const xcb_poly_fill_rectangle_request_t *R);
jpayne@69 10133
jpayne@69 10134 int
jpayne@69 10135 xcb_poly_fill_arc_sizeof (const void *_buffer,
jpayne@69 10136 uint32_t arcs_len);
jpayne@69 10137
jpayne@69 10138 /**
jpayne@69 10139 *
jpayne@69 10140 * @param c The connection
jpayne@69 10141 * @return A cookie
jpayne@69 10142 *
jpayne@69 10143 * Delivers a request to the X server.
jpayne@69 10144 *
jpayne@69 10145 * This form can be used only if the request will not cause
jpayne@69 10146 * a reply to be generated. Any returned error will be
jpayne@69 10147 * saved for handling by xcb_request_check().
jpayne@69 10148 */
jpayne@69 10149 xcb_void_cookie_t
jpayne@69 10150 xcb_poly_fill_arc_checked (xcb_connection_t *c,
jpayne@69 10151 xcb_drawable_t drawable,
jpayne@69 10152 xcb_gcontext_t gc,
jpayne@69 10153 uint32_t arcs_len,
jpayne@69 10154 const xcb_arc_t *arcs);
jpayne@69 10155
jpayne@69 10156 /**
jpayne@69 10157 *
jpayne@69 10158 * @param c The connection
jpayne@69 10159 * @return A cookie
jpayne@69 10160 *
jpayne@69 10161 * Delivers a request to the X server.
jpayne@69 10162 *
jpayne@69 10163 */
jpayne@69 10164 xcb_void_cookie_t
jpayne@69 10165 xcb_poly_fill_arc (xcb_connection_t *c,
jpayne@69 10166 xcb_drawable_t drawable,
jpayne@69 10167 xcb_gcontext_t gc,
jpayne@69 10168 uint32_t arcs_len,
jpayne@69 10169 const xcb_arc_t *arcs);
jpayne@69 10170
jpayne@69 10171 xcb_arc_t *
jpayne@69 10172 xcb_poly_fill_arc_arcs (const xcb_poly_fill_arc_request_t *R);
jpayne@69 10173
jpayne@69 10174 int
jpayne@69 10175 xcb_poly_fill_arc_arcs_length (const xcb_poly_fill_arc_request_t *R);
jpayne@69 10176
jpayne@69 10177 xcb_arc_iterator_t
jpayne@69 10178 xcb_poly_fill_arc_arcs_iterator (const xcb_poly_fill_arc_request_t *R);
jpayne@69 10179
jpayne@69 10180 int
jpayne@69 10181 xcb_put_image_sizeof (const void *_buffer,
jpayne@69 10182 uint32_t data_len);
jpayne@69 10183
jpayne@69 10184 /**
jpayne@69 10185 *
jpayne@69 10186 * @param c The connection
jpayne@69 10187 * @return A cookie
jpayne@69 10188 *
jpayne@69 10189 * Delivers a request to the X server.
jpayne@69 10190 *
jpayne@69 10191 * This form can be used only if the request will not cause
jpayne@69 10192 * a reply to be generated. Any returned error will be
jpayne@69 10193 * saved for handling by xcb_request_check().
jpayne@69 10194 */
jpayne@69 10195 xcb_void_cookie_t
jpayne@69 10196 xcb_put_image_checked (xcb_connection_t *c,
jpayne@69 10197 uint8_t format,
jpayne@69 10198 xcb_drawable_t drawable,
jpayne@69 10199 xcb_gcontext_t gc,
jpayne@69 10200 uint16_t width,
jpayne@69 10201 uint16_t height,
jpayne@69 10202 int16_t dst_x,
jpayne@69 10203 int16_t dst_y,
jpayne@69 10204 uint8_t left_pad,
jpayne@69 10205 uint8_t depth,
jpayne@69 10206 uint32_t data_len,
jpayne@69 10207 const uint8_t *data);
jpayne@69 10208
jpayne@69 10209 /**
jpayne@69 10210 *
jpayne@69 10211 * @param c The connection
jpayne@69 10212 * @return A cookie
jpayne@69 10213 *
jpayne@69 10214 * Delivers a request to the X server.
jpayne@69 10215 *
jpayne@69 10216 */
jpayne@69 10217 xcb_void_cookie_t
jpayne@69 10218 xcb_put_image (xcb_connection_t *c,
jpayne@69 10219 uint8_t format,
jpayne@69 10220 xcb_drawable_t drawable,
jpayne@69 10221 xcb_gcontext_t gc,
jpayne@69 10222 uint16_t width,
jpayne@69 10223 uint16_t height,
jpayne@69 10224 int16_t dst_x,
jpayne@69 10225 int16_t dst_y,
jpayne@69 10226 uint8_t left_pad,
jpayne@69 10227 uint8_t depth,
jpayne@69 10228 uint32_t data_len,
jpayne@69 10229 const uint8_t *data);
jpayne@69 10230
jpayne@69 10231 uint8_t *
jpayne@69 10232 xcb_put_image_data (const xcb_put_image_request_t *R);
jpayne@69 10233
jpayne@69 10234 int
jpayne@69 10235 xcb_put_image_data_length (const xcb_put_image_request_t *R);
jpayne@69 10236
jpayne@69 10237 xcb_generic_iterator_t
jpayne@69 10238 xcb_put_image_data_end (const xcb_put_image_request_t *R);
jpayne@69 10239
jpayne@69 10240 int
jpayne@69 10241 xcb_get_image_sizeof (const void *_buffer);
jpayne@69 10242
jpayne@69 10243 /**
jpayne@69 10244 *
jpayne@69 10245 * @param c The connection
jpayne@69 10246 * @return A cookie
jpayne@69 10247 *
jpayne@69 10248 * Delivers a request to the X server.
jpayne@69 10249 *
jpayne@69 10250 */
jpayne@69 10251 xcb_get_image_cookie_t
jpayne@69 10252 xcb_get_image (xcb_connection_t *c,
jpayne@69 10253 uint8_t format,
jpayne@69 10254 xcb_drawable_t drawable,
jpayne@69 10255 int16_t x,
jpayne@69 10256 int16_t y,
jpayne@69 10257 uint16_t width,
jpayne@69 10258 uint16_t height,
jpayne@69 10259 uint32_t plane_mask);
jpayne@69 10260
jpayne@69 10261 /**
jpayne@69 10262 *
jpayne@69 10263 * @param c The connection
jpayne@69 10264 * @return A cookie
jpayne@69 10265 *
jpayne@69 10266 * Delivers a request to the X server.
jpayne@69 10267 *
jpayne@69 10268 * This form can be used only if the request will cause
jpayne@69 10269 * a reply to be generated. Any returned error will be
jpayne@69 10270 * placed in the event queue.
jpayne@69 10271 */
jpayne@69 10272 xcb_get_image_cookie_t
jpayne@69 10273 xcb_get_image_unchecked (xcb_connection_t *c,
jpayne@69 10274 uint8_t format,
jpayne@69 10275 xcb_drawable_t drawable,
jpayne@69 10276 int16_t x,
jpayne@69 10277 int16_t y,
jpayne@69 10278 uint16_t width,
jpayne@69 10279 uint16_t height,
jpayne@69 10280 uint32_t plane_mask);
jpayne@69 10281
jpayne@69 10282 uint8_t *
jpayne@69 10283 xcb_get_image_data (const xcb_get_image_reply_t *R);
jpayne@69 10284
jpayne@69 10285 int
jpayne@69 10286 xcb_get_image_data_length (const xcb_get_image_reply_t *R);
jpayne@69 10287
jpayne@69 10288 xcb_generic_iterator_t
jpayne@69 10289 xcb_get_image_data_end (const xcb_get_image_reply_t *R);
jpayne@69 10290
jpayne@69 10291 /**
jpayne@69 10292 * Return the reply
jpayne@69 10293 * @param c The connection
jpayne@69 10294 * @param cookie The cookie
jpayne@69 10295 * @param e The xcb_generic_error_t supplied
jpayne@69 10296 *
jpayne@69 10297 * Returns the reply of the request asked by
jpayne@69 10298 *
jpayne@69 10299 * The parameter @p e supplied to this function must be NULL if
jpayne@69 10300 * xcb_get_image_unchecked(). is used.
jpayne@69 10301 * Otherwise, it stores the error if any.
jpayne@69 10302 *
jpayne@69 10303 * The returned value must be freed by the caller using free().
jpayne@69 10304 */
jpayne@69 10305 xcb_get_image_reply_t *
jpayne@69 10306 xcb_get_image_reply (xcb_connection_t *c,
jpayne@69 10307 xcb_get_image_cookie_t cookie /**< */,
jpayne@69 10308 xcb_generic_error_t **e);
jpayne@69 10309
jpayne@69 10310 int
jpayne@69 10311 xcb_poly_text_8_sizeof (const void *_buffer,
jpayne@69 10312 uint32_t items_len);
jpayne@69 10313
jpayne@69 10314 /**
jpayne@69 10315 *
jpayne@69 10316 * @param c The connection
jpayne@69 10317 * @return A cookie
jpayne@69 10318 *
jpayne@69 10319 * Delivers a request to the X server.
jpayne@69 10320 *
jpayne@69 10321 * This form can be used only if the request will not cause
jpayne@69 10322 * a reply to be generated. Any returned error will be
jpayne@69 10323 * saved for handling by xcb_request_check().
jpayne@69 10324 */
jpayne@69 10325 xcb_void_cookie_t
jpayne@69 10326 xcb_poly_text_8_checked (xcb_connection_t *c,
jpayne@69 10327 xcb_drawable_t drawable,
jpayne@69 10328 xcb_gcontext_t gc,
jpayne@69 10329 int16_t x,
jpayne@69 10330 int16_t y,
jpayne@69 10331 uint32_t items_len,
jpayne@69 10332 const uint8_t *items);
jpayne@69 10333
jpayne@69 10334 /**
jpayne@69 10335 *
jpayne@69 10336 * @param c The connection
jpayne@69 10337 * @return A cookie
jpayne@69 10338 *
jpayne@69 10339 * Delivers a request to the X server.
jpayne@69 10340 *
jpayne@69 10341 */
jpayne@69 10342 xcb_void_cookie_t
jpayne@69 10343 xcb_poly_text_8 (xcb_connection_t *c,
jpayne@69 10344 xcb_drawable_t drawable,
jpayne@69 10345 xcb_gcontext_t gc,
jpayne@69 10346 int16_t x,
jpayne@69 10347 int16_t y,
jpayne@69 10348 uint32_t items_len,
jpayne@69 10349 const uint8_t *items);
jpayne@69 10350
jpayne@69 10351 uint8_t *
jpayne@69 10352 xcb_poly_text_8_items (const xcb_poly_text_8_request_t *R);
jpayne@69 10353
jpayne@69 10354 int
jpayne@69 10355 xcb_poly_text_8_items_length (const xcb_poly_text_8_request_t *R);
jpayne@69 10356
jpayne@69 10357 xcb_generic_iterator_t
jpayne@69 10358 xcb_poly_text_8_items_end (const xcb_poly_text_8_request_t *R);
jpayne@69 10359
jpayne@69 10360 int
jpayne@69 10361 xcb_poly_text_16_sizeof (const void *_buffer,
jpayne@69 10362 uint32_t items_len);
jpayne@69 10363
jpayne@69 10364 /**
jpayne@69 10365 *
jpayne@69 10366 * @param c The connection
jpayne@69 10367 * @return A cookie
jpayne@69 10368 *
jpayne@69 10369 * Delivers a request to the X server.
jpayne@69 10370 *
jpayne@69 10371 * This form can be used only if the request will not cause
jpayne@69 10372 * a reply to be generated. Any returned error will be
jpayne@69 10373 * saved for handling by xcb_request_check().
jpayne@69 10374 */
jpayne@69 10375 xcb_void_cookie_t
jpayne@69 10376 xcb_poly_text_16_checked (xcb_connection_t *c,
jpayne@69 10377 xcb_drawable_t drawable,
jpayne@69 10378 xcb_gcontext_t gc,
jpayne@69 10379 int16_t x,
jpayne@69 10380 int16_t y,
jpayne@69 10381 uint32_t items_len,
jpayne@69 10382 const uint8_t *items);
jpayne@69 10383
jpayne@69 10384 /**
jpayne@69 10385 *
jpayne@69 10386 * @param c The connection
jpayne@69 10387 * @return A cookie
jpayne@69 10388 *
jpayne@69 10389 * Delivers a request to the X server.
jpayne@69 10390 *
jpayne@69 10391 */
jpayne@69 10392 xcb_void_cookie_t
jpayne@69 10393 xcb_poly_text_16 (xcb_connection_t *c,
jpayne@69 10394 xcb_drawable_t drawable,
jpayne@69 10395 xcb_gcontext_t gc,
jpayne@69 10396 int16_t x,
jpayne@69 10397 int16_t y,
jpayne@69 10398 uint32_t items_len,
jpayne@69 10399 const uint8_t *items);
jpayne@69 10400
jpayne@69 10401 uint8_t *
jpayne@69 10402 xcb_poly_text_16_items (const xcb_poly_text_16_request_t *R);
jpayne@69 10403
jpayne@69 10404 int
jpayne@69 10405 xcb_poly_text_16_items_length (const xcb_poly_text_16_request_t *R);
jpayne@69 10406
jpayne@69 10407 xcb_generic_iterator_t
jpayne@69 10408 xcb_poly_text_16_items_end (const xcb_poly_text_16_request_t *R);
jpayne@69 10409
jpayne@69 10410 int
jpayne@69 10411 xcb_image_text_8_sizeof (const void *_buffer);
jpayne@69 10412
jpayne@69 10413 /**
jpayne@69 10414 * @brief Draws text
jpayne@69 10415 *
jpayne@69 10416 * @param c The connection
jpayne@69 10417 * @param string_len The length of the \a string. Note that this parameter limited by 255 due to
jpayne@69 10418 * using 8 bits!
jpayne@69 10419 * @param drawable The drawable (Window or Pixmap) to draw text on.
jpayne@69 10420 * @param gc The graphics context to use.
jpayne@69 10421 * \n
jpayne@69 10422 * The following graphics context components are used: plane-mask, foreground,
jpayne@69 10423 * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
jpayne@69 10424 * @param x The x coordinate of the first character, relative to the origin of \a drawable.
jpayne@69 10425 * @param y The y coordinate of the first character, relative to the origin of \a drawable.
jpayne@69 10426 * @param string The string to draw. Only the first 255 characters are relevant due to the data
jpayne@69 10427 * type of \a string_len.
jpayne@69 10428 * @return A cookie
jpayne@69 10429 *
jpayne@69 10430 * Fills the destination rectangle with the background pixel from \a gc, then
jpayne@69 10431 * paints the text with the foreground pixel from \a gc. The upper-left corner of
jpayne@69 10432 * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
jpayne@69 10433 * the height is font-ascent + font-descent. The overall-width, font-ascent and
jpayne@69 10434 * font-descent are as returned by `xcb_query_text_extents` (TODO).
jpayne@69 10435 *
jpayne@69 10436 * Note that using X core fonts is deprecated (but still supported) in favor of
jpayne@69 10437 * client-side rendering using Xft.
jpayne@69 10438 *
jpayne@69 10439 * This form can be used only if the request will not cause
jpayne@69 10440 * a reply to be generated. Any returned error will be
jpayne@69 10441 * saved for handling by xcb_request_check().
jpayne@69 10442 */
jpayne@69 10443 xcb_void_cookie_t
jpayne@69 10444 xcb_image_text_8_checked (xcb_connection_t *c,
jpayne@69 10445 uint8_t string_len,
jpayne@69 10446 xcb_drawable_t drawable,
jpayne@69 10447 xcb_gcontext_t gc,
jpayne@69 10448 int16_t x,
jpayne@69 10449 int16_t y,
jpayne@69 10450 const char *string);
jpayne@69 10451
jpayne@69 10452 /**
jpayne@69 10453 * @brief Draws text
jpayne@69 10454 *
jpayne@69 10455 * @param c The connection
jpayne@69 10456 * @param string_len The length of the \a string. Note that this parameter limited by 255 due to
jpayne@69 10457 * using 8 bits!
jpayne@69 10458 * @param drawable The drawable (Window or Pixmap) to draw text on.
jpayne@69 10459 * @param gc The graphics context to use.
jpayne@69 10460 * \n
jpayne@69 10461 * The following graphics context components are used: plane-mask, foreground,
jpayne@69 10462 * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
jpayne@69 10463 * @param x The x coordinate of the first character, relative to the origin of \a drawable.
jpayne@69 10464 * @param y The y coordinate of the first character, relative to the origin of \a drawable.
jpayne@69 10465 * @param string The string to draw. Only the first 255 characters are relevant due to the data
jpayne@69 10466 * type of \a string_len.
jpayne@69 10467 * @return A cookie
jpayne@69 10468 *
jpayne@69 10469 * Fills the destination rectangle with the background pixel from \a gc, then
jpayne@69 10470 * paints the text with the foreground pixel from \a gc. The upper-left corner of
jpayne@69 10471 * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
jpayne@69 10472 * the height is font-ascent + font-descent. The overall-width, font-ascent and
jpayne@69 10473 * font-descent are as returned by `xcb_query_text_extents` (TODO).
jpayne@69 10474 *
jpayne@69 10475 * Note that using X core fonts is deprecated (but still supported) in favor of
jpayne@69 10476 * client-side rendering using Xft.
jpayne@69 10477 *
jpayne@69 10478 */
jpayne@69 10479 xcb_void_cookie_t
jpayne@69 10480 xcb_image_text_8 (xcb_connection_t *c,
jpayne@69 10481 uint8_t string_len,
jpayne@69 10482 xcb_drawable_t drawable,
jpayne@69 10483 xcb_gcontext_t gc,
jpayne@69 10484 int16_t x,
jpayne@69 10485 int16_t y,
jpayne@69 10486 const char *string);
jpayne@69 10487
jpayne@69 10488 char *
jpayne@69 10489 xcb_image_text_8_string (const xcb_image_text_8_request_t *R);
jpayne@69 10490
jpayne@69 10491 int
jpayne@69 10492 xcb_image_text_8_string_length (const xcb_image_text_8_request_t *R);
jpayne@69 10493
jpayne@69 10494 xcb_generic_iterator_t
jpayne@69 10495 xcb_image_text_8_string_end (const xcb_image_text_8_request_t *R);
jpayne@69 10496
jpayne@69 10497 int
jpayne@69 10498 xcb_image_text_16_sizeof (const void *_buffer);
jpayne@69 10499
jpayne@69 10500 /**
jpayne@69 10501 * @brief Draws text
jpayne@69 10502 *
jpayne@69 10503 * @param c The connection
jpayne@69 10504 * @param string_len The length of the \a string in characters. Note that this parameter limited by
jpayne@69 10505 * 255 due to using 8 bits!
jpayne@69 10506 * @param drawable The drawable (Window or Pixmap) to draw text on.
jpayne@69 10507 * @param gc The graphics context to use.
jpayne@69 10508 * \n
jpayne@69 10509 * The following graphics context components are used: plane-mask, foreground,
jpayne@69 10510 * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
jpayne@69 10511 * @param x The x coordinate of the first character, relative to the origin of \a drawable.
jpayne@69 10512 * @param y The y coordinate of the first character, relative to the origin of \a drawable.
jpayne@69 10513 * @param string The string to draw. Only the first 255 characters are relevant due to the data
jpayne@69 10514 * type of \a string_len. Every character uses 2 bytes (hence the 16 in this
jpayne@69 10515 * request's name).
jpayne@69 10516 * @return A cookie
jpayne@69 10517 *
jpayne@69 10518 * Fills the destination rectangle with the background pixel from \a gc, then
jpayne@69 10519 * paints the text with the foreground pixel from \a gc. The upper-left corner of
jpayne@69 10520 * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
jpayne@69 10521 * the height is font-ascent + font-descent. The overall-width, font-ascent and
jpayne@69 10522 * font-descent are as returned by `xcb_query_text_extents` (TODO).
jpayne@69 10523 *
jpayne@69 10524 * Note that using X core fonts is deprecated (but still supported) in favor of
jpayne@69 10525 * client-side rendering using Xft.
jpayne@69 10526 *
jpayne@69 10527 * This form can be used only if the request will not cause
jpayne@69 10528 * a reply to be generated. Any returned error will be
jpayne@69 10529 * saved for handling by xcb_request_check().
jpayne@69 10530 */
jpayne@69 10531 xcb_void_cookie_t
jpayne@69 10532 xcb_image_text_16_checked (xcb_connection_t *c,
jpayne@69 10533 uint8_t string_len,
jpayne@69 10534 xcb_drawable_t drawable,
jpayne@69 10535 xcb_gcontext_t gc,
jpayne@69 10536 int16_t x,
jpayne@69 10537 int16_t y,
jpayne@69 10538 const xcb_char2b_t *string);
jpayne@69 10539
jpayne@69 10540 /**
jpayne@69 10541 * @brief Draws text
jpayne@69 10542 *
jpayne@69 10543 * @param c The connection
jpayne@69 10544 * @param string_len The length of the \a string in characters. Note that this parameter limited by
jpayne@69 10545 * 255 due to using 8 bits!
jpayne@69 10546 * @param drawable The drawable (Window or Pixmap) to draw text on.
jpayne@69 10547 * @param gc The graphics context to use.
jpayne@69 10548 * \n
jpayne@69 10549 * The following graphics context components are used: plane-mask, foreground,
jpayne@69 10550 * background, font, subwindow-mode, clip-x-origin, clip-y-origin, and clip-mask.
jpayne@69 10551 * @param x The x coordinate of the first character, relative to the origin of \a drawable.
jpayne@69 10552 * @param y The y coordinate of the first character, relative to the origin of \a drawable.
jpayne@69 10553 * @param string The string to draw. Only the first 255 characters are relevant due to the data
jpayne@69 10554 * type of \a string_len. Every character uses 2 bytes (hence the 16 in this
jpayne@69 10555 * request's name).
jpayne@69 10556 * @return A cookie
jpayne@69 10557 *
jpayne@69 10558 * Fills the destination rectangle with the background pixel from \a gc, then
jpayne@69 10559 * paints the text with the foreground pixel from \a gc. The upper-left corner of
jpayne@69 10560 * the filled rectangle is at [x, y - font-ascent]. The width is overall-width,
jpayne@69 10561 * the height is font-ascent + font-descent. The overall-width, font-ascent and
jpayne@69 10562 * font-descent are as returned by `xcb_query_text_extents` (TODO).
jpayne@69 10563 *
jpayne@69 10564 * Note that using X core fonts is deprecated (but still supported) in favor of
jpayne@69 10565 * client-side rendering using Xft.
jpayne@69 10566 *
jpayne@69 10567 */
jpayne@69 10568 xcb_void_cookie_t
jpayne@69 10569 xcb_image_text_16 (xcb_connection_t *c,
jpayne@69 10570 uint8_t string_len,
jpayne@69 10571 xcb_drawable_t drawable,
jpayne@69 10572 xcb_gcontext_t gc,
jpayne@69 10573 int16_t x,
jpayne@69 10574 int16_t y,
jpayne@69 10575 const xcb_char2b_t *string);
jpayne@69 10576
jpayne@69 10577 xcb_char2b_t *
jpayne@69 10578 xcb_image_text_16_string (const xcb_image_text_16_request_t *R);
jpayne@69 10579
jpayne@69 10580 int
jpayne@69 10581 xcb_image_text_16_string_length (const xcb_image_text_16_request_t *R);
jpayne@69 10582
jpayne@69 10583 xcb_char2b_iterator_t
jpayne@69 10584 xcb_image_text_16_string_iterator (const xcb_image_text_16_request_t *R);
jpayne@69 10585
jpayne@69 10586 /**
jpayne@69 10587 *
jpayne@69 10588 * @param c The connection
jpayne@69 10589 * @return A cookie
jpayne@69 10590 *
jpayne@69 10591 * Delivers a request to the X server.
jpayne@69 10592 *
jpayne@69 10593 * This form can be used only if the request will not cause
jpayne@69 10594 * a reply to be generated. Any returned error will be
jpayne@69 10595 * saved for handling by xcb_request_check().
jpayne@69 10596 */
jpayne@69 10597 xcb_void_cookie_t
jpayne@69 10598 xcb_create_colormap_checked (xcb_connection_t *c,
jpayne@69 10599 uint8_t alloc,
jpayne@69 10600 xcb_colormap_t mid,
jpayne@69 10601 xcb_window_t window,
jpayne@69 10602 xcb_visualid_t visual);
jpayne@69 10603
jpayne@69 10604 /**
jpayne@69 10605 *
jpayne@69 10606 * @param c The connection
jpayne@69 10607 * @return A cookie
jpayne@69 10608 *
jpayne@69 10609 * Delivers a request to the X server.
jpayne@69 10610 *
jpayne@69 10611 */
jpayne@69 10612 xcb_void_cookie_t
jpayne@69 10613 xcb_create_colormap (xcb_connection_t *c,
jpayne@69 10614 uint8_t alloc,
jpayne@69 10615 xcb_colormap_t mid,
jpayne@69 10616 xcb_window_t window,
jpayne@69 10617 xcb_visualid_t visual);
jpayne@69 10618
jpayne@69 10619 /**
jpayne@69 10620 *
jpayne@69 10621 * @param c The connection
jpayne@69 10622 * @return A cookie
jpayne@69 10623 *
jpayne@69 10624 * Delivers a request to the X server.
jpayne@69 10625 *
jpayne@69 10626 * This form can be used only if the request will not cause
jpayne@69 10627 * a reply to be generated. Any returned error will be
jpayne@69 10628 * saved for handling by xcb_request_check().
jpayne@69 10629 */
jpayne@69 10630 xcb_void_cookie_t
jpayne@69 10631 xcb_free_colormap_checked (xcb_connection_t *c,
jpayne@69 10632 xcb_colormap_t cmap);
jpayne@69 10633
jpayne@69 10634 /**
jpayne@69 10635 *
jpayne@69 10636 * @param c The connection
jpayne@69 10637 * @return A cookie
jpayne@69 10638 *
jpayne@69 10639 * Delivers a request to the X server.
jpayne@69 10640 *
jpayne@69 10641 */
jpayne@69 10642 xcb_void_cookie_t
jpayne@69 10643 xcb_free_colormap (xcb_connection_t *c,
jpayne@69 10644 xcb_colormap_t cmap);
jpayne@69 10645
jpayne@69 10646 /**
jpayne@69 10647 *
jpayne@69 10648 * @param c The connection
jpayne@69 10649 * @return A cookie
jpayne@69 10650 *
jpayne@69 10651 * Delivers a request to the X server.
jpayne@69 10652 *
jpayne@69 10653 * This form can be used only if the request will not cause
jpayne@69 10654 * a reply to be generated. Any returned error will be
jpayne@69 10655 * saved for handling by xcb_request_check().
jpayne@69 10656 */
jpayne@69 10657 xcb_void_cookie_t
jpayne@69 10658 xcb_copy_colormap_and_free_checked (xcb_connection_t *c,
jpayne@69 10659 xcb_colormap_t mid,
jpayne@69 10660 xcb_colormap_t src_cmap);
jpayne@69 10661
jpayne@69 10662 /**
jpayne@69 10663 *
jpayne@69 10664 * @param c The connection
jpayne@69 10665 * @return A cookie
jpayne@69 10666 *
jpayne@69 10667 * Delivers a request to the X server.
jpayne@69 10668 *
jpayne@69 10669 */
jpayne@69 10670 xcb_void_cookie_t
jpayne@69 10671 xcb_copy_colormap_and_free (xcb_connection_t *c,
jpayne@69 10672 xcb_colormap_t mid,
jpayne@69 10673 xcb_colormap_t src_cmap);
jpayne@69 10674
jpayne@69 10675 /**
jpayne@69 10676 *
jpayne@69 10677 * @param c The connection
jpayne@69 10678 * @return A cookie
jpayne@69 10679 *
jpayne@69 10680 * Delivers a request to the X server.
jpayne@69 10681 *
jpayne@69 10682 * This form can be used only if the request will not cause
jpayne@69 10683 * a reply to be generated. Any returned error will be
jpayne@69 10684 * saved for handling by xcb_request_check().
jpayne@69 10685 */
jpayne@69 10686 xcb_void_cookie_t
jpayne@69 10687 xcb_install_colormap_checked (xcb_connection_t *c,
jpayne@69 10688 xcb_colormap_t cmap);
jpayne@69 10689
jpayne@69 10690 /**
jpayne@69 10691 *
jpayne@69 10692 * @param c The connection
jpayne@69 10693 * @return A cookie
jpayne@69 10694 *
jpayne@69 10695 * Delivers a request to the X server.
jpayne@69 10696 *
jpayne@69 10697 */
jpayne@69 10698 xcb_void_cookie_t
jpayne@69 10699 xcb_install_colormap (xcb_connection_t *c,
jpayne@69 10700 xcb_colormap_t cmap);
jpayne@69 10701
jpayne@69 10702 /**
jpayne@69 10703 *
jpayne@69 10704 * @param c The connection
jpayne@69 10705 * @return A cookie
jpayne@69 10706 *
jpayne@69 10707 * Delivers a request to the X server.
jpayne@69 10708 *
jpayne@69 10709 * This form can be used only if the request will not cause
jpayne@69 10710 * a reply to be generated. Any returned error will be
jpayne@69 10711 * saved for handling by xcb_request_check().
jpayne@69 10712 */
jpayne@69 10713 xcb_void_cookie_t
jpayne@69 10714 xcb_uninstall_colormap_checked (xcb_connection_t *c,
jpayne@69 10715 xcb_colormap_t cmap);
jpayne@69 10716
jpayne@69 10717 /**
jpayne@69 10718 *
jpayne@69 10719 * @param c The connection
jpayne@69 10720 * @return A cookie
jpayne@69 10721 *
jpayne@69 10722 * Delivers a request to the X server.
jpayne@69 10723 *
jpayne@69 10724 */
jpayne@69 10725 xcb_void_cookie_t
jpayne@69 10726 xcb_uninstall_colormap (xcb_connection_t *c,
jpayne@69 10727 xcb_colormap_t cmap);
jpayne@69 10728
jpayne@69 10729 int
jpayne@69 10730 xcb_list_installed_colormaps_sizeof (const void *_buffer);
jpayne@69 10731
jpayne@69 10732 /**
jpayne@69 10733 *
jpayne@69 10734 * @param c The connection
jpayne@69 10735 * @return A cookie
jpayne@69 10736 *
jpayne@69 10737 * Delivers a request to the X server.
jpayne@69 10738 *
jpayne@69 10739 */
jpayne@69 10740 xcb_list_installed_colormaps_cookie_t
jpayne@69 10741 xcb_list_installed_colormaps (xcb_connection_t *c,
jpayne@69 10742 xcb_window_t window);
jpayne@69 10743
jpayne@69 10744 /**
jpayne@69 10745 *
jpayne@69 10746 * @param c The connection
jpayne@69 10747 * @return A cookie
jpayne@69 10748 *
jpayne@69 10749 * Delivers a request to the X server.
jpayne@69 10750 *
jpayne@69 10751 * This form can be used only if the request will cause
jpayne@69 10752 * a reply to be generated. Any returned error will be
jpayne@69 10753 * placed in the event queue.
jpayne@69 10754 */
jpayne@69 10755 xcb_list_installed_colormaps_cookie_t
jpayne@69 10756 xcb_list_installed_colormaps_unchecked (xcb_connection_t *c,
jpayne@69 10757 xcb_window_t window);
jpayne@69 10758
jpayne@69 10759 xcb_colormap_t *
jpayne@69 10760 xcb_list_installed_colormaps_cmaps (const xcb_list_installed_colormaps_reply_t *R);
jpayne@69 10761
jpayne@69 10762 int
jpayne@69 10763 xcb_list_installed_colormaps_cmaps_length (const xcb_list_installed_colormaps_reply_t *R);
jpayne@69 10764
jpayne@69 10765 xcb_generic_iterator_t
jpayne@69 10766 xcb_list_installed_colormaps_cmaps_end (const xcb_list_installed_colormaps_reply_t *R);
jpayne@69 10767
jpayne@69 10768 /**
jpayne@69 10769 * Return the reply
jpayne@69 10770 * @param c The connection
jpayne@69 10771 * @param cookie The cookie
jpayne@69 10772 * @param e The xcb_generic_error_t supplied
jpayne@69 10773 *
jpayne@69 10774 * Returns the reply of the request asked by
jpayne@69 10775 *
jpayne@69 10776 * The parameter @p e supplied to this function must be NULL if
jpayne@69 10777 * xcb_list_installed_colormaps_unchecked(). is used.
jpayne@69 10778 * Otherwise, it stores the error if any.
jpayne@69 10779 *
jpayne@69 10780 * The returned value must be freed by the caller using free().
jpayne@69 10781 */
jpayne@69 10782 xcb_list_installed_colormaps_reply_t *
jpayne@69 10783 xcb_list_installed_colormaps_reply (xcb_connection_t *c,
jpayne@69 10784 xcb_list_installed_colormaps_cookie_t cookie /**< */,
jpayne@69 10785 xcb_generic_error_t **e);
jpayne@69 10786
jpayne@69 10787 /**
jpayne@69 10788 * @brief Allocate a color
jpayne@69 10789 *
jpayne@69 10790 * @param c The connection
jpayne@69 10791 * @param cmap TODO
jpayne@69 10792 * @param red The red value of your color.
jpayne@69 10793 * @param green The green value of your color.
jpayne@69 10794 * @param blue The blue value of your color.
jpayne@69 10795 * @return A cookie
jpayne@69 10796 *
jpayne@69 10797 * Allocates a read-only colormap entry corresponding to the closest RGB value
jpayne@69 10798 * supported by the hardware. If you are using TrueColor, you can take a shortcut
jpayne@69 10799 * and directly calculate the color pixel value to avoid the round trip. But, for
jpayne@69 10800 * example, on 16-bit color setups (VNC), you can easily get the closest supported
jpayne@69 10801 * RGB value to the RGB value you are specifying.
jpayne@69 10802 *
jpayne@69 10803 */
jpayne@69 10804 xcb_alloc_color_cookie_t
jpayne@69 10805 xcb_alloc_color (xcb_connection_t *c,
jpayne@69 10806 xcb_colormap_t cmap,
jpayne@69 10807 uint16_t red,
jpayne@69 10808 uint16_t green,
jpayne@69 10809 uint16_t blue);
jpayne@69 10810
jpayne@69 10811 /**
jpayne@69 10812 * @brief Allocate a color
jpayne@69 10813 *
jpayne@69 10814 * @param c The connection
jpayne@69 10815 * @param cmap TODO
jpayne@69 10816 * @param red The red value of your color.
jpayne@69 10817 * @param green The green value of your color.
jpayne@69 10818 * @param blue The blue value of your color.
jpayne@69 10819 * @return A cookie
jpayne@69 10820 *
jpayne@69 10821 * Allocates a read-only colormap entry corresponding to the closest RGB value
jpayne@69 10822 * supported by the hardware. If you are using TrueColor, you can take a shortcut
jpayne@69 10823 * and directly calculate the color pixel value to avoid the round trip. But, for
jpayne@69 10824 * example, on 16-bit color setups (VNC), you can easily get the closest supported
jpayne@69 10825 * RGB value to the RGB value you are specifying.
jpayne@69 10826 *
jpayne@69 10827 * This form can be used only if the request will cause
jpayne@69 10828 * a reply to be generated. Any returned error will be
jpayne@69 10829 * placed in the event queue.
jpayne@69 10830 */
jpayne@69 10831 xcb_alloc_color_cookie_t
jpayne@69 10832 xcb_alloc_color_unchecked (xcb_connection_t *c,
jpayne@69 10833 xcb_colormap_t cmap,
jpayne@69 10834 uint16_t red,
jpayne@69 10835 uint16_t green,
jpayne@69 10836 uint16_t blue);
jpayne@69 10837
jpayne@69 10838 /**
jpayne@69 10839 * Return the reply
jpayne@69 10840 * @param c The connection
jpayne@69 10841 * @param cookie The cookie
jpayne@69 10842 * @param e The xcb_generic_error_t supplied
jpayne@69 10843 *
jpayne@69 10844 * Returns the reply of the request asked by
jpayne@69 10845 *
jpayne@69 10846 * The parameter @p e supplied to this function must be NULL if
jpayne@69 10847 * xcb_alloc_color_unchecked(). is used.
jpayne@69 10848 * Otherwise, it stores the error if any.
jpayne@69 10849 *
jpayne@69 10850 * The returned value must be freed by the caller using free().
jpayne@69 10851 */
jpayne@69 10852 xcb_alloc_color_reply_t *
jpayne@69 10853 xcb_alloc_color_reply (xcb_connection_t *c,
jpayne@69 10854 xcb_alloc_color_cookie_t cookie /**< */,
jpayne@69 10855 xcb_generic_error_t **e);
jpayne@69 10856
jpayne@69 10857 int
jpayne@69 10858 xcb_alloc_named_color_sizeof (const void *_buffer);
jpayne@69 10859
jpayne@69 10860 /**
jpayne@69 10861 *
jpayne@69 10862 * @param c The connection
jpayne@69 10863 * @return A cookie
jpayne@69 10864 *
jpayne@69 10865 * Delivers a request to the X server.
jpayne@69 10866 *
jpayne@69 10867 */
jpayne@69 10868 xcb_alloc_named_color_cookie_t
jpayne@69 10869 xcb_alloc_named_color (xcb_connection_t *c,
jpayne@69 10870 xcb_colormap_t cmap,
jpayne@69 10871 uint16_t name_len,
jpayne@69 10872 const char *name);
jpayne@69 10873
jpayne@69 10874 /**
jpayne@69 10875 *
jpayne@69 10876 * @param c The connection
jpayne@69 10877 * @return A cookie
jpayne@69 10878 *
jpayne@69 10879 * Delivers a request to the X server.
jpayne@69 10880 *
jpayne@69 10881 * This form can be used only if the request will cause
jpayne@69 10882 * a reply to be generated. Any returned error will be
jpayne@69 10883 * placed in the event queue.
jpayne@69 10884 */
jpayne@69 10885 xcb_alloc_named_color_cookie_t
jpayne@69 10886 xcb_alloc_named_color_unchecked (xcb_connection_t *c,
jpayne@69 10887 xcb_colormap_t cmap,
jpayne@69 10888 uint16_t name_len,
jpayne@69 10889 const char *name);
jpayne@69 10890
jpayne@69 10891 /**
jpayne@69 10892 * Return the reply
jpayne@69 10893 * @param c The connection
jpayne@69 10894 * @param cookie The cookie
jpayne@69 10895 * @param e The xcb_generic_error_t supplied
jpayne@69 10896 *
jpayne@69 10897 * Returns the reply of the request asked by
jpayne@69 10898 *
jpayne@69 10899 * The parameter @p e supplied to this function must be NULL if
jpayne@69 10900 * xcb_alloc_named_color_unchecked(). is used.
jpayne@69 10901 * Otherwise, it stores the error if any.
jpayne@69 10902 *
jpayne@69 10903 * The returned value must be freed by the caller using free().
jpayne@69 10904 */
jpayne@69 10905 xcb_alloc_named_color_reply_t *
jpayne@69 10906 xcb_alloc_named_color_reply (xcb_connection_t *c,
jpayne@69 10907 xcb_alloc_named_color_cookie_t cookie /**< */,
jpayne@69 10908 xcb_generic_error_t **e);
jpayne@69 10909
jpayne@69 10910 int
jpayne@69 10911 xcb_alloc_color_cells_sizeof (const void *_buffer);
jpayne@69 10912
jpayne@69 10913 /**
jpayne@69 10914 *
jpayne@69 10915 * @param c The connection
jpayne@69 10916 * @return A cookie
jpayne@69 10917 *
jpayne@69 10918 * Delivers a request to the X server.
jpayne@69 10919 *
jpayne@69 10920 */
jpayne@69 10921 xcb_alloc_color_cells_cookie_t
jpayne@69 10922 xcb_alloc_color_cells (xcb_connection_t *c,
jpayne@69 10923 uint8_t contiguous,
jpayne@69 10924 xcb_colormap_t cmap,
jpayne@69 10925 uint16_t colors,
jpayne@69 10926 uint16_t planes);
jpayne@69 10927
jpayne@69 10928 /**
jpayne@69 10929 *
jpayne@69 10930 * @param c The connection
jpayne@69 10931 * @return A cookie
jpayne@69 10932 *
jpayne@69 10933 * Delivers a request to the X server.
jpayne@69 10934 *
jpayne@69 10935 * This form can be used only if the request will cause
jpayne@69 10936 * a reply to be generated. Any returned error will be
jpayne@69 10937 * placed in the event queue.
jpayne@69 10938 */
jpayne@69 10939 xcb_alloc_color_cells_cookie_t
jpayne@69 10940 xcb_alloc_color_cells_unchecked (xcb_connection_t *c,
jpayne@69 10941 uint8_t contiguous,
jpayne@69 10942 xcb_colormap_t cmap,
jpayne@69 10943 uint16_t colors,
jpayne@69 10944 uint16_t planes);
jpayne@69 10945
jpayne@69 10946 uint32_t *
jpayne@69 10947 xcb_alloc_color_cells_pixels (const xcb_alloc_color_cells_reply_t *R);
jpayne@69 10948
jpayne@69 10949 int
jpayne@69 10950 xcb_alloc_color_cells_pixels_length (const xcb_alloc_color_cells_reply_t *R);
jpayne@69 10951
jpayne@69 10952 xcb_generic_iterator_t
jpayne@69 10953 xcb_alloc_color_cells_pixels_end (const xcb_alloc_color_cells_reply_t *R);
jpayne@69 10954
jpayne@69 10955 uint32_t *
jpayne@69 10956 xcb_alloc_color_cells_masks (const xcb_alloc_color_cells_reply_t *R);
jpayne@69 10957
jpayne@69 10958 int
jpayne@69 10959 xcb_alloc_color_cells_masks_length (const xcb_alloc_color_cells_reply_t *R);
jpayne@69 10960
jpayne@69 10961 xcb_generic_iterator_t
jpayne@69 10962 xcb_alloc_color_cells_masks_end (const xcb_alloc_color_cells_reply_t *R);
jpayne@69 10963
jpayne@69 10964 /**
jpayne@69 10965 * Return the reply
jpayne@69 10966 * @param c The connection
jpayne@69 10967 * @param cookie The cookie
jpayne@69 10968 * @param e The xcb_generic_error_t supplied
jpayne@69 10969 *
jpayne@69 10970 * Returns the reply of the request asked by
jpayne@69 10971 *
jpayne@69 10972 * The parameter @p e supplied to this function must be NULL if
jpayne@69 10973 * xcb_alloc_color_cells_unchecked(). is used.
jpayne@69 10974 * Otherwise, it stores the error if any.
jpayne@69 10975 *
jpayne@69 10976 * The returned value must be freed by the caller using free().
jpayne@69 10977 */
jpayne@69 10978 xcb_alloc_color_cells_reply_t *
jpayne@69 10979 xcb_alloc_color_cells_reply (xcb_connection_t *c,
jpayne@69 10980 xcb_alloc_color_cells_cookie_t cookie /**< */,
jpayne@69 10981 xcb_generic_error_t **e);
jpayne@69 10982
jpayne@69 10983 int
jpayne@69 10984 xcb_alloc_color_planes_sizeof (const void *_buffer);
jpayne@69 10985
jpayne@69 10986 /**
jpayne@69 10987 *
jpayne@69 10988 * @param c The connection
jpayne@69 10989 * @return A cookie
jpayne@69 10990 *
jpayne@69 10991 * Delivers a request to the X server.
jpayne@69 10992 *
jpayne@69 10993 */
jpayne@69 10994 xcb_alloc_color_planes_cookie_t
jpayne@69 10995 xcb_alloc_color_planes (xcb_connection_t *c,
jpayne@69 10996 uint8_t contiguous,
jpayne@69 10997 xcb_colormap_t cmap,
jpayne@69 10998 uint16_t colors,
jpayne@69 10999 uint16_t reds,
jpayne@69 11000 uint16_t greens,
jpayne@69 11001 uint16_t blues);
jpayne@69 11002
jpayne@69 11003 /**
jpayne@69 11004 *
jpayne@69 11005 * @param c The connection
jpayne@69 11006 * @return A cookie
jpayne@69 11007 *
jpayne@69 11008 * Delivers a request to the X server.
jpayne@69 11009 *
jpayne@69 11010 * This form can be used only if the request will cause
jpayne@69 11011 * a reply to be generated. Any returned error will be
jpayne@69 11012 * placed in the event queue.
jpayne@69 11013 */
jpayne@69 11014 xcb_alloc_color_planes_cookie_t
jpayne@69 11015 xcb_alloc_color_planes_unchecked (xcb_connection_t *c,
jpayne@69 11016 uint8_t contiguous,
jpayne@69 11017 xcb_colormap_t cmap,
jpayne@69 11018 uint16_t colors,
jpayne@69 11019 uint16_t reds,
jpayne@69 11020 uint16_t greens,
jpayne@69 11021 uint16_t blues);
jpayne@69 11022
jpayne@69 11023 uint32_t *
jpayne@69 11024 xcb_alloc_color_planes_pixels (const xcb_alloc_color_planes_reply_t *R);
jpayne@69 11025
jpayne@69 11026 int
jpayne@69 11027 xcb_alloc_color_planes_pixels_length (const xcb_alloc_color_planes_reply_t *R);
jpayne@69 11028
jpayne@69 11029 xcb_generic_iterator_t
jpayne@69 11030 xcb_alloc_color_planes_pixels_end (const xcb_alloc_color_planes_reply_t *R);
jpayne@69 11031
jpayne@69 11032 /**
jpayne@69 11033 * Return the reply
jpayne@69 11034 * @param c The connection
jpayne@69 11035 * @param cookie The cookie
jpayne@69 11036 * @param e The xcb_generic_error_t supplied
jpayne@69 11037 *
jpayne@69 11038 * Returns the reply of the request asked by
jpayne@69 11039 *
jpayne@69 11040 * The parameter @p e supplied to this function must be NULL if
jpayne@69 11041 * xcb_alloc_color_planes_unchecked(). is used.
jpayne@69 11042 * Otherwise, it stores the error if any.
jpayne@69 11043 *
jpayne@69 11044 * The returned value must be freed by the caller using free().
jpayne@69 11045 */
jpayne@69 11046 xcb_alloc_color_planes_reply_t *
jpayne@69 11047 xcb_alloc_color_planes_reply (xcb_connection_t *c,
jpayne@69 11048 xcb_alloc_color_planes_cookie_t cookie /**< */,
jpayne@69 11049 xcb_generic_error_t **e);
jpayne@69 11050
jpayne@69 11051 int
jpayne@69 11052 xcb_free_colors_sizeof (const void *_buffer,
jpayne@69 11053 uint32_t pixels_len);
jpayne@69 11054
jpayne@69 11055 /**
jpayne@69 11056 *
jpayne@69 11057 * @param c The connection
jpayne@69 11058 * @return A cookie
jpayne@69 11059 *
jpayne@69 11060 * Delivers a request to the X server.
jpayne@69 11061 *
jpayne@69 11062 * This form can be used only if the request will not cause
jpayne@69 11063 * a reply to be generated. Any returned error will be
jpayne@69 11064 * saved for handling by xcb_request_check().
jpayne@69 11065 */
jpayne@69 11066 xcb_void_cookie_t
jpayne@69 11067 xcb_free_colors_checked (xcb_connection_t *c,
jpayne@69 11068 xcb_colormap_t cmap,
jpayne@69 11069 uint32_t plane_mask,
jpayne@69 11070 uint32_t pixels_len,
jpayne@69 11071 const uint32_t *pixels);
jpayne@69 11072
jpayne@69 11073 /**
jpayne@69 11074 *
jpayne@69 11075 * @param c The connection
jpayne@69 11076 * @return A cookie
jpayne@69 11077 *
jpayne@69 11078 * Delivers a request to the X server.
jpayne@69 11079 *
jpayne@69 11080 */
jpayne@69 11081 xcb_void_cookie_t
jpayne@69 11082 xcb_free_colors (xcb_connection_t *c,
jpayne@69 11083 xcb_colormap_t cmap,
jpayne@69 11084 uint32_t plane_mask,
jpayne@69 11085 uint32_t pixels_len,
jpayne@69 11086 const uint32_t *pixels);
jpayne@69 11087
jpayne@69 11088 uint32_t *
jpayne@69 11089 xcb_free_colors_pixels (const xcb_free_colors_request_t *R);
jpayne@69 11090
jpayne@69 11091 int
jpayne@69 11092 xcb_free_colors_pixels_length (const xcb_free_colors_request_t *R);
jpayne@69 11093
jpayne@69 11094 xcb_generic_iterator_t
jpayne@69 11095 xcb_free_colors_pixels_end (const xcb_free_colors_request_t *R);
jpayne@69 11096
jpayne@69 11097 /**
jpayne@69 11098 * Get the next element of the iterator
jpayne@69 11099 * @param i Pointer to a xcb_coloritem_iterator_t
jpayne@69 11100 *
jpayne@69 11101 * Get the next element in the iterator. The member rem is
jpayne@69 11102 * decreased by one. The member data points to the next
jpayne@69 11103 * element. The member index is increased by sizeof(xcb_coloritem_t)
jpayne@69 11104 */
jpayne@69 11105 void
jpayne@69 11106 xcb_coloritem_next (xcb_coloritem_iterator_t *i);
jpayne@69 11107
jpayne@69 11108 /**
jpayne@69 11109 * Return the iterator pointing to the last element
jpayne@69 11110 * @param i An xcb_coloritem_iterator_t
jpayne@69 11111 * @return The iterator pointing to the last element
jpayne@69 11112 *
jpayne@69 11113 * Set the current element in the iterator to the last element.
jpayne@69 11114 * The member rem is set to 0. The member data points to the
jpayne@69 11115 * last element.
jpayne@69 11116 */
jpayne@69 11117 xcb_generic_iterator_t
jpayne@69 11118 xcb_coloritem_end (xcb_coloritem_iterator_t i);
jpayne@69 11119
jpayne@69 11120 int
jpayne@69 11121 xcb_store_colors_sizeof (const void *_buffer,
jpayne@69 11122 uint32_t items_len);
jpayne@69 11123
jpayne@69 11124 /**
jpayne@69 11125 *
jpayne@69 11126 * @param c The connection
jpayne@69 11127 * @return A cookie
jpayne@69 11128 *
jpayne@69 11129 * Delivers a request to the X server.
jpayne@69 11130 *
jpayne@69 11131 * This form can be used only if the request will not cause
jpayne@69 11132 * a reply to be generated. Any returned error will be
jpayne@69 11133 * saved for handling by xcb_request_check().
jpayne@69 11134 */
jpayne@69 11135 xcb_void_cookie_t
jpayne@69 11136 xcb_store_colors_checked (xcb_connection_t *c,
jpayne@69 11137 xcb_colormap_t cmap,
jpayne@69 11138 uint32_t items_len,
jpayne@69 11139 const xcb_coloritem_t *items);
jpayne@69 11140
jpayne@69 11141 /**
jpayne@69 11142 *
jpayne@69 11143 * @param c The connection
jpayne@69 11144 * @return A cookie
jpayne@69 11145 *
jpayne@69 11146 * Delivers a request to the X server.
jpayne@69 11147 *
jpayne@69 11148 */
jpayne@69 11149 xcb_void_cookie_t
jpayne@69 11150 xcb_store_colors (xcb_connection_t *c,
jpayne@69 11151 xcb_colormap_t cmap,
jpayne@69 11152 uint32_t items_len,
jpayne@69 11153 const xcb_coloritem_t *items);
jpayne@69 11154
jpayne@69 11155 xcb_coloritem_t *
jpayne@69 11156 xcb_store_colors_items (const xcb_store_colors_request_t *R);
jpayne@69 11157
jpayne@69 11158 int
jpayne@69 11159 xcb_store_colors_items_length (const xcb_store_colors_request_t *R);
jpayne@69 11160
jpayne@69 11161 xcb_coloritem_iterator_t
jpayne@69 11162 xcb_store_colors_items_iterator (const xcb_store_colors_request_t *R);
jpayne@69 11163
jpayne@69 11164 int
jpayne@69 11165 xcb_store_named_color_sizeof (const void *_buffer);
jpayne@69 11166
jpayne@69 11167 /**
jpayne@69 11168 *
jpayne@69 11169 * @param c The connection
jpayne@69 11170 * @return A cookie
jpayne@69 11171 *
jpayne@69 11172 * Delivers a request to the X server.
jpayne@69 11173 *
jpayne@69 11174 * This form can be used only if the request will not cause
jpayne@69 11175 * a reply to be generated. Any returned error will be
jpayne@69 11176 * saved for handling by xcb_request_check().
jpayne@69 11177 */
jpayne@69 11178 xcb_void_cookie_t
jpayne@69 11179 xcb_store_named_color_checked (xcb_connection_t *c,
jpayne@69 11180 uint8_t flags,
jpayne@69 11181 xcb_colormap_t cmap,
jpayne@69 11182 uint32_t pixel,
jpayne@69 11183 uint16_t name_len,
jpayne@69 11184 const char *name);
jpayne@69 11185
jpayne@69 11186 /**
jpayne@69 11187 *
jpayne@69 11188 * @param c The connection
jpayne@69 11189 * @return A cookie
jpayne@69 11190 *
jpayne@69 11191 * Delivers a request to the X server.
jpayne@69 11192 *
jpayne@69 11193 */
jpayne@69 11194 xcb_void_cookie_t
jpayne@69 11195 xcb_store_named_color (xcb_connection_t *c,
jpayne@69 11196 uint8_t flags,
jpayne@69 11197 xcb_colormap_t cmap,
jpayne@69 11198 uint32_t pixel,
jpayne@69 11199 uint16_t name_len,
jpayne@69 11200 const char *name);
jpayne@69 11201
jpayne@69 11202 char *
jpayne@69 11203 xcb_store_named_color_name (const xcb_store_named_color_request_t *R);
jpayne@69 11204
jpayne@69 11205 int
jpayne@69 11206 xcb_store_named_color_name_length (const xcb_store_named_color_request_t *R);
jpayne@69 11207
jpayne@69 11208 xcb_generic_iterator_t
jpayne@69 11209 xcb_store_named_color_name_end (const xcb_store_named_color_request_t *R);
jpayne@69 11210
jpayne@69 11211 /**
jpayne@69 11212 * Get the next element of the iterator
jpayne@69 11213 * @param i Pointer to a xcb_rgb_iterator_t
jpayne@69 11214 *
jpayne@69 11215 * Get the next element in the iterator. The member rem is
jpayne@69 11216 * decreased by one. The member data points to the next
jpayne@69 11217 * element. The member index is increased by sizeof(xcb_rgb_t)
jpayne@69 11218 */
jpayne@69 11219 void
jpayne@69 11220 xcb_rgb_next (xcb_rgb_iterator_t *i);
jpayne@69 11221
jpayne@69 11222 /**
jpayne@69 11223 * Return the iterator pointing to the last element
jpayne@69 11224 * @param i An xcb_rgb_iterator_t
jpayne@69 11225 * @return The iterator pointing to the last element
jpayne@69 11226 *
jpayne@69 11227 * Set the current element in the iterator to the last element.
jpayne@69 11228 * The member rem is set to 0. The member data points to the
jpayne@69 11229 * last element.
jpayne@69 11230 */
jpayne@69 11231 xcb_generic_iterator_t
jpayne@69 11232 xcb_rgb_end (xcb_rgb_iterator_t i);
jpayne@69 11233
jpayne@69 11234 int
jpayne@69 11235 xcb_query_colors_sizeof (const void *_buffer,
jpayne@69 11236 uint32_t pixels_len);
jpayne@69 11237
jpayne@69 11238 /**
jpayne@69 11239 *
jpayne@69 11240 * @param c The connection
jpayne@69 11241 * @return A cookie
jpayne@69 11242 *
jpayne@69 11243 * Delivers a request to the X server.
jpayne@69 11244 *
jpayne@69 11245 */
jpayne@69 11246 xcb_query_colors_cookie_t
jpayne@69 11247 xcb_query_colors (xcb_connection_t *c,
jpayne@69 11248 xcb_colormap_t cmap,
jpayne@69 11249 uint32_t pixels_len,
jpayne@69 11250 const uint32_t *pixels);
jpayne@69 11251
jpayne@69 11252 /**
jpayne@69 11253 *
jpayne@69 11254 * @param c The connection
jpayne@69 11255 * @return A cookie
jpayne@69 11256 *
jpayne@69 11257 * Delivers a request to the X server.
jpayne@69 11258 *
jpayne@69 11259 * This form can be used only if the request will cause
jpayne@69 11260 * a reply to be generated. Any returned error will be
jpayne@69 11261 * placed in the event queue.
jpayne@69 11262 */
jpayne@69 11263 xcb_query_colors_cookie_t
jpayne@69 11264 xcb_query_colors_unchecked (xcb_connection_t *c,
jpayne@69 11265 xcb_colormap_t cmap,
jpayne@69 11266 uint32_t pixels_len,
jpayne@69 11267 const uint32_t *pixels);
jpayne@69 11268
jpayne@69 11269 xcb_rgb_t *
jpayne@69 11270 xcb_query_colors_colors (const xcb_query_colors_reply_t *R);
jpayne@69 11271
jpayne@69 11272 int
jpayne@69 11273 xcb_query_colors_colors_length (const xcb_query_colors_reply_t *R);
jpayne@69 11274
jpayne@69 11275 xcb_rgb_iterator_t
jpayne@69 11276 xcb_query_colors_colors_iterator (const xcb_query_colors_reply_t *R);
jpayne@69 11277
jpayne@69 11278 /**
jpayne@69 11279 * Return the reply
jpayne@69 11280 * @param c The connection
jpayne@69 11281 * @param cookie The cookie
jpayne@69 11282 * @param e The xcb_generic_error_t supplied
jpayne@69 11283 *
jpayne@69 11284 * Returns the reply of the request asked by
jpayne@69 11285 *
jpayne@69 11286 * The parameter @p e supplied to this function must be NULL if
jpayne@69 11287 * xcb_query_colors_unchecked(). is used.
jpayne@69 11288 * Otherwise, it stores the error if any.
jpayne@69 11289 *
jpayne@69 11290 * The returned value must be freed by the caller using free().
jpayne@69 11291 */
jpayne@69 11292 xcb_query_colors_reply_t *
jpayne@69 11293 xcb_query_colors_reply (xcb_connection_t *c,
jpayne@69 11294 xcb_query_colors_cookie_t cookie /**< */,
jpayne@69 11295 xcb_generic_error_t **e);
jpayne@69 11296
jpayne@69 11297 int
jpayne@69 11298 xcb_lookup_color_sizeof (const void *_buffer);
jpayne@69 11299
jpayne@69 11300 /**
jpayne@69 11301 *
jpayne@69 11302 * @param c The connection
jpayne@69 11303 * @return A cookie
jpayne@69 11304 *
jpayne@69 11305 * Delivers a request to the X server.
jpayne@69 11306 *
jpayne@69 11307 */
jpayne@69 11308 xcb_lookup_color_cookie_t
jpayne@69 11309 xcb_lookup_color (xcb_connection_t *c,
jpayne@69 11310 xcb_colormap_t cmap,
jpayne@69 11311 uint16_t name_len,
jpayne@69 11312 const char *name);
jpayne@69 11313
jpayne@69 11314 /**
jpayne@69 11315 *
jpayne@69 11316 * @param c The connection
jpayne@69 11317 * @return A cookie
jpayne@69 11318 *
jpayne@69 11319 * Delivers a request to the X server.
jpayne@69 11320 *
jpayne@69 11321 * This form can be used only if the request will cause
jpayne@69 11322 * a reply to be generated. Any returned error will be
jpayne@69 11323 * placed in the event queue.
jpayne@69 11324 */
jpayne@69 11325 xcb_lookup_color_cookie_t
jpayne@69 11326 xcb_lookup_color_unchecked (xcb_connection_t *c,
jpayne@69 11327 xcb_colormap_t cmap,
jpayne@69 11328 uint16_t name_len,
jpayne@69 11329 const char *name);
jpayne@69 11330
jpayne@69 11331 /**
jpayne@69 11332 * Return the reply
jpayne@69 11333 * @param c The connection
jpayne@69 11334 * @param cookie The cookie
jpayne@69 11335 * @param e The xcb_generic_error_t supplied
jpayne@69 11336 *
jpayne@69 11337 * Returns the reply of the request asked by
jpayne@69 11338 *
jpayne@69 11339 * The parameter @p e supplied to this function must be NULL if
jpayne@69 11340 * xcb_lookup_color_unchecked(). is used.
jpayne@69 11341 * Otherwise, it stores the error if any.
jpayne@69 11342 *
jpayne@69 11343 * The returned value must be freed by the caller using free().
jpayne@69 11344 */
jpayne@69 11345 xcb_lookup_color_reply_t *
jpayne@69 11346 xcb_lookup_color_reply (xcb_connection_t *c,
jpayne@69 11347 xcb_lookup_color_cookie_t cookie /**< */,
jpayne@69 11348 xcb_generic_error_t **e);
jpayne@69 11349
jpayne@69 11350 /**
jpayne@69 11351 *
jpayne@69 11352 * @param c The connection
jpayne@69 11353 * @return A cookie
jpayne@69 11354 *
jpayne@69 11355 * Delivers a request to the X server.
jpayne@69 11356 *
jpayne@69 11357 * This form can be used only if the request will not cause
jpayne@69 11358 * a reply to be generated. Any returned error will be
jpayne@69 11359 * saved for handling by xcb_request_check().
jpayne@69 11360 */
jpayne@69 11361 xcb_void_cookie_t
jpayne@69 11362 xcb_create_cursor_checked (xcb_connection_t *c,
jpayne@69 11363 xcb_cursor_t cid,
jpayne@69 11364 xcb_pixmap_t source,
jpayne@69 11365 xcb_pixmap_t mask,
jpayne@69 11366 uint16_t fore_red,
jpayne@69 11367 uint16_t fore_green,
jpayne@69 11368 uint16_t fore_blue,
jpayne@69 11369 uint16_t back_red,
jpayne@69 11370 uint16_t back_green,
jpayne@69 11371 uint16_t back_blue,
jpayne@69 11372 uint16_t x,
jpayne@69 11373 uint16_t y);
jpayne@69 11374
jpayne@69 11375 /**
jpayne@69 11376 *
jpayne@69 11377 * @param c The connection
jpayne@69 11378 * @return A cookie
jpayne@69 11379 *
jpayne@69 11380 * Delivers a request to the X server.
jpayne@69 11381 *
jpayne@69 11382 */
jpayne@69 11383 xcb_void_cookie_t
jpayne@69 11384 xcb_create_cursor (xcb_connection_t *c,
jpayne@69 11385 xcb_cursor_t cid,
jpayne@69 11386 xcb_pixmap_t source,
jpayne@69 11387 xcb_pixmap_t mask,
jpayne@69 11388 uint16_t fore_red,
jpayne@69 11389 uint16_t fore_green,
jpayne@69 11390 uint16_t fore_blue,
jpayne@69 11391 uint16_t back_red,
jpayne@69 11392 uint16_t back_green,
jpayne@69 11393 uint16_t back_blue,
jpayne@69 11394 uint16_t x,
jpayne@69 11395 uint16_t y);
jpayne@69 11396
jpayne@69 11397 /**
jpayne@69 11398 * @brief create cursor
jpayne@69 11399 *
jpayne@69 11400 * @param c The connection
jpayne@69 11401 * @param cid The ID with which you will refer to the cursor, created by `xcb_generate_id`.
jpayne@69 11402 * @param source_font In which font to look for the cursor glyph.
jpayne@69 11403 * @param mask_font In which font to look for the mask glyph.
jpayne@69 11404 * @param source_char The glyph of \a source_font to use.
jpayne@69 11405 * @param mask_char The glyph of \a mask_font to use as a mask: Pixels which are set to 1 define
jpayne@69 11406 * which source pixels are displayed. All pixels which are set to 0 are not
jpayne@69 11407 * displayed.
jpayne@69 11408 * @param fore_red The red value of the foreground color.
jpayne@69 11409 * @param fore_green The green value of the foreground color.
jpayne@69 11410 * @param fore_blue The blue value of the foreground color.
jpayne@69 11411 * @param back_red The red value of the background color.
jpayne@69 11412 * @param back_green The green value of the background color.
jpayne@69 11413 * @param back_blue The blue value of the background color.
jpayne@69 11414 * @return A cookie
jpayne@69 11415 *
jpayne@69 11416 * Creates a cursor from a font glyph. X provides a set of standard cursor shapes
jpayne@69 11417 * in a special font named cursor. Applications are encouraged to use this
jpayne@69 11418 * interface for their cursors because the font can be customized for the
jpayne@69 11419 * individual display type.
jpayne@69 11420 *
jpayne@69 11421 * All pixels which are set to 1 in the source will use the foreground color (as
jpayne@69 11422 * specified by \a fore_red, \a fore_green and \a fore_blue). All pixels set to 0
jpayne@69 11423 * will use the background color (as specified by \a back_red, \a back_green and
jpayne@69 11424 * \a back_blue).
jpayne@69 11425 *
jpayne@69 11426 * This form can be used only if the request will not cause
jpayne@69 11427 * a reply to be generated. Any returned error will be
jpayne@69 11428 * saved for handling by xcb_request_check().
jpayne@69 11429 */
jpayne@69 11430 xcb_void_cookie_t
jpayne@69 11431 xcb_create_glyph_cursor_checked (xcb_connection_t *c,
jpayne@69 11432 xcb_cursor_t cid,
jpayne@69 11433 xcb_font_t source_font,
jpayne@69 11434 xcb_font_t mask_font,
jpayne@69 11435 uint16_t source_char,
jpayne@69 11436 uint16_t mask_char,
jpayne@69 11437 uint16_t fore_red,
jpayne@69 11438 uint16_t fore_green,
jpayne@69 11439 uint16_t fore_blue,
jpayne@69 11440 uint16_t back_red,
jpayne@69 11441 uint16_t back_green,
jpayne@69 11442 uint16_t back_blue);
jpayne@69 11443
jpayne@69 11444 /**
jpayne@69 11445 * @brief create cursor
jpayne@69 11446 *
jpayne@69 11447 * @param c The connection
jpayne@69 11448 * @param cid The ID with which you will refer to the cursor, created by `xcb_generate_id`.
jpayne@69 11449 * @param source_font In which font to look for the cursor glyph.
jpayne@69 11450 * @param mask_font In which font to look for the mask glyph.
jpayne@69 11451 * @param source_char The glyph of \a source_font to use.
jpayne@69 11452 * @param mask_char The glyph of \a mask_font to use as a mask: Pixels which are set to 1 define
jpayne@69 11453 * which source pixels are displayed. All pixels which are set to 0 are not
jpayne@69 11454 * displayed.
jpayne@69 11455 * @param fore_red The red value of the foreground color.
jpayne@69 11456 * @param fore_green The green value of the foreground color.
jpayne@69 11457 * @param fore_blue The blue value of the foreground color.
jpayne@69 11458 * @param back_red The red value of the background color.
jpayne@69 11459 * @param back_green The green value of the background color.
jpayne@69 11460 * @param back_blue The blue value of the background color.
jpayne@69 11461 * @return A cookie
jpayne@69 11462 *
jpayne@69 11463 * Creates a cursor from a font glyph. X provides a set of standard cursor shapes
jpayne@69 11464 * in a special font named cursor. Applications are encouraged to use this
jpayne@69 11465 * interface for their cursors because the font can be customized for the
jpayne@69 11466 * individual display type.
jpayne@69 11467 *
jpayne@69 11468 * All pixels which are set to 1 in the source will use the foreground color (as
jpayne@69 11469 * specified by \a fore_red, \a fore_green and \a fore_blue). All pixels set to 0
jpayne@69 11470 * will use the background color (as specified by \a back_red, \a back_green and
jpayne@69 11471 * \a back_blue).
jpayne@69 11472 *
jpayne@69 11473 */
jpayne@69 11474 xcb_void_cookie_t
jpayne@69 11475 xcb_create_glyph_cursor (xcb_connection_t *c,
jpayne@69 11476 xcb_cursor_t cid,
jpayne@69 11477 xcb_font_t source_font,
jpayne@69 11478 xcb_font_t mask_font,
jpayne@69 11479 uint16_t source_char,
jpayne@69 11480 uint16_t mask_char,
jpayne@69 11481 uint16_t fore_red,
jpayne@69 11482 uint16_t fore_green,
jpayne@69 11483 uint16_t fore_blue,
jpayne@69 11484 uint16_t back_red,
jpayne@69 11485 uint16_t back_green,
jpayne@69 11486 uint16_t back_blue);
jpayne@69 11487
jpayne@69 11488 /**
jpayne@69 11489 * @brief Deletes a cursor
jpayne@69 11490 *
jpayne@69 11491 * @param c The connection
jpayne@69 11492 * @param cursor The cursor to destroy.
jpayne@69 11493 * @return A cookie
jpayne@69 11494 *
jpayne@69 11495 * Deletes the association between the cursor resource ID and the specified
jpayne@69 11496 * cursor. The cursor is freed when no other resource references it.
jpayne@69 11497 *
jpayne@69 11498 * This form can be used only if the request will not cause
jpayne@69 11499 * a reply to be generated. Any returned error will be
jpayne@69 11500 * saved for handling by xcb_request_check().
jpayne@69 11501 */
jpayne@69 11502 xcb_void_cookie_t
jpayne@69 11503 xcb_free_cursor_checked (xcb_connection_t *c,
jpayne@69 11504 xcb_cursor_t cursor);
jpayne@69 11505
jpayne@69 11506 /**
jpayne@69 11507 * @brief Deletes a cursor
jpayne@69 11508 *
jpayne@69 11509 * @param c The connection
jpayne@69 11510 * @param cursor The cursor to destroy.
jpayne@69 11511 * @return A cookie
jpayne@69 11512 *
jpayne@69 11513 * Deletes the association between the cursor resource ID and the specified
jpayne@69 11514 * cursor. The cursor is freed when no other resource references it.
jpayne@69 11515 *
jpayne@69 11516 */
jpayne@69 11517 xcb_void_cookie_t
jpayne@69 11518 xcb_free_cursor (xcb_connection_t *c,
jpayne@69 11519 xcb_cursor_t cursor);
jpayne@69 11520
jpayne@69 11521 /**
jpayne@69 11522 *
jpayne@69 11523 * @param c The connection
jpayne@69 11524 * @return A cookie
jpayne@69 11525 *
jpayne@69 11526 * Delivers a request to the X server.
jpayne@69 11527 *
jpayne@69 11528 * This form can be used only if the request will not cause
jpayne@69 11529 * a reply to be generated. Any returned error will be
jpayne@69 11530 * saved for handling by xcb_request_check().
jpayne@69 11531 */
jpayne@69 11532 xcb_void_cookie_t
jpayne@69 11533 xcb_recolor_cursor_checked (xcb_connection_t *c,
jpayne@69 11534 xcb_cursor_t cursor,
jpayne@69 11535 uint16_t fore_red,
jpayne@69 11536 uint16_t fore_green,
jpayne@69 11537 uint16_t fore_blue,
jpayne@69 11538 uint16_t back_red,
jpayne@69 11539 uint16_t back_green,
jpayne@69 11540 uint16_t back_blue);
jpayne@69 11541
jpayne@69 11542 /**
jpayne@69 11543 *
jpayne@69 11544 * @param c The connection
jpayne@69 11545 * @return A cookie
jpayne@69 11546 *
jpayne@69 11547 * Delivers a request to the X server.
jpayne@69 11548 *
jpayne@69 11549 */
jpayne@69 11550 xcb_void_cookie_t
jpayne@69 11551 xcb_recolor_cursor (xcb_connection_t *c,
jpayne@69 11552 xcb_cursor_t cursor,
jpayne@69 11553 uint16_t fore_red,
jpayne@69 11554 uint16_t fore_green,
jpayne@69 11555 uint16_t fore_blue,
jpayne@69 11556 uint16_t back_red,
jpayne@69 11557 uint16_t back_green,
jpayne@69 11558 uint16_t back_blue);
jpayne@69 11559
jpayne@69 11560 /**
jpayne@69 11561 *
jpayne@69 11562 * @param c The connection
jpayne@69 11563 * @return A cookie
jpayne@69 11564 *
jpayne@69 11565 * Delivers a request to the X server.
jpayne@69 11566 *
jpayne@69 11567 */
jpayne@69 11568 xcb_query_best_size_cookie_t
jpayne@69 11569 xcb_query_best_size (xcb_connection_t *c,
jpayne@69 11570 uint8_t _class,
jpayne@69 11571 xcb_drawable_t drawable,
jpayne@69 11572 uint16_t width,
jpayne@69 11573 uint16_t height);
jpayne@69 11574
jpayne@69 11575 /**
jpayne@69 11576 *
jpayne@69 11577 * @param c The connection
jpayne@69 11578 * @return A cookie
jpayne@69 11579 *
jpayne@69 11580 * Delivers a request to the X server.
jpayne@69 11581 *
jpayne@69 11582 * This form can be used only if the request will cause
jpayne@69 11583 * a reply to be generated. Any returned error will be
jpayne@69 11584 * placed in the event queue.
jpayne@69 11585 */
jpayne@69 11586 xcb_query_best_size_cookie_t
jpayne@69 11587 xcb_query_best_size_unchecked (xcb_connection_t *c,
jpayne@69 11588 uint8_t _class,
jpayne@69 11589 xcb_drawable_t drawable,
jpayne@69 11590 uint16_t width,
jpayne@69 11591 uint16_t height);
jpayne@69 11592
jpayne@69 11593 /**
jpayne@69 11594 * Return the reply
jpayne@69 11595 * @param c The connection
jpayne@69 11596 * @param cookie The cookie
jpayne@69 11597 * @param e The xcb_generic_error_t supplied
jpayne@69 11598 *
jpayne@69 11599 * Returns the reply of the request asked by
jpayne@69 11600 *
jpayne@69 11601 * The parameter @p e supplied to this function must be NULL if
jpayne@69 11602 * xcb_query_best_size_unchecked(). is used.
jpayne@69 11603 * Otherwise, it stores the error if any.
jpayne@69 11604 *
jpayne@69 11605 * The returned value must be freed by the caller using free().
jpayne@69 11606 */
jpayne@69 11607 xcb_query_best_size_reply_t *
jpayne@69 11608 xcb_query_best_size_reply (xcb_connection_t *c,
jpayne@69 11609 xcb_query_best_size_cookie_t cookie /**< */,
jpayne@69 11610 xcb_generic_error_t **e);
jpayne@69 11611
jpayne@69 11612 int
jpayne@69 11613 xcb_query_extension_sizeof (const void *_buffer);
jpayne@69 11614
jpayne@69 11615 /**
jpayne@69 11616 * @brief check if extension is present
jpayne@69 11617 *
jpayne@69 11618 * @param c The connection
jpayne@69 11619 * @param name_len The length of \a name in bytes.
jpayne@69 11620 * @param name The name of the extension to query, for example "RANDR". This is case
jpayne@69 11621 * sensitive!
jpayne@69 11622 * @return A cookie
jpayne@69 11623 *
jpayne@69 11624 * Determines if the specified extension is present on this X11 server.
jpayne@69 11625 *
jpayne@69 11626 * Every extension has a unique `major_opcode` to identify requests, the minor
jpayne@69 11627 * opcodes and request formats are extension-specific. If the extension provides
jpayne@69 11628 * events and errors, the `first_event` and `first_error` fields in the reply are
jpayne@69 11629 * set accordingly.
jpayne@69 11630 *
jpayne@69 11631 * There should rarely be a need to use this request directly, XCB provides the
jpayne@69 11632 * `xcb_get_extension_data` function instead.
jpayne@69 11633 *
jpayne@69 11634 */
jpayne@69 11635 xcb_query_extension_cookie_t
jpayne@69 11636 xcb_query_extension (xcb_connection_t *c,
jpayne@69 11637 uint16_t name_len,
jpayne@69 11638 const char *name);
jpayne@69 11639
jpayne@69 11640 /**
jpayne@69 11641 * @brief check if extension is present
jpayne@69 11642 *
jpayne@69 11643 * @param c The connection
jpayne@69 11644 * @param name_len The length of \a name in bytes.
jpayne@69 11645 * @param name The name of the extension to query, for example "RANDR". This is case
jpayne@69 11646 * sensitive!
jpayne@69 11647 * @return A cookie
jpayne@69 11648 *
jpayne@69 11649 * Determines if the specified extension is present on this X11 server.
jpayne@69 11650 *
jpayne@69 11651 * Every extension has a unique `major_opcode` to identify requests, the minor
jpayne@69 11652 * opcodes and request formats are extension-specific. If the extension provides
jpayne@69 11653 * events and errors, the `first_event` and `first_error` fields in the reply are
jpayne@69 11654 * set accordingly.
jpayne@69 11655 *
jpayne@69 11656 * There should rarely be a need to use this request directly, XCB provides the
jpayne@69 11657 * `xcb_get_extension_data` function instead.
jpayne@69 11658 *
jpayne@69 11659 * This form can be used only if the request will cause
jpayne@69 11660 * a reply to be generated. Any returned error will be
jpayne@69 11661 * placed in the event queue.
jpayne@69 11662 */
jpayne@69 11663 xcb_query_extension_cookie_t
jpayne@69 11664 xcb_query_extension_unchecked (xcb_connection_t *c,
jpayne@69 11665 uint16_t name_len,
jpayne@69 11666 const char *name);
jpayne@69 11667
jpayne@69 11668 /**
jpayne@69 11669 * Return the reply
jpayne@69 11670 * @param c The connection
jpayne@69 11671 * @param cookie The cookie
jpayne@69 11672 * @param e The xcb_generic_error_t supplied
jpayne@69 11673 *
jpayne@69 11674 * Returns the reply of the request asked by
jpayne@69 11675 *
jpayne@69 11676 * The parameter @p e supplied to this function must be NULL if
jpayne@69 11677 * xcb_query_extension_unchecked(). is used.
jpayne@69 11678 * Otherwise, it stores the error if any.
jpayne@69 11679 *
jpayne@69 11680 * The returned value must be freed by the caller using free().
jpayne@69 11681 */
jpayne@69 11682 xcb_query_extension_reply_t *
jpayne@69 11683 xcb_query_extension_reply (xcb_connection_t *c,
jpayne@69 11684 xcb_query_extension_cookie_t cookie /**< */,
jpayne@69 11685 xcb_generic_error_t **e);
jpayne@69 11686
jpayne@69 11687 int
jpayne@69 11688 xcb_list_extensions_sizeof (const void *_buffer);
jpayne@69 11689
jpayne@69 11690 /**
jpayne@69 11691 *
jpayne@69 11692 * @param c The connection
jpayne@69 11693 * @return A cookie
jpayne@69 11694 *
jpayne@69 11695 * Delivers a request to the X server.
jpayne@69 11696 *
jpayne@69 11697 */
jpayne@69 11698 xcb_list_extensions_cookie_t
jpayne@69 11699 xcb_list_extensions (xcb_connection_t *c);
jpayne@69 11700
jpayne@69 11701 /**
jpayne@69 11702 *
jpayne@69 11703 * @param c The connection
jpayne@69 11704 * @return A cookie
jpayne@69 11705 *
jpayne@69 11706 * Delivers a request to the X server.
jpayne@69 11707 *
jpayne@69 11708 * This form can be used only if the request will cause
jpayne@69 11709 * a reply to be generated. Any returned error will be
jpayne@69 11710 * placed in the event queue.
jpayne@69 11711 */
jpayne@69 11712 xcb_list_extensions_cookie_t
jpayne@69 11713 xcb_list_extensions_unchecked (xcb_connection_t *c);
jpayne@69 11714
jpayne@69 11715 int
jpayne@69 11716 xcb_list_extensions_names_length (const xcb_list_extensions_reply_t *R);
jpayne@69 11717
jpayne@69 11718 xcb_str_iterator_t
jpayne@69 11719 xcb_list_extensions_names_iterator (const xcb_list_extensions_reply_t *R);
jpayne@69 11720
jpayne@69 11721 /**
jpayne@69 11722 * Return the reply
jpayne@69 11723 * @param c The connection
jpayne@69 11724 * @param cookie The cookie
jpayne@69 11725 * @param e The xcb_generic_error_t supplied
jpayne@69 11726 *
jpayne@69 11727 * Returns the reply of the request asked by
jpayne@69 11728 *
jpayne@69 11729 * The parameter @p e supplied to this function must be NULL if
jpayne@69 11730 * xcb_list_extensions_unchecked(). is used.
jpayne@69 11731 * Otherwise, it stores the error if any.
jpayne@69 11732 *
jpayne@69 11733 * The returned value must be freed by the caller using free().
jpayne@69 11734 */
jpayne@69 11735 xcb_list_extensions_reply_t *
jpayne@69 11736 xcb_list_extensions_reply (xcb_connection_t *c,
jpayne@69 11737 xcb_list_extensions_cookie_t cookie /**< */,
jpayne@69 11738 xcb_generic_error_t **e);
jpayne@69 11739
jpayne@69 11740 int
jpayne@69 11741 xcb_change_keyboard_mapping_sizeof (const void *_buffer);
jpayne@69 11742
jpayne@69 11743 /**
jpayne@69 11744 *
jpayne@69 11745 * @param c The connection
jpayne@69 11746 * @return A cookie
jpayne@69 11747 *
jpayne@69 11748 * Delivers a request to the X server.
jpayne@69 11749 *
jpayne@69 11750 * This form can be used only if the request will not cause
jpayne@69 11751 * a reply to be generated. Any returned error will be
jpayne@69 11752 * saved for handling by xcb_request_check().
jpayne@69 11753 */
jpayne@69 11754 xcb_void_cookie_t
jpayne@69 11755 xcb_change_keyboard_mapping_checked (xcb_connection_t *c,
jpayne@69 11756 uint8_t keycode_count,
jpayne@69 11757 xcb_keycode_t first_keycode,
jpayne@69 11758 uint8_t keysyms_per_keycode,
jpayne@69 11759 const xcb_keysym_t *keysyms);
jpayne@69 11760
jpayne@69 11761 /**
jpayne@69 11762 *
jpayne@69 11763 * @param c The connection
jpayne@69 11764 * @return A cookie
jpayne@69 11765 *
jpayne@69 11766 * Delivers a request to the X server.
jpayne@69 11767 *
jpayne@69 11768 */
jpayne@69 11769 xcb_void_cookie_t
jpayne@69 11770 xcb_change_keyboard_mapping (xcb_connection_t *c,
jpayne@69 11771 uint8_t keycode_count,
jpayne@69 11772 xcb_keycode_t first_keycode,
jpayne@69 11773 uint8_t keysyms_per_keycode,
jpayne@69 11774 const xcb_keysym_t *keysyms);
jpayne@69 11775
jpayne@69 11776 xcb_keysym_t *
jpayne@69 11777 xcb_change_keyboard_mapping_keysyms (const xcb_change_keyboard_mapping_request_t *R);
jpayne@69 11778
jpayne@69 11779 int
jpayne@69 11780 xcb_change_keyboard_mapping_keysyms_length (const xcb_change_keyboard_mapping_request_t *R);
jpayne@69 11781
jpayne@69 11782 xcb_generic_iterator_t
jpayne@69 11783 xcb_change_keyboard_mapping_keysyms_end (const xcb_change_keyboard_mapping_request_t *R);
jpayne@69 11784
jpayne@69 11785 int
jpayne@69 11786 xcb_get_keyboard_mapping_sizeof (const void *_buffer);
jpayne@69 11787
jpayne@69 11788 /**
jpayne@69 11789 *
jpayne@69 11790 * @param c The connection
jpayne@69 11791 * @return A cookie
jpayne@69 11792 *
jpayne@69 11793 * Delivers a request to the X server.
jpayne@69 11794 *
jpayne@69 11795 */
jpayne@69 11796 xcb_get_keyboard_mapping_cookie_t
jpayne@69 11797 xcb_get_keyboard_mapping (xcb_connection_t *c,
jpayne@69 11798 xcb_keycode_t first_keycode,
jpayne@69 11799 uint8_t count);
jpayne@69 11800
jpayne@69 11801 /**
jpayne@69 11802 *
jpayne@69 11803 * @param c The connection
jpayne@69 11804 * @return A cookie
jpayne@69 11805 *
jpayne@69 11806 * Delivers a request to the X server.
jpayne@69 11807 *
jpayne@69 11808 * This form can be used only if the request will cause
jpayne@69 11809 * a reply to be generated. Any returned error will be
jpayne@69 11810 * placed in the event queue.
jpayne@69 11811 */
jpayne@69 11812 xcb_get_keyboard_mapping_cookie_t
jpayne@69 11813 xcb_get_keyboard_mapping_unchecked (xcb_connection_t *c,
jpayne@69 11814 xcb_keycode_t first_keycode,
jpayne@69 11815 uint8_t count);
jpayne@69 11816
jpayne@69 11817 xcb_keysym_t *
jpayne@69 11818 xcb_get_keyboard_mapping_keysyms (const xcb_get_keyboard_mapping_reply_t *R);
jpayne@69 11819
jpayne@69 11820 int
jpayne@69 11821 xcb_get_keyboard_mapping_keysyms_length (const xcb_get_keyboard_mapping_reply_t *R);
jpayne@69 11822
jpayne@69 11823 xcb_generic_iterator_t
jpayne@69 11824 xcb_get_keyboard_mapping_keysyms_end (const xcb_get_keyboard_mapping_reply_t *R);
jpayne@69 11825
jpayne@69 11826 /**
jpayne@69 11827 * Return the reply
jpayne@69 11828 * @param c The connection
jpayne@69 11829 * @param cookie The cookie
jpayne@69 11830 * @param e The xcb_generic_error_t supplied
jpayne@69 11831 *
jpayne@69 11832 * Returns the reply of the request asked by
jpayne@69 11833 *
jpayne@69 11834 * The parameter @p e supplied to this function must be NULL if
jpayne@69 11835 * xcb_get_keyboard_mapping_unchecked(). is used.
jpayne@69 11836 * Otherwise, it stores the error if any.
jpayne@69 11837 *
jpayne@69 11838 * The returned value must be freed by the caller using free().
jpayne@69 11839 */
jpayne@69 11840 xcb_get_keyboard_mapping_reply_t *
jpayne@69 11841 xcb_get_keyboard_mapping_reply (xcb_connection_t *c,
jpayne@69 11842 xcb_get_keyboard_mapping_cookie_t cookie /**< */,
jpayne@69 11843 xcb_generic_error_t **e);
jpayne@69 11844
jpayne@69 11845 int
jpayne@69 11846 xcb_change_keyboard_control_value_list_serialize (void **_buffer,
jpayne@69 11847 uint32_t value_mask,
jpayne@69 11848 const xcb_change_keyboard_control_value_list_t *_aux);
jpayne@69 11849
jpayne@69 11850 int
jpayne@69 11851 xcb_change_keyboard_control_value_list_unpack (const void *_buffer,
jpayne@69 11852 uint32_t value_mask,
jpayne@69 11853 xcb_change_keyboard_control_value_list_t *_aux);
jpayne@69 11854
jpayne@69 11855 int
jpayne@69 11856 xcb_change_keyboard_control_value_list_sizeof (const void *_buffer,
jpayne@69 11857 uint32_t value_mask);
jpayne@69 11858
jpayne@69 11859 int
jpayne@69 11860 xcb_change_keyboard_control_sizeof (const void *_buffer);
jpayne@69 11861
jpayne@69 11862 /**
jpayne@69 11863 *
jpayne@69 11864 * @param c The connection
jpayne@69 11865 * @return A cookie
jpayne@69 11866 *
jpayne@69 11867 * Delivers a request to the X server.
jpayne@69 11868 *
jpayne@69 11869 * This form can be used only if the request will not cause
jpayne@69 11870 * a reply to be generated. Any returned error will be
jpayne@69 11871 * saved for handling by xcb_request_check().
jpayne@69 11872 */
jpayne@69 11873 xcb_void_cookie_t
jpayne@69 11874 xcb_change_keyboard_control_checked (xcb_connection_t *c,
jpayne@69 11875 uint32_t value_mask,
jpayne@69 11876 const void *value_list);
jpayne@69 11877
jpayne@69 11878 /**
jpayne@69 11879 *
jpayne@69 11880 * @param c The connection
jpayne@69 11881 * @return A cookie
jpayne@69 11882 *
jpayne@69 11883 * Delivers a request to the X server.
jpayne@69 11884 *
jpayne@69 11885 */
jpayne@69 11886 xcb_void_cookie_t
jpayne@69 11887 xcb_change_keyboard_control (xcb_connection_t *c,
jpayne@69 11888 uint32_t value_mask,
jpayne@69 11889 const void *value_list);
jpayne@69 11890
jpayne@69 11891 /**
jpayne@69 11892 *
jpayne@69 11893 * @param c The connection
jpayne@69 11894 * @return A cookie
jpayne@69 11895 *
jpayne@69 11896 * Delivers a request to the X server.
jpayne@69 11897 *
jpayne@69 11898 * This form can be used only if the request will not cause
jpayne@69 11899 * a reply to be generated. Any returned error will be
jpayne@69 11900 * saved for handling by xcb_request_check().
jpayne@69 11901 */
jpayne@69 11902 xcb_void_cookie_t
jpayne@69 11903 xcb_change_keyboard_control_aux_checked (xcb_connection_t *c,
jpayne@69 11904 uint32_t value_mask,
jpayne@69 11905 const xcb_change_keyboard_control_value_list_t *value_list);
jpayne@69 11906
jpayne@69 11907 /**
jpayne@69 11908 *
jpayne@69 11909 * @param c The connection
jpayne@69 11910 * @return A cookie
jpayne@69 11911 *
jpayne@69 11912 * Delivers a request to the X server.
jpayne@69 11913 *
jpayne@69 11914 */
jpayne@69 11915 xcb_void_cookie_t
jpayne@69 11916 xcb_change_keyboard_control_aux (xcb_connection_t *c,
jpayne@69 11917 uint32_t value_mask,
jpayne@69 11918 const xcb_change_keyboard_control_value_list_t *value_list);
jpayne@69 11919
jpayne@69 11920 void *
jpayne@69 11921 xcb_change_keyboard_control_value_list (const xcb_change_keyboard_control_request_t *R);
jpayne@69 11922
jpayne@69 11923 /**
jpayne@69 11924 *
jpayne@69 11925 * @param c The connection
jpayne@69 11926 * @return A cookie
jpayne@69 11927 *
jpayne@69 11928 * Delivers a request to the X server.
jpayne@69 11929 *
jpayne@69 11930 */
jpayne@69 11931 xcb_get_keyboard_control_cookie_t
jpayne@69 11932 xcb_get_keyboard_control (xcb_connection_t *c);
jpayne@69 11933
jpayne@69 11934 /**
jpayne@69 11935 *
jpayne@69 11936 * @param c The connection
jpayne@69 11937 * @return A cookie
jpayne@69 11938 *
jpayne@69 11939 * Delivers a request to the X server.
jpayne@69 11940 *
jpayne@69 11941 * This form can be used only if the request will cause
jpayne@69 11942 * a reply to be generated. Any returned error will be
jpayne@69 11943 * placed in the event queue.
jpayne@69 11944 */
jpayne@69 11945 xcb_get_keyboard_control_cookie_t
jpayne@69 11946 xcb_get_keyboard_control_unchecked (xcb_connection_t *c);
jpayne@69 11947
jpayne@69 11948 /**
jpayne@69 11949 * Return the reply
jpayne@69 11950 * @param c The connection
jpayne@69 11951 * @param cookie The cookie
jpayne@69 11952 * @param e The xcb_generic_error_t supplied
jpayne@69 11953 *
jpayne@69 11954 * Returns the reply of the request asked by
jpayne@69 11955 *
jpayne@69 11956 * The parameter @p e supplied to this function must be NULL if
jpayne@69 11957 * xcb_get_keyboard_control_unchecked(). is used.
jpayne@69 11958 * Otherwise, it stores the error if any.
jpayne@69 11959 *
jpayne@69 11960 * The returned value must be freed by the caller using free().
jpayne@69 11961 */
jpayne@69 11962 xcb_get_keyboard_control_reply_t *
jpayne@69 11963 xcb_get_keyboard_control_reply (xcb_connection_t *c,
jpayne@69 11964 xcb_get_keyboard_control_cookie_t cookie /**< */,
jpayne@69 11965 xcb_generic_error_t **e);
jpayne@69 11966
jpayne@69 11967 /**
jpayne@69 11968 *
jpayne@69 11969 * @param c The connection
jpayne@69 11970 * @return A cookie
jpayne@69 11971 *
jpayne@69 11972 * Delivers a request to the X server.
jpayne@69 11973 *
jpayne@69 11974 * This form can be used only if the request will not cause
jpayne@69 11975 * a reply to be generated. Any returned error will be
jpayne@69 11976 * saved for handling by xcb_request_check().
jpayne@69 11977 */
jpayne@69 11978 xcb_void_cookie_t
jpayne@69 11979 xcb_bell_checked (xcb_connection_t *c,
jpayne@69 11980 int8_t percent);
jpayne@69 11981
jpayne@69 11982 /**
jpayne@69 11983 *
jpayne@69 11984 * @param c The connection
jpayne@69 11985 * @return A cookie
jpayne@69 11986 *
jpayne@69 11987 * Delivers a request to the X server.
jpayne@69 11988 *
jpayne@69 11989 */
jpayne@69 11990 xcb_void_cookie_t
jpayne@69 11991 xcb_bell (xcb_connection_t *c,
jpayne@69 11992 int8_t percent);
jpayne@69 11993
jpayne@69 11994 /**
jpayne@69 11995 *
jpayne@69 11996 * @param c The connection
jpayne@69 11997 * @return A cookie
jpayne@69 11998 *
jpayne@69 11999 * Delivers a request to the X server.
jpayne@69 12000 *
jpayne@69 12001 * This form can be used only if the request will not cause
jpayne@69 12002 * a reply to be generated. Any returned error will be
jpayne@69 12003 * saved for handling by xcb_request_check().
jpayne@69 12004 */
jpayne@69 12005 xcb_void_cookie_t
jpayne@69 12006 xcb_change_pointer_control_checked (xcb_connection_t *c,
jpayne@69 12007 int16_t acceleration_numerator,
jpayne@69 12008 int16_t acceleration_denominator,
jpayne@69 12009 int16_t threshold,
jpayne@69 12010 uint8_t do_acceleration,
jpayne@69 12011 uint8_t do_threshold);
jpayne@69 12012
jpayne@69 12013 /**
jpayne@69 12014 *
jpayne@69 12015 * @param c The connection
jpayne@69 12016 * @return A cookie
jpayne@69 12017 *
jpayne@69 12018 * Delivers a request to the X server.
jpayne@69 12019 *
jpayne@69 12020 */
jpayne@69 12021 xcb_void_cookie_t
jpayne@69 12022 xcb_change_pointer_control (xcb_connection_t *c,
jpayne@69 12023 int16_t acceleration_numerator,
jpayne@69 12024 int16_t acceleration_denominator,
jpayne@69 12025 int16_t threshold,
jpayne@69 12026 uint8_t do_acceleration,
jpayne@69 12027 uint8_t do_threshold);
jpayne@69 12028
jpayne@69 12029 /**
jpayne@69 12030 *
jpayne@69 12031 * @param c The connection
jpayne@69 12032 * @return A cookie
jpayne@69 12033 *
jpayne@69 12034 * Delivers a request to the X server.
jpayne@69 12035 *
jpayne@69 12036 */
jpayne@69 12037 xcb_get_pointer_control_cookie_t
jpayne@69 12038 xcb_get_pointer_control (xcb_connection_t *c);
jpayne@69 12039
jpayne@69 12040 /**
jpayne@69 12041 *
jpayne@69 12042 * @param c The connection
jpayne@69 12043 * @return A cookie
jpayne@69 12044 *
jpayne@69 12045 * Delivers a request to the X server.
jpayne@69 12046 *
jpayne@69 12047 * This form can be used only if the request will cause
jpayne@69 12048 * a reply to be generated. Any returned error will be
jpayne@69 12049 * placed in the event queue.
jpayne@69 12050 */
jpayne@69 12051 xcb_get_pointer_control_cookie_t
jpayne@69 12052 xcb_get_pointer_control_unchecked (xcb_connection_t *c);
jpayne@69 12053
jpayne@69 12054 /**
jpayne@69 12055 * Return the reply
jpayne@69 12056 * @param c The connection
jpayne@69 12057 * @param cookie The cookie
jpayne@69 12058 * @param e The xcb_generic_error_t supplied
jpayne@69 12059 *
jpayne@69 12060 * Returns the reply of the request asked by
jpayne@69 12061 *
jpayne@69 12062 * The parameter @p e supplied to this function must be NULL if
jpayne@69 12063 * xcb_get_pointer_control_unchecked(). is used.
jpayne@69 12064 * Otherwise, it stores the error if any.
jpayne@69 12065 *
jpayne@69 12066 * The returned value must be freed by the caller using free().
jpayne@69 12067 */
jpayne@69 12068 xcb_get_pointer_control_reply_t *
jpayne@69 12069 xcb_get_pointer_control_reply (xcb_connection_t *c,
jpayne@69 12070 xcb_get_pointer_control_cookie_t cookie /**< */,
jpayne@69 12071 xcb_generic_error_t **e);
jpayne@69 12072
jpayne@69 12073 /**
jpayne@69 12074 *
jpayne@69 12075 * @param c The connection
jpayne@69 12076 * @return A cookie
jpayne@69 12077 *
jpayne@69 12078 * Delivers a request to the X server.
jpayne@69 12079 *
jpayne@69 12080 * This form can be used only if the request will not cause
jpayne@69 12081 * a reply to be generated. Any returned error will be
jpayne@69 12082 * saved for handling by xcb_request_check().
jpayne@69 12083 */
jpayne@69 12084 xcb_void_cookie_t
jpayne@69 12085 xcb_set_screen_saver_checked (xcb_connection_t *c,
jpayne@69 12086 int16_t timeout,
jpayne@69 12087 int16_t interval,
jpayne@69 12088 uint8_t prefer_blanking,
jpayne@69 12089 uint8_t allow_exposures);
jpayne@69 12090
jpayne@69 12091 /**
jpayne@69 12092 *
jpayne@69 12093 * @param c The connection
jpayne@69 12094 * @return A cookie
jpayne@69 12095 *
jpayne@69 12096 * Delivers a request to the X server.
jpayne@69 12097 *
jpayne@69 12098 */
jpayne@69 12099 xcb_void_cookie_t
jpayne@69 12100 xcb_set_screen_saver (xcb_connection_t *c,
jpayne@69 12101 int16_t timeout,
jpayne@69 12102 int16_t interval,
jpayne@69 12103 uint8_t prefer_blanking,
jpayne@69 12104 uint8_t allow_exposures);
jpayne@69 12105
jpayne@69 12106 /**
jpayne@69 12107 *
jpayne@69 12108 * @param c The connection
jpayne@69 12109 * @return A cookie
jpayne@69 12110 *
jpayne@69 12111 * Delivers a request to the X server.
jpayne@69 12112 *
jpayne@69 12113 */
jpayne@69 12114 xcb_get_screen_saver_cookie_t
jpayne@69 12115 xcb_get_screen_saver (xcb_connection_t *c);
jpayne@69 12116
jpayne@69 12117 /**
jpayne@69 12118 *
jpayne@69 12119 * @param c The connection
jpayne@69 12120 * @return A cookie
jpayne@69 12121 *
jpayne@69 12122 * Delivers a request to the X server.
jpayne@69 12123 *
jpayne@69 12124 * This form can be used only if the request will cause
jpayne@69 12125 * a reply to be generated. Any returned error will be
jpayne@69 12126 * placed in the event queue.
jpayne@69 12127 */
jpayne@69 12128 xcb_get_screen_saver_cookie_t
jpayne@69 12129 xcb_get_screen_saver_unchecked (xcb_connection_t *c);
jpayne@69 12130
jpayne@69 12131 /**
jpayne@69 12132 * Return the reply
jpayne@69 12133 * @param c The connection
jpayne@69 12134 * @param cookie The cookie
jpayne@69 12135 * @param e The xcb_generic_error_t supplied
jpayne@69 12136 *
jpayne@69 12137 * Returns the reply of the request asked by
jpayne@69 12138 *
jpayne@69 12139 * The parameter @p e supplied to this function must be NULL if
jpayne@69 12140 * xcb_get_screen_saver_unchecked(). is used.
jpayne@69 12141 * Otherwise, it stores the error if any.
jpayne@69 12142 *
jpayne@69 12143 * The returned value must be freed by the caller using free().
jpayne@69 12144 */
jpayne@69 12145 xcb_get_screen_saver_reply_t *
jpayne@69 12146 xcb_get_screen_saver_reply (xcb_connection_t *c,
jpayne@69 12147 xcb_get_screen_saver_cookie_t cookie /**< */,
jpayne@69 12148 xcb_generic_error_t **e);
jpayne@69 12149
jpayne@69 12150 int
jpayne@69 12151 xcb_change_hosts_sizeof (const void *_buffer);
jpayne@69 12152
jpayne@69 12153 /**
jpayne@69 12154 *
jpayne@69 12155 * @param c The connection
jpayne@69 12156 * @return A cookie
jpayne@69 12157 *
jpayne@69 12158 * Delivers a request to the X server.
jpayne@69 12159 *
jpayne@69 12160 * This form can be used only if the request will not cause
jpayne@69 12161 * a reply to be generated. Any returned error will be
jpayne@69 12162 * saved for handling by xcb_request_check().
jpayne@69 12163 */
jpayne@69 12164 xcb_void_cookie_t
jpayne@69 12165 xcb_change_hosts_checked (xcb_connection_t *c,
jpayne@69 12166 uint8_t mode,
jpayne@69 12167 uint8_t family,
jpayne@69 12168 uint16_t address_len,
jpayne@69 12169 const uint8_t *address);
jpayne@69 12170
jpayne@69 12171 /**
jpayne@69 12172 *
jpayne@69 12173 * @param c The connection
jpayne@69 12174 * @return A cookie
jpayne@69 12175 *
jpayne@69 12176 * Delivers a request to the X server.
jpayne@69 12177 *
jpayne@69 12178 */
jpayne@69 12179 xcb_void_cookie_t
jpayne@69 12180 xcb_change_hosts (xcb_connection_t *c,
jpayne@69 12181 uint8_t mode,
jpayne@69 12182 uint8_t family,
jpayne@69 12183 uint16_t address_len,
jpayne@69 12184 const uint8_t *address);
jpayne@69 12185
jpayne@69 12186 uint8_t *
jpayne@69 12187 xcb_change_hosts_address (const xcb_change_hosts_request_t *R);
jpayne@69 12188
jpayne@69 12189 int
jpayne@69 12190 xcb_change_hosts_address_length (const xcb_change_hosts_request_t *R);
jpayne@69 12191
jpayne@69 12192 xcb_generic_iterator_t
jpayne@69 12193 xcb_change_hosts_address_end (const xcb_change_hosts_request_t *R);
jpayne@69 12194
jpayne@69 12195 int
jpayne@69 12196 xcb_host_sizeof (const void *_buffer);
jpayne@69 12197
jpayne@69 12198 uint8_t *
jpayne@69 12199 xcb_host_address (const xcb_host_t *R);
jpayne@69 12200
jpayne@69 12201 int
jpayne@69 12202 xcb_host_address_length (const xcb_host_t *R);
jpayne@69 12203
jpayne@69 12204 xcb_generic_iterator_t
jpayne@69 12205 xcb_host_address_end (const xcb_host_t *R);
jpayne@69 12206
jpayne@69 12207 /**
jpayne@69 12208 * Get the next element of the iterator
jpayne@69 12209 * @param i Pointer to a xcb_host_iterator_t
jpayne@69 12210 *
jpayne@69 12211 * Get the next element in the iterator. The member rem is
jpayne@69 12212 * decreased by one. The member data points to the next
jpayne@69 12213 * element. The member index is increased by sizeof(xcb_host_t)
jpayne@69 12214 */
jpayne@69 12215 void
jpayne@69 12216 xcb_host_next (xcb_host_iterator_t *i);
jpayne@69 12217
jpayne@69 12218 /**
jpayne@69 12219 * Return the iterator pointing to the last element
jpayne@69 12220 * @param i An xcb_host_iterator_t
jpayne@69 12221 * @return The iterator pointing to the last element
jpayne@69 12222 *
jpayne@69 12223 * Set the current element in the iterator to the last element.
jpayne@69 12224 * The member rem is set to 0. The member data points to the
jpayne@69 12225 * last element.
jpayne@69 12226 */
jpayne@69 12227 xcb_generic_iterator_t
jpayne@69 12228 xcb_host_end (xcb_host_iterator_t i);
jpayne@69 12229
jpayne@69 12230 int
jpayne@69 12231 xcb_list_hosts_sizeof (const void *_buffer);
jpayne@69 12232
jpayne@69 12233 /**
jpayne@69 12234 *
jpayne@69 12235 * @param c The connection
jpayne@69 12236 * @return A cookie
jpayne@69 12237 *
jpayne@69 12238 * Delivers a request to the X server.
jpayne@69 12239 *
jpayne@69 12240 */
jpayne@69 12241 xcb_list_hosts_cookie_t
jpayne@69 12242 xcb_list_hosts (xcb_connection_t *c);
jpayne@69 12243
jpayne@69 12244 /**
jpayne@69 12245 *
jpayne@69 12246 * @param c The connection
jpayne@69 12247 * @return A cookie
jpayne@69 12248 *
jpayne@69 12249 * Delivers a request to the X server.
jpayne@69 12250 *
jpayne@69 12251 * This form can be used only if the request will cause
jpayne@69 12252 * a reply to be generated. Any returned error will be
jpayne@69 12253 * placed in the event queue.
jpayne@69 12254 */
jpayne@69 12255 xcb_list_hosts_cookie_t
jpayne@69 12256 xcb_list_hosts_unchecked (xcb_connection_t *c);
jpayne@69 12257
jpayne@69 12258 int
jpayne@69 12259 xcb_list_hosts_hosts_length (const xcb_list_hosts_reply_t *R);
jpayne@69 12260
jpayne@69 12261 xcb_host_iterator_t
jpayne@69 12262 xcb_list_hosts_hosts_iterator (const xcb_list_hosts_reply_t *R);
jpayne@69 12263
jpayne@69 12264 /**
jpayne@69 12265 * Return the reply
jpayne@69 12266 * @param c The connection
jpayne@69 12267 * @param cookie The cookie
jpayne@69 12268 * @param e The xcb_generic_error_t supplied
jpayne@69 12269 *
jpayne@69 12270 * Returns the reply of the request asked by
jpayne@69 12271 *
jpayne@69 12272 * The parameter @p e supplied to this function must be NULL if
jpayne@69 12273 * xcb_list_hosts_unchecked(). is used.
jpayne@69 12274 * Otherwise, it stores the error if any.
jpayne@69 12275 *
jpayne@69 12276 * The returned value must be freed by the caller using free().
jpayne@69 12277 */
jpayne@69 12278 xcb_list_hosts_reply_t *
jpayne@69 12279 xcb_list_hosts_reply (xcb_connection_t *c,
jpayne@69 12280 xcb_list_hosts_cookie_t cookie /**< */,
jpayne@69 12281 xcb_generic_error_t **e);
jpayne@69 12282
jpayne@69 12283 /**
jpayne@69 12284 *
jpayne@69 12285 * @param c The connection
jpayne@69 12286 * @return A cookie
jpayne@69 12287 *
jpayne@69 12288 * Delivers a request to the X server.
jpayne@69 12289 *
jpayne@69 12290 * This form can be used only if the request will not cause
jpayne@69 12291 * a reply to be generated. Any returned error will be
jpayne@69 12292 * saved for handling by xcb_request_check().
jpayne@69 12293 */
jpayne@69 12294 xcb_void_cookie_t
jpayne@69 12295 xcb_set_access_control_checked (xcb_connection_t *c,
jpayne@69 12296 uint8_t mode);
jpayne@69 12297
jpayne@69 12298 /**
jpayne@69 12299 *
jpayne@69 12300 * @param c The connection
jpayne@69 12301 * @return A cookie
jpayne@69 12302 *
jpayne@69 12303 * Delivers a request to the X server.
jpayne@69 12304 *
jpayne@69 12305 */
jpayne@69 12306 xcb_void_cookie_t
jpayne@69 12307 xcb_set_access_control (xcb_connection_t *c,
jpayne@69 12308 uint8_t mode);
jpayne@69 12309
jpayne@69 12310 /**
jpayne@69 12311 *
jpayne@69 12312 * @param c The connection
jpayne@69 12313 * @return A cookie
jpayne@69 12314 *
jpayne@69 12315 * Delivers a request to the X server.
jpayne@69 12316 *
jpayne@69 12317 * This form can be used only if the request will not cause
jpayne@69 12318 * a reply to be generated. Any returned error will be
jpayne@69 12319 * saved for handling by xcb_request_check().
jpayne@69 12320 */
jpayne@69 12321 xcb_void_cookie_t
jpayne@69 12322 xcb_set_close_down_mode_checked (xcb_connection_t *c,
jpayne@69 12323 uint8_t mode);
jpayne@69 12324
jpayne@69 12325 /**
jpayne@69 12326 *
jpayne@69 12327 * @param c The connection
jpayne@69 12328 * @return A cookie
jpayne@69 12329 *
jpayne@69 12330 * Delivers a request to the X server.
jpayne@69 12331 *
jpayne@69 12332 */
jpayne@69 12333 xcb_void_cookie_t
jpayne@69 12334 xcb_set_close_down_mode (xcb_connection_t *c,
jpayne@69 12335 uint8_t mode);
jpayne@69 12336
jpayne@69 12337 /**
jpayne@69 12338 * @brief kills a client
jpayne@69 12339 *
jpayne@69 12340 * @param c The connection
jpayne@69 12341 * @param resource Any resource belonging to the client (for example a Window), used to identify
jpayne@69 12342 * the client connection.
jpayne@69 12343 * \n
jpayne@69 12344 * The special value of `XCB_KILL_ALL_TEMPORARY`, the resources of all clients
jpayne@69 12345 * that have terminated in `RetainTemporary` (TODO) are destroyed.
jpayne@69 12346 * @return A cookie
jpayne@69 12347 *
jpayne@69 12348 * Forces a close down of the client that created the specified \a resource.
jpayne@69 12349 *
jpayne@69 12350 * This form can be used only if the request will not cause
jpayne@69 12351 * a reply to be generated. Any returned error will be
jpayne@69 12352 * saved for handling by xcb_request_check().
jpayne@69 12353 */
jpayne@69 12354 xcb_void_cookie_t
jpayne@69 12355 xcb_kill_client_checked (xcb_connection_t *c,
jpayne@69 12356 uint32_t resource);
jpayne@69 12357
jpayne@69 12358 /**
jpayne@69 12359 * @brief kills a client
jpayne@69 12360 *
jpayne@69 12361 * @param c The connection
jpayne@69 12362 * @param resource Any resource belonging to the client (for example a Window), used to identify
jpayne@69 12363 * the client connection.
jpayne@69 12364 * \n
jpayne@69 12365 * The special value of `XCB_KILL_ALL_TEMPORARY`, the resources of all clients
jpayne@69 12366 * that have terminated in `RetainTemporary` (TODO) are destroyed.
jpayne@69 12367 * @return A cookie
jpayne@69 12368 *
jpayne@69 12369 * Forces a close down of the client that created the specified \a resource.
jpayne@69 12370 *
jpayne@69 12371 */
jpayne@69 12372 xcb_void_cookie_t
jpayne@69 12373 xcb_kill_client (xcb_connection_t *c,
jpayne@69 12374 uint32_t resource);
jpayne@69 12375
jpayne@69 12376 int
jpayne@69 12377 xcb_rotate_properties_sizeof (const void *_buffer);
jpayne@69 12378
jpayne@69 12379 /**
jpayne@69 12380 *
jpayne@69 12381 * @param c The connection
jpayne@69 12382 * @return A cookie
jpayne@69 12383 *
jpayne@69 12384 * Delivers a request to the X server.
jpayne@69 12385 *
jpayne@69 12386 * This form can be used only if the request will not cause
jpayne@69 12387 * a reply to be generated. Any returned error will be
jpayne@69 12388 * saved for handling by xcb_request_check().
jpayne@69 12389 */
jpayne@69 12390 xcb_void_cookie_t
jpayne@69 12391 xcb_rotate_properties_checked (xcb_connection_t *c,
jpayne@69 12392 xcb_window_t window,
jpayne@69 12393 uint16_t atoms_len,
jpayne@69 12394 int16_t delta,
jpayne@69 12395 const xcb_atom_t *atoms);
jpayne@69 12396
jpayne@69 12397 /**
jpayne@69 12398 *
jpayne@69 12399 * @param c The connection
jpayne@69 12400 * @return A cookie
jpayne@69 12401 *
jpayne@69 12402 * Delivers a request to the X server.
jpayne@69 12403 *
jpayne@69 12404 */
jpayne@69 12405 xcb_void_cookie_t
jpayne@69 12406 xcb_rotate_properties (xcb_connection_t *c,
jpayne@69 12407 xcb_window_t window,
jpayne@69 12408 uint16_t atoms_len,
jpayne@69 12409 int16_t delta,
jpayne@69 12410 const xcb_atom_t *atoms);
jpayne@69 12411
jpayne@69 12412 xcb_atom_t *
jpayne@69 12413 xcb_rotate_properties_atoms (const xcb_rotate_properties_request_t *R);
jpayne@69 12414
jpayne@69 12415 int
jpayne@69 12416 xcb_rotate_properties_atoms_length (const xcb_rotate_properties_request_t *R);
jpayne@69 12417
jpayne@69 12418 xcb_generic_iterator_t
jpayne@69 12419 xcb_rotate_properties_atoms_end (const xcb_rotate_properties_request_t *R);
jpayne@69 12420
jpayne@69 12421 /**
jpayne@69 12422 *
jpayne@69 12423 * @param c The connection
jpayne@69 12424 * @return A cookie
jpayne@69 12425 *
jpayne@69 12426 * Delivers a request to the X server.
jpayne@69 12427 *
jpayne@69 12428 * This form can be used only if the request will not cause
jpayne@69 12429 * a reply to be generated. Any returned error will be
jpayne@69 12430 * saved for handling by xcb_request_check().
jpayne@69 12431 */
jpayne@69 12432 xcb_void_cookie_t
jpayne@69 12433 xcb_force_screen_saver_checked (xcb_connection_t *c,
jpayne@69 12434 uint8_t mode);
jpayne@69 12435
jpayne@69 12436 /**
jpayne@69 12437 *
jpayne@69 12438 * @param c The connection
jpayne@69 12439 * @return A cookie
jpayne@69 12440 *
jpayne@69 12441 * Delivers a request to the X server.
jpayne@69 12442 *
jpayne@69 12443 */
jpayne@69 12444 xcb_void_cookie_t
jpayne@69 12445 xcb_force_screen_saver (xcb_connection_t *c,
jpayne@69 12446 uint8_t mode);
jpayne@69 12447
jpayne@69 12448 int
jpayne@69 12449 xcb_set_pointer_mapping_sizeof (const void *_buffer);
jpayne@69 12450
jpayne@69 12451 /**
jpayne@69 12452 *
jpayne@69 12453 * @param c The connection
jpayne@69 12454 * @return A cookie
jpayne@69 12455 *
jpayne@69 12456 * Delivers a request to the X server.
jpayne@69 12457 *
jpayne@69 12458 */
jpayne@69 12459 xcb_set_pointer_mapping_cookie_t
jpayne@69 12460 xcb_set_pointer_mapping (xcb_connection_t *c,
jpayne@69 12461 uint8_t map_len,
jpayne@69 12462 const uint8_t *map);
jpayne@69 12463
jpayne@69 12464 /**
jpayne@69 12465 *
jpayne@69 12466 * @param c The connection
jpayne@69 12467 * @return A cookie
jpayne@69 12468 *
jpayne@69 12469 * Delivers a request to the X server.
jpayne@69 12470 *
jpayne@69 12471 * This form can be used only if the request will cause
jpayne@69 12472 * a reply to be generated. Any returned error will be
jpayne@69 12473 * placed in the event queue.
jpayne@69 12474 */
jpayne@69 12475 xcb_set_pointer_mapping_cookie_t
jpayne@69 12476 xcb_set_pointer_mapping_unchecked (xcb_connection_t *c,
jpayne@69 12477 uint8_t map_len,
jpayne@69 12478 const uint8_t *map);
jpayne@69 12479
jpayne@69 12480 /**
jpayne@69 12481 * Return the reply
jpayne@69 12482 * @param c The connection
jpayne@69 12483 * @param cookie The cookie
jpayne@69 12484 * @param e The xcb_generic_error_t supplied
jpayne@69 12485 *
jpayne@69 12486 * Returns the reply of the request asked by
jpayne@69 12487 *
jpayne@69 12488 * The parameter @p e supplied to this function must be NULL if
jpayne@69 12489 * xcb_set_pointer_mapping_unchecked(). is used.
jpayne@69 12490 * Otherwise, it stores the error if any.
jpayne@69 12491 *
jpayne@69 12492 * The returned value must be freed by the caller using free().
jpayne@69 12493 */
jpayne@69 12494 xcb_set_pointer_mapping_reply_t *
jpayne@69 12495 xcb_set_pointer_mapping_reply (xcb_connection_t *c,
jpayne@69 12496 xcb_set_pointer_mapping_cookie_t cookie /**< */,
jpayne@69 12497 xcb_generic_error_t **e);
jpayne@69 12498
jpayne@69 12499 int
jpayne@69 12500 xcb_get_pointer_mapping_sizeof (const void *_buffer);
jpayne@69 12501
jpayne@69 12502 /**
jpayne@69 12503 *
jpayne@69 12504 * @param c The connection
jpayne@69 12505 * @return A cookie
jpayne@69 12506 *
jpayne@69 12507 * Delivers a request to the X server.
jpayne@69 12508 *
jpayne@69 12509 */
jpayne@69 12510 xcb_get_pointer_mapping_cookie_t
jpayne@69 12511 xcb_get_pointer_mapping (xcb_connection_t *c);
jpayne@69 12512
jpayne@69 12513 /**
jpayne@69 12514 *
jpayne@69 12515 * @param c The connection
jpayne@69 12516 * @return A cookie
jpayne@69 12517 *
jpayne@69 12518 * Delivers a request to the X server.
jpayne@69 12519 *
jpayne@69 12520 * This form can be used only if the request will cause
jpayne@69 12521 * a reply to be generated. Any returned error will be
jpayne@69 12522 * placed in the event queue.
jpayne@69 12523 */
jpayne@69 12524 xcb_get_pointer_mapping_cookie_t
jpayne@69 12525 xcb_get_pointer_mapping_unchecked (xcb_connection_t *c);
jpayne@69 12526
jpayne@69 12527 uint8_t *
jpayne@69 12528 xcb_get_pointer_mapping_map (const xcb_get_pointer_mapping_reply_t *R);
jpayne@69 12529
jpayne@69 12530 int
jpayne@69 12531 xcb_get_pointer_mapping_map_length (const xcb_get_pointer_mapping_reply_t *R);
jpayne@69 12532
jpayne@69 12533 xcb_generic_iterator_t
jpayne@69 12534 xcb_get_pointer_mapping_map_end (const xcb_get_pointer_mapping_reply_t *R);
jpayne@69 12535
jpayne@69 12536 /**
jpayne@69 12537 * Return the reply
jpayne@69 12538 * @param c The connection
jpayne@69 12539 * @param cookie The cookie
jpayne@69 12540 * @param e The xcb_generic_error_t supplied
jpayne@69 12541 *
jpayne@69 12542 * Returns the reply of the request asked by
jpayne@69 12543 *
jpayne@69 12544 * The parameter @p e supplied to this function must be NULL if
jpayne@69 12545 * xcb_get_pointer_mapping_unchecked(). is used.
jpayne@69 12546 * Otherwise, it stores the error if any.
jpayne@69 12547 *
jpayne@69 12548 * The returned value must be freed by the caller using free().
jpayne@69 12549 */
jpayne@69 12550 xcb_get_pointer_mapping_reply_t *
jpayne@69 12551 xcb_get_pointer_mapping_reply (xcb_connection_t *c,
jpayne@69 12552 xcb_get_pointer_mapping_cookie_t cookie /**< */,
jpayne@69 12553 xcb_generic_error_t **e);
jpayne@69 12554
jpayne@69 12555 int
jpayne@69 12556 xcb_set_modifier_mapping_sizeof (const void *_buffer);
jpayne@69 12557
jpayne@69 12558 /**
jpayne@69 12559 *
jpayne@69 12560 * @param c The connection
jpayne@69 12561 * @return A cookie
jpayne@69 12562 *
jpayne@69 12563 * Delivers a request to the X server.
jpayne@69 12564 *
jpayne@69 12565 */
jpayne@69 12566 xcb_set_modifier_mapping_cookie_t
jpayne@69 12567 xcb_set_modifier_mapping (xcb_connection_t *c,
jpayne@69 12568 uint8_t keycodes_per_modifier,
jpayne@69 12569 const xcb_keycode_t *keycodes);
jpayne@69 12570
jpayne@69 12571 /**
jpayne@69 12572 *
jpayne@69 12573 * @param c The connection
jpayne@69 12574 * @return A cookie
jpayne@69 12575 *
jpayne@69 12576 * Delivers a request to the X server.
jpayne@69 12577 *
jpayne@69 12578 * This form can be used only if the request will cause
jpayne@69 12579 * a reply to be generated. Any returned error will be
jpayne@69 12580 * placed in the event queue.
jpayne@69 12581 */
jpayne@69 12582 xcb_set_modifier_mapping_cookie_t
jpayne@69 12583 xcb_set_modifier_mapping_unchecked (xcb_connection_t *c,
jpayne@69 12584 uint8_t keycodes_per_modifier,
jpayne@69 12585 const xcb_keycode_t *keycodes);
jpayne@69 12586
jpayne@69 12587 /**
jpayne@69 12588 * Return the reply
jpayne@69 12589 * @param c The connection
jpayne@69 12590 * @param cookie The cookie
jpayne@69 12591 * @param e The xcb_generic_error_t supplied
jpayne@69 12592 *
jpayne@69 12593 * Returns the reply of the request asked by
jpayne@69 12594 *
jpayne@69 12595 * The parameter @p e supplied to this function must be NULL if
jpayne@69 12596 * xcb_set_modifier_mapping_unchecked(). is used.
jpayne@69 12597 * Otherwise, it stores the error if any.
jpayne@69 12598 *
jpayne@69 12599 * The returned value must be freed by the caller using free().
jpayne@69 12600 */
jpayne@69 12601 xcb_set_modifier_mapping_reply_t *
jpayne@69 12602 xcb_set_modifier_mapping_reply (xcb_connection_t *c,
jpayne@69 12603 xcb_set_modifier_mapping_cookie_t cookie /**< */,
jpayne@69 12604 xcb_generic_error_t **e);
jpayne@69 12605
jpayne@69 12606 int
jpayne@69 12607 xcb_get_modifier_mapping_sizeof (const void *_buffer);
jpayne@69 12608
jpayne@69 12609 /**
jpayne@69 12610 *
jpayne@69 12611 * @param c The connection
jpayne@69 12612 * @return A cookie
jpayne@69 12613 *
jpayne@69 12614 * Delivers a request to the X server.
jpayne@69 12615 *
jpayne@69 12616 */
jpayne@69 12617 xcb_get_modifier_mapping_cookie_t
jpayne@69 12618 xcb_get_modifier_mapping (xcb_connection_t *c);
jpayne@69 12619
jpayne@69 12620 /**
jpayne@69 12621 *
jpayne@69 12622 * @param c The connection
jpayne@69 12623 * @return A cookie
jpayne@69 12624 *
jpayne@69 12625 * Delivers a request to the X server.
jpayne@69 12626 *
jpayne@69 12627 * This form can be used only if the request will cause
jpayne@69 12628 * a reply to be generated. Any returned error will be
jpayne@69 12629 * placed in the event queue.
jpayne@69 12630 */
jpayne@69 12631 xcb_get_modifier_mapping_cookie_t
jpayne@69 12632 xcb_get_modifier_mapping_unchecked (xcb_connection_t *c);
jpayne@69 12633
jpayne@69 12634 xcb_keycode_t *
jpayne@69 12635 xcb_get_modifier_mapping_keycodes (const xcb_get_modifier_mapping_reply_t *R);
jpayne@69 12636
jpayne@69 12637 int
jpayne@69 12638 xcb_get_modifier_mapping_keycodes_length (const xcb_get_modifier_mapping_reply_t *R);
jpayne@69 12639
jpayne@69 12640 xcb_generic_iterator_t
jpayne@69 12641 xcb_get_modifier_mapping_keycodes_end (const xcb_get_modifier_mapping_reply_t *R);
jpayne@69 12642
jpayne@69 12643 /**
jpayne@69 12644 * Return the reply
jpayne@69 12645 * @param c The connection
jpayne@69 12646 * @param cookie The cookie
jpayne@69 12647 * @param e The xcb_generic_error_t supplied
jpayne@69 12648 *
jpayne@69 12649 * Returns the reply of the request asked by
jpayne@69 12650 *
jpayne@69 12651 * The parameter @p e supplied to this function must be NULL if
jpayne@69 12652 * xcb_get_modifier_mapping_unchecked(). is used.
jpayne@69 12653 * Otherwise, it stores the error if any.
jpayne@69 12654 *
jpayne@69 12655 * The returned value must be freed by the caller using free().
jpayne@69 12656 */
jpayne@69 12657 xcb_get_modifier_mapping_reply_t *
jpayne@69 12658 xcb_get_modifier_mapping_reply (xcb_connection_t *c,
jpayne@69 12659 xcb_get_modifier_mapping_cookie_t cookie /**< */,
jpayne@69 12660 xcb_generic_error_t **e);
jpayne@69 12661
jpayne@69 12662 /**
jpayne@69 12663 *
jpayne@69 12664 * @param c The connection
jpayne@69 12665 * @return A cookie
jpayne@69 12666 *
jpayne@69 12667 * Delivers a request to the X server.
jpayne@69 12668 *
jpayne@69 12669 * This form can be used only if the request will not cause
jpayne@69 12670 * a reply to be generated. Any returned error will be
jpayne@69 12671 * saved for handling by xcb_request_check().
jpayne@69 12672 */
jpayne@69 12673 xcb_void_cookie_t
jpayne@69 12674 xcb_no_operation_checked (xcb_connection_t *c);
jpayne@69 12675
jpayne@69 12676 /**
jpayne@69 12677 *
jpayne@69 12678 * @param c The connection
jpayne@69 12679 * @return A cookie
jpayne@69 12680 *
jpayne@69 12681 * Delivers a request to the X server.
jpayne@69 12682 *
jpayne@69 12683 */
jpayne@69 12684 xcb_void_cookie_t
jpayne@69 12685 xcb_no_operation (xcb_connection_t *c);
jpayne@69 12686
jpayne@69 12687
jpayne@69 12688 #ifdef __cplusplus
jpayne@69 12689 }
jpayne@69 12690 #endif
jpayne@69 12691
jpayne@69 12692 #endif
jpayne@69 12693
jpayne@69 12694 /**
jpayne@69 12695 * @}
jpayne@69 12696 */