1 /* 2 * This file generated automatically from xfixes.xml by c_client.py. 3 * Edit at your peril. 4 */ 5 6 #ifdef HAVE_CONFIG_H 7 #include "config.h" 8 #endif 9 #include <stdlib.h> 10 #include <string.h> 11 #include <assert.h> 12 #include <stddef.h> /* for offsetof() */ 13 #include "xcbext.h" 14 #include "xfixes.h" 15 16 #define ALIGNOF(type) offsetof(struct { char dummy; type member; }, member) 17 #include "xproto.h" 18 #include "render.h" 19 #include "shape.h" 20 21 xcb_extension_t xcb_xfixes_id = { "XFIXES", 0 }; 22 23 24 /***************************************************************************** 25 ** 26 ** xcb_xfixes_query_version_cookie_t xcb_xfixes_query_version 27 ** 28 ** @param xcb_connection_t *c 29 ** @param uint32_t client_major_version 30 ** @param uint32_t client_minor_version 31 ** @returns xcb_xfixes_query_version_cookie_t 32 ** 33 *****************************************************************************/ 34 35 xcb_xfixes_query_version_cookie_t 36 xcb_xfixes_query_version (xcb_connection_t *c /**< */, 37 uint32_t client_major_version /**< */, 38 uint32_t client_minor_version /**< */) 39 { 40 static const xcb_protocol_request_t xcb_req = { 41 /* count */ 2, 42 /* ext */ &xcb_xfixes_id, 43 /* opcode */ XCB_XFIXES_QUERY_VERSION, 44 /* isvoid */ 0 45 }; 46 47 struct iovec xcb_parts[4]; 48 xcb_xfixes_query_version_cookie_t xcb_ret; 49 xcb_xfixes_query_version_request_t xcb_out; 50 51 xcb_out.client_major_version = client_major_version; 52 xcb_out.client_minor_version = client_minor_version; 53 54 xcb_parts[2].iov_base = (char *) &xcb_out; 55 xcb_parts[2].iov_len = sizeof(xcb_out); 56 xcb_parts[3].iov_base = 0; 57 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 58 59 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 60 return xcb_ret; 61 } 62 63 64 /***************************************************************************** 65 ** 66 ** xcb_xfixes_query_version_cookie_t xcb_xfixes_query_version_unchecked 67 ** 68 ** @param xcb_connection_t *c 69 ** @param uint32_t client_major_version 70 ** @param uint32_t client_minor_version 71 ** @returns xcb_xfixes_query_version_cookie_t 72 ** 73 *****************************************************************************/ 74 75 xcb_xfixes_query_version_cookie_t 76 xcb_xfixes_query_version_unchecked (xcb_connection_t *c /**< */, 77 uint32_t client_major_version /**< */, 78 uint32_t client_minor_version /**< */) 79 { 80 static const xcb_protocol_request_t xcb_req = { 81 /* count */ 2, 82 /* ext */ &xcb_xfixes_id, 83 /* opcode */ XCB_XFIXES_QUERY_VERSION, 84 /* isvoid */ 0 85 }; 86 87 struct iovec xcb_parts[4]; 88 xcb_xfixes_query_version_cookie_t xcb_ret; 89 xcb_xfixes_query_version_request_t xcb_out; 90 91 xcb_out.client_major_version = client_major_version; 92 xcb_out.client_minor_version = client_minor_version; 93 94 xcb_parts[2].iov_base = (char *) &xcb_out; 95 xcb_parts[2].iov_len = sizeof(xcb_out); 96 xcb_parts[3].iov_base = 0; 97 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 98 99 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 100 return xcb_ret; 101 } 102 103 104 /***************************************************************************** 105 ** 106 ** xcb_xfixes_query_version_reply_t * xcb_xfixes_query_version_reply 107 ** 108 ** @param xcb_connection_t *c 109 ** @param xcb_xfixes_query_version_cookie_t cookie 110 ** @param xcb_generic_error_t **e 111 ** @returns xcb_xfixes_query_version_reply_t * 112 ** 113 *****************************************************************************/ 114 115 xcb_xfixes_query_version_reply_t * 116 xcb_xfixes_query_version_reply (xcb_connection_t *c /**< */, 117 xcb_xfixes_query_version_cookie_t cookie /**< */, 118 xcb_generic_error_t **e /**< */) 119 { 120 return (xcb_xfixes_query_version_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 121 } 122 123 124 /***************************************************************************** 125 ** 126 ** xcb_void_cookie_t xcb_xfixes_change_save_set_checked 127 ** 128 ** @param xcb_connection_t *c 129 ** @param uint8_t mode 130 ** @param uint8_t target 131 ** @param uint8_t map 132 ** @param xcb_window_t window 133 ** @returns xcb_void_cookie_t 134 ** 135 *****************************************************************************/ 136 137 xcb_void_cookie_t 138 xcb_xfixes_change_save_set_checked (xcb_connection_t *c /**< */, 139 uint8_t mode /**< */, 140 uint8_t target /**< */, 141 uint8_t map /**< */, 142 xcb_window_t window /**< */) 143 { 144 static const xcb_protocol_request_t xcb_req = { 145 /* count */ 2, 146 /* ext */ &xcb_xfixes_id, 147 /* opcode */ XCB_XFIXES_CHANGE_SAVE_SET, 148 /* isvoid */ 1 149 }; 150 151 struct iovec xcb_parts[4]; 152 xcb_void_cookie_t xcb_ret; 153 xcb_xfixes_change_save_set_request_t xcb_out; 154 155 xcb_out.mode = mode; 156 xcb_out.target = target; 157 xcb_out.map = map; 158 xcb_out.pad0 = 0; 159 xcb_out.window = window; 160 161 xcb_parts[2].iov_base = (char *) &xcb_out; 162 xcb_parts[2].iov_len = sizeof(xcb_out); 163 xcb_parts[3].iov_base = 0; 164 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 165 166 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 167 return xcb_ret; 168 } 169 170 171 /***************************************************************************** 172 ** 173 ** xcb_void_cookie_t xcb_xfixes_change_save_set 174 ** 175 ** @param xcb_connection_t *c 176 ** @param uint8_t mode 177 ** @param uint8_t target 178 ** @param uint8_t map 179 ** @param xcb_window_t window 180 ** @returns xcb_void_cookie_t 181 ** 182 *****************************************************************************/ 183 184 xcb_void_cookie_t 185 xcb_xfixes_change_save_set (xcb_connection_t *c /**< */, 186 uint8_t mode /**< */, 187 uint8_t target /**< */, 188 uint8_t map /**< */, 189 xcb_window_t window /**< */) 190 { 191 static const xcb_protocol_request_t xcb_req = { 192 /* count */ 2, 193 /* ext */ &xcb_xfixes_id, 194 /* opcode */ XCB_XFIXES_CHANGE_SAVE_SET, 195 /* isvoid */ 1 196 }; 197 198 struct iovec xcb_parts[4]; 199 xcb_void_cookie_t xcb_ret; 200 xcb_xfixes_change_save_set_request_t xcb_out; 201 202 xcb_out.mode = mode; 203 xcb_out.target = target; 204 xcb_out.map = map; 205 xcb_out.pad0 = 0; 206 xcb_out.window = window; 207 208 xcb_parts[2].iov_base = (char *) &xcb_out; 209 xcb_parts[2].iov_len = sizeof(xcb_out); 210 xcb_parts[3].iov_base = 0; 211 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 212 213 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 214 return xcb_ret; 215 } 216 217 218 /***************************************************************************** 219 ** 220 ** xcb_void_cookie_t xcb_xfixes_select_selection_input_checked 221 ** 222 ** @param xcb_connection_t *c 223 ** @param xcb_window_t window 224 ** @param xcb_atom_t selection 225 ** @param uint32_t event_mask 226 ** @returns xcb_void_cookie_t 227 ** 228 *****************************************************************************/ 229 230 xcb_void_cookie_t 231 xcb_xfixes_select_selection_input_checked (xcb_connection_t *c /**< */, 232 xcb_window_t window /**< */, 233 xcb_atom_t selection /**< */, 234 uint32_t event_mask /**< */) 235 { 236 static const xcb_protocol_request_t xcb_req = { 237 /* count */ 2, 238 /* ext */ &xcb_xfixes_id, 239 /* opcode */ XCB_XFIXES_SELECT_SELECTION_INPUT, 240 /* isvoid */ 1 241 }; 242 243 struct iovec xcb_parts[4]; 244 xcb_void_cookie_t xcb_ret; 245 xcb_xfixes_select_selection_input_request_t xcb_out; 246 247 xcb_out.window = window; 248 xcb_out.selection = selection; 249 xcb_out.event_mask = event_mask; 250 251 xcb_parts[2].iov_base = (char *) &xcb_out; 252 xcb_parts[2].iov_len = sizeof(xcb_out); 253 xcb_parts[3].iov_base = 0; 254 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 255 256 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 257 return xcb_ret; 258 } 259 260 261 /***************************************************************************** 262 ** 263 ** xcb_void_cookie_t xcb_xfixes_select_selection_input 264 ** 265 ** @param xcb_connection_t *c 266 ** @param xcb_window_t window 267 ** @param xcb_atom_t selection 268 ** @param uint32_t event_mask 269 ** @returns xcb_void_cookie_t 270 ** 271 *****************************************************************************/ 272 273 xcb_void_cookie_t 274 xcb_xfixes_select_selection_input (xcb_connection_t *c /**< */, 275 xcb_window_t window /**< */, 276 xcb_atom_t selection /**< */, 277 uint32_t event_mask /**< */) 278 { 279 static const xcb_protocol_request_t xcb_req = { 280 /* count */ 2, 281 /* ext */ &xcb_xfixes_id, 282 /* opcode */ XCB_XFIXES_SELECT_SELECTION_INPUT, 283 /* isvoid */ 1 284 }; 285 286 struct iovec xcb_parts[4]; 287 xcb_void_cookie_t xcb_ret; 288 xcb_xfixes_select_selection_input_request_t xcb_out; 289 290 xcb_out.window = window; 291 xcb_out.selection = selection; 292 xcb_out.event_mask = event_mask; 293 294 xcb_parts[2].iov_base = (char *) &xcb_out; 295 xcb_parts[2].iov_len = sizeof(xcb_out); 296 xcb_parts[3].iov_base = 0; 297 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 298 299 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 300 return xcb_ret; 301 } 302 303 304 /***************************************************************************** 305 ** 306 ** xcb_void_cookie_t xcb_xfixes_select_cursor_input_checked 307 ** 308 ** @param xcb_connection_t *c 309 ** @param xcb_window_t window 310 ** @param uint32_t event_mask 311 ** @returns xcb_void_cookie_t 312 ** 313 *****************************************************************************/ 314 315 xcb_void_cookie_t 316 xcb_xfixes_select_cursor_input_checked (xcb_connection_t *c /**< */, 317 xcb_window_t window /**< */, 318 uint32_t event_mask /**< */) 319 { 320 static const xcb_protocol_request_t xcb_req = { 321 /* count */ 2, 322 /* ext */ &xcb_xfixes_id, 323 /* opcode */ XCB_XFIXES_SELECT_CURSOR_INPUT, 324 /* isvoid */ 1 325 }; 326 327 struct iovec xcb_parts[4]; 328 xcb_void_cookie_t xcb_ret; 329 xcb_xfixes_select_cursor_input_request_t xcb_out; 330 331 xcb_out.window = window; 332 xcb_out.event_mask = event_mask; 333 334 xcb_parts[2].iov_base = (char *) &xcb_out; 335 xcb_parts[2].iov_len = sizeof(xcb_out); 336 xcb_parts[3].iov_base = 0; 337 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 338 339 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 340 return xcb_ret; 341 } 342 343 344 /***************************************************************************** 345 ** 346 ** xcb_void_cookie_t xcb_xfixes_select_cursor_input 347 ** 348 ** @param xcb_connection_t *c 349 ** @param xcb_window_t window 350 ** @param uint32_t event_mask 351 ** @returns xcb_void_cookie_t 352 ** 353 *****************************************************************************/ 354 355 xcb_void_cookie_t 356 xcb_xfixes_select_cursor_input (xcb_connection_t *c /**< */, 357 xcb_window_t window /**< */, 358 uint32_t event_mask /**< */) 359 { 360 static const xcb_protocol_request_t xcb_req = { 361 /* count */ 2, 362 /* ext */ &xcb_xfixes_id, 363 /* opcode */ XCB_XFIXES_SELECT_CURSOR_INPUT, 364 /* isvoid */ 1 365 }; 366 367 struct iovec xcb_parts[4]; 368 xcb_void_cookie_t xcb_ret; 369 xcb_xfixes_select_cursor_input_request_t xcb_out; 370 371 xcb_out.window = window; 372 xcb_out.event_mask = event_mask; 373 374 xcb_parts[2].iov_base = (char *) &xcb_out; 375 xcb_parts[2].iov_len = sizeof(xcb_out); 376 xcb_parts[3].iov_base = 0; 377 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 378 379 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 380 return xcb_ret; 381 } 382 383 int 384 xcb_xfixes_get_cursor_image_sizeof (const void *_buffer /**< */) 385 { 386 char *xcb_tmp = (char *)_buffer; 387 const xcb_xfixes_get_cursor_image_reply_t *_aux = (xcb_xfixes_get_cursor_image_reply_t *)_buffer; 388 unsigned int xcb_buffer_len = 0; 389 unsigned int xcb_block_len = 0; 390 unsigned int xcb_pad = 0; 391 unsigned int xcb_align_to; 392 393 394 xcb_block_len += sizeof(xcb_xfixes_get_cursor_image_reply_t); 395 xcb_tmp += xcb_block_len; 396 /* cursor_image */ 397 xcb_block_len += (_aux->width * _aux->height) * sizeof(uint32_t); 398 xcb_tmp += xcb_block_len; 399 xcb_align_to = ALIGNOF(uint32_t); 400 /* insert padding */ 401 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 402 xcb_buffer_len += xcb_block_len + xcb_pad; 403 if (0 != xcb_pad) { 404 xcb_tmp += xcb_pad; 405 xcb_pad = 0; 406 } 407 xcb_block_len = 0; 408 409 return xcb_buffer_len; 410 } 411 412 413 /***************************************************************************** 414 ** 415 ** xcb_xfixes_get_cursor_image_cookie_t xcb_xfixes_get_cursor_image 416 ** 417 ** @param xcb_connection_t *c 418 ** @returns xcb_xfixes_get_cursor_image_cookie_t 419 ** 420 *****************************************************************************/ 421 422 xcb_xfixes_get_cursor_image_cookie_t 423 xcb_xfixes_get_cursor_image (xcb_connection_t *c /**< */) 424 { 425 static const xcb_protocol_request_t xcb_req = { 426 /* count */ 2, 427 /* ext */ &xcb_xfixes_id, 428 /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE, 429 /* isvoid */ 0 430 }; 431 432 struct iovec xcb_parts[4]; 433 xcb_xfixes_get_cursor_image_cookie_t xcb_ret; 434 xcb_xfixes_get_cursor_image_request_t xcb_out; 435 436 437 xcb_parts[2].iov_base = (char *) &xcb_out; 438 xcb_parts[2].iov_len = sizeof(xcb_out); 439 xcb_parts[3].iov_base = 0; 440 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 441 442 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 443 return xcb_ret; 444 } 445 446 447 /***************************************************************************** 448 ** 449 ** xcb_xfixes_get_cursor_image_cookie_t xcb_xfixes_get_cursor_image_unchecked 450 ** 451 ** @param xcb_connection_t *c 452 ** @returns xcb_xfixes_get_cursor_image_cookie_t 453 ** 454 *****************************************************************************/ 455 456 xcb_xfixes_get_cursor_image_cookie_t 457 xcb_xfixes_get_cursor_image_unchecked (xcb_connection_t *c /**< */) 458 { 459 static const xcb_protocol_request_t xcb_req = { 460 /* count */ 2, 461 /* ext */ &xcb_xfixes_id, 462 /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE, 463 /* isvoid */ 0 464 }; 465 466 struct iovec xcb_parts[4]; 467 xcb_xfixes_get_cursor_image_cookie_t xcb_ret; 468 xcb_xfixes_get_cursor_image_request_t xcb_out; 469 470 471 xcb_parts[2].iov_base = (char *) &xcb_out; 472 xcb_parts[2].iov_len = sizeof(xcb_out); 473 xcb_parts[3].iov_base = 0; 474 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 475 476 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 477 return xcb_ret; 478 } 479 480 481 /***************************************************************************** 482 ** 483 ** uint32_t * xcb_xfixes_get_cursor_image_cursor_image 484 ** 485 ** @param const xcb_xfixes_get_cursor_image_reply_t *R 486 ** @returns uint32_t * 487 ** 488 *****************************************************************************/ 489 490 uint32_t * 491 xcb_xfixes_get_cursor_image_cursor_image (const xcb_xfixes_get_cursor_image_reply_t *R /**< */) 492 { 493 return (uint32_t *) (R + 1); 494 } 495 496 497 /***************************************************************************** 498 ** 499 ** int xcb_xfixes_get_cursor_image_cursor_image_length 500 ** 501 ** @param const xcb_xfixes_get_cursor_image_reply_t *R 502 ** @returns int 503 ** 504 *****************************************************************************/ 505 506 int 507 xcb_xfixes_get_cursor_image_cursor_image_length (const xcb_xfixes_get_cursor_image_reply_t *R /**< */) 508 { 509 return (R->width * R->height); 510 } 511 512 513 /***************************************************************************** 514 ** 515 ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_cursor_image_end 516 ** 517 ** @param const xcb_xfixes_get_cursor_image_reply_t *R 518 ** @returns xcb_generic_iterator_t 519 ** 520 *****************************************************************************/ 521 522 xcb_generic_iterator_t 523 xcb_xfixes_get_cursor_image_cursor_image_end (const xcb_xfixes_get_cursor_image_reply_t *R /**< */) 524 { 525 xcb_generic_iterator_t i; 526 i.data = ((uint32_t *) (R + 1)) + ((R->width * R->height)); 527 i.rem = 0; 528 i.index = (char *) i.data - (char *) R; 529 return i; 530 } 531 532 533 /***************************************************************************** 534 ** 535 ** xcb_xfixes_get_cursor_image_reply_t * xcb_xfixes_get_cursor_image_reply 536 ** 537 ** @param xcb_connection_t *c 538 ** @param xcb_xfixes_get_cursor_image_cookie_t cookie 539 ** @param xcb_generic_error_t **e 540 ** @returns xcb_xfixes_get_cursor_image_reply_t * 541 ** 542 *****************************************************************************/ 543 544 xcb_xfixes_get_cursor_image_reply_t * 545 xcb_xfixes_get_cursor_image_reply (xcb_connection_t *c /**< */, 546 xcb_xfixes_get_cursor_image_cookie_t cookie /**< */, 547 xcb_generic_error_t **e /**< */) 548 { 549 return (xcb_xfixes_get_cursor_image_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 550 } 551 552 553 /***************************************************************************** 554 ** 555 ** void xcb_xfixes_region_next 556 ** 557 ** @param xcb_xfixes_region_iterator_t *i 558 ** @returns void 559 ** 560 *****************************************************************************/ 561 562 void 563 xcb_xfixes_region_next (xcb_xfixes_region_iterator_t *i /**< */) 564 { 565 --i->rem; 566 ++i->data; 567 i->index += sizeof(xcb_xfixes_region_t); 568 } 569 570 571 /***************************************************************************** 572 ** 573 ** xcb_generic_iterator_t xcb_xfixes_region_end 574 ** 575 ** @param xcb_xfixes_region_iterator_t i 576 ** @returns xcb_generic_iterator_t 577 ** 578 *****************************************************************************/ 579 580 xcb_generic_iterator_t 581 xcb_xfixes_region_end (xcb_xfixes_region_iterator_t i /**< */) 582 { 583 xcb_generic_iterator_t ret; 584 ret.data = i.data + i.rem; 585 ret.index = i.index + ((char *) ret.data - (char *) i.data); 586 ret.rem = 0; 587 return ret; 588 } 589 590 int 591 xcb_xfixes_create_region_sizeof (const void *_buffer /**< */, 592 uint32_t rectangles_len /**< */) 593 { 594 char *xcb_tmp = (char *)_buffer; 595 unsigned int xcb_buffer_len = 0; 596 unsigned int xcb_block_len = 0; 597 unsigned int xcb_pad = 0; 598 unsigned int xcb_align_to; 599 600 601 xcb_block_len += sizeof(xcb_xfixes_create_region_request_t); 602 xcb_tmp += xcb_block_len; 603 /* rectangles */ 604 xcb_block_len += rectangles_len * sizeof(xcb_rectangle_t); 605 xcb_tmp += xcb_block_len; 606 xcb_align_to = ALIGNOF(xcb_rectangle_t); 607 /* insert padding */ 608 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 609 xcb_buffer_len += xcb_block_len + xcb_pad; 610 if (0 != xcb_pad) { 611 xcb_tmp += xcb_pad; 612 xcb_pad = 0; 613 } 614 xcb_block_len = 0; 615 616 return xcb_buffer_len; 617 } 618 619 620 /***************************************************************************** 621 ** 622 ** xcb_void_cookie_t xcb_xfixes_create_region_checked 623 ** 624 ** @param xcb_connection_t *c 625 ** @param xcb_xfixes_region_t region 626 ** @param uint32_t rectangles_len 627 ** @param const xcb_rectangle_t *rectangles 628 ** @returns xcb_void_cookie_t 629 ** 630 *****************************************************************************/ 631 632 xcb_void_cookie_t 633 xcb_xfixes_create_region_checked (xcb_connection_t *c /**< */, 634 xcb_xfixes_region_t region /**< */, 635 uint32_t rectangles_len /**< */, 636 const xcb_rectangle_t *rectangles /**< */) 637 { 638 static const xcb_protocol_request_t xcb_req = { 639 /* count */ 4, 640 /* ext */ &xcb_xfixes_id, 641 /* opcode */ XCB_XFIXES_CREATE_REGION, 642 /* isvoid */ 1 643 }; 644 645 struct iovec xcb_parts[6]; 646 xcb_void_cookie_t xcb_ret; 647 xcb_xfixes_create_region_request_t xcb_out; 648 649 xcb_out.region = region; 650 651 xcb_parts[2].iov_base = (char *) &xcb_out; 652 xcb_parts[2].iov_len = sizeof(xcb_out); 653 xcb_parts[3].iov_base = 0; 654 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 655 /* xcb_rectangle_t rectangles */ 656 xcb_parts[4].iov_base = (char *) rectangles; 657 xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t); 658 xcb_parts[5].iov_base = 0; 659 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 660 661 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 662 return xcb_ret; 663 } 664 665 666 /***************************************************************************** 667 ** 668 ** xcb_void_cookie_t xcb_xfixes_create_region 669 ** 670 ** @param xcb_connection_t *c 671 ** @param xcb_xfixes_region_t region 672 ** @param uint32_t rectangles_len 673 ** @param const xcb_rectangle_t *rectangles 674 ** @returns xcb_void_cookie_t 675 ** 676 *****************************************************************************/ 677 678 xcb_void_cookie_t 679 xcb_xfixes_create_region (xcb_connection_t *c /**< */, 680 xcb_xfixes_region_t region /**< */, 681 uint32_t rectangles_len /**< */, 682 const xcb_rectangle_t *rectangles /**< */) 683 { 684 static const xcb_protocol_request_t xcb_req = { 685 /* count */ 4, 686 /* ext */ &xcb_xfixes_id, 687 /* opcode */ XCB_XFIXES_CREATE_REGION, 688 /* isvoid */ 1 689 }; 690 691 struct iovec xcb_parts[6]; 692 xcb_void_cookie_t xcb_ret; 693 xcb_xfixes_create_region_request_t xcb_out; 694 695 xcb_out.region = region; 696 697 xcb_parts[2].iov_base = (char *) &xcb_out; 698 xcb_parts[2].iov_len = sizeof(xcb_out); 699 xcb_parts[3].iov_base = 0; 700 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 701 /* xcb_rectangle_t rectangles */ 702 xcb_parts[4].iov_base = (char *) rectangles; 703 xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t); 704 xcb_parts[5].iov_base = 0; 705 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 706 707 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 708 return xcb_ret; 709 } 710 711 712 /***************************************************************************** 713 ** 714 ** xcb_void_cookie_t xcb_xfixes_create_region_from_bitmap_checked 715 ** 716 ** @param xcb_connection_t *c 717 ** @param xcb_xfixes_region_t region 718 ** @param xcb_pixmap_t bitmap 719 ** @returns xcb_void_cookie_t 720 ** 721 *****************************************************************************/ 722 723 xcb_void_cookie_t 724 xcb_xfixes_create_region_from_bitmap_checked (xcb_connection_t *c /**< */, 725 xcb_xfixes_region_t region /**< */, 726 xcb_pixmap_t bitmap /**< */) 727 { 728 static const xcb_protocol_request_t xcb_req = { 729 /* count */ 2, 730 /* ext */ &xcb_xfixes_id, 731 /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_BITMAP, 732 /* isvoid */ 1 733 }; 734 735 struct iovec xcb_parts[4]; 736 xcb_void_cookie_t xcb_ret; 737 xcb_xfixes_create_region_from_bitmap_request_t xcb_out; 738 739 xcb_out.region = region; 740 xcb_out.bitmap = bitmap; 741 742 xcb_parts[2].iov_base = (char *) &xcb_out; 743 xcb_parts[2].iov_len = sizeof(xcb_out); 744 xcb_parts[3].iov_base = 0; 745 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 746 747 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 748 return xcb_ret; 749 } 750 751 752 /***************************************************************************** 753 ** 754 ** xcb_void_cookie_t xcb_xfixes_create_region_from_bitmap 755 ** 756 ** @param xcb_connection_t *c 757 ** @param xcb_xfixes_region_t region 758 ** @param xcb_pixmap_t bitmap 759 ** @returns xcb_void_cookie_t 760 ** 761 *****************************************************************************/ 762 763 xcb_void_cookie_t 764 xcb_xfixes_create_region_from_bitmap (xcb_connection_t *c /**< */, 765 xcb_xfixes_region_t region /**< */, 766 xcb_pixmap_t bitmap /**< */) 767 { 768 static const xcb_protocol_request_t xcb_req = { 769 /* count */ 2, 770 /* ext */ &xcb_xfixes_id, 771 /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_BITMAP, 772 /* isvoid */ 1 773 }; 774 775 struct iovec xcb_parts[4]; 776 xcb_void_cookie_t xcb_ret; 777 xcb_xfixes_create_region_from_bitmap_request_t xcb_out; 778 779 xcb_out.region = region; 780 xcb_out.bitmap = bitmap; 781 782 xcb_parts[2].iov_base = (char *) &xcb_out; 783 xcb_parts[2].iov_len = sizeof(xcb_out); 784 xcb_parts[3].iov_base = 0; 785 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 786 787 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 788 return xcb_ret; 789 } 790 791 792 /***************************************************************************** 793 ** 794 ** xcb_void_cookie_t xcb_xfixes_create_region_from_window_checked 795 ** 796 ** @param xcb_connection_t *c 797 ** @param xcb_xfixes_region_t region 798 ** @param xcb_window_t window 799 ** @param xcb_shape_kind_t kind 800 ** @returns xcb_void_cookie_t 801 ** 802 *****************************************************************************/ 803 804 xcb_void_cookie_t 805 xcb_xfixes_create_region_from_window_checked (xcb_connection_t *c /**< */, 806 xcb_xfixes_region_t region /**< */, 807 xcb_window_t window /**< */, 808 xcb_shape_kind_t kind /**< */) 809 { 810 static const xcb_protocol_request_t xcb_req = { 811 /* count */ 2, 812 /* ext */ &xcb_xfixes_id, 813 /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_WINDOW, 814 /* isvoid */ 1 815 }; 816 817 struct iovec xcb_parts[4]; 818 xcb_void_cookie_t xcb_ret; 819 xcb_xfixes_create_region_from_window_request_t xcb_out; 820 821 xcb_out.region = region; 822 xcb_out.window = window; 823 xcb_out.kind = kind; 824 memset(xcb_out.pad0, 0, 3); 825 826 xcb_parts[2].iov_base = (char *) &xcb_out; 827 xcb_parts[2].iov_len = sizeof(xcb_out); 828 xcb_parts[3].iov_base = 0; 829 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 830 831 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 832 return xcb_ret; 833 } 834 835 836 /***************************************************************************** 837 ** 838 ** xcb_void_cookie_t xcb_xfixes_create_region_from_window 839 ** 840 ** @param xcb_connection_t *c 841 ** @param xcb_xfixes_region_t region 842 ** @param xcb_window_t window 843 ** @param xcb_shape_kind_t kind 844 ** @returns xcb_void_cookie_t 845 ** 846 *****************************************************************************/ 847 848 xcb_void_cookie_t 849 xcb_xfixes_create_region_from_window (xcb_connection_t *c /**< */, 850 xcb_xfixes_region_t region /**< */, 851 xcb_window_t window /**< */, 852 xcb_shape_kind_t kind /**< */) 853 { 854 static const xcb_protocol_request_t xcb_req = { 855 /* count */ 2, 856 /* ext */ &xcb_xfixes_id, 857 /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_WINDOW, 858 /* isvoid */ 1 859 }; 860 861 struct iovec xcb_parts[4]; 862 xcb_void_cookie_t xcb_ret; 863 xcb_xfixes_create_region_from_window_request_t xcb_out; 864 865 xcb_out.region = region; 866 xcb_out.window = window; 867 xcb_out.kind = kind; 868 memset(xcb_out.pad0, 0, 3); 869 870 xcb_parts[2].iov_base = (char *) &xcb_out; 871 xcb_parts[2].iov_len = sizeof(xcb_out); 872 xcb_parts[3].iov_base = 0; 873 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 874 875 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 876 return xcb_ret; 877 } 878 879 880 /***************************************************************************** 881 ** 882 ** xcb_void_cookie_t xcb_xfixes_create_region_from_gc_checked 883 ** 884 ** @param xcb_connection_t *c 885 ** @param xcb_xfixes_region_t region 886 ** @param xcb_gcontext_t gc 887 ** @returns xcb_void_cookie_t 888 ** 889 *****************************************************************************/ 890 891 xcb_void_cookie_t 892 xcb_xfixes_create_region_from_gc_checked (xcb_connection_t *c /**< */, 893 xcb_xfixes_region_t region /**< */, 894 xcb_gcontext_t gc /**< */) 895 { 896 static const xcb_protocol_request_t xcb_req = { 897 /* count */ 2, 898 /* ext */ &xcb_xfixes_id, 899 /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_GC, 900 /* isvoid */ 1 901 }; 902 903 struct iovec xcb_parts[4]; 904 xcb_void_cookie_t xcb_ret; 905 xcb_xfixes_create_region_from_gc_request_t xcb_out; 906 907 xcb_out.region = region; 908 xcb_out.gc = gc; 909 910 xcb_parts[2].iov_base = (char *) &xcb_out; 911 xcb_parts[2].iov_len = sizeof(xcb_out); 912 xcb_parts[3].iov_base = 0; 913 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 914 915 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 916 return xcb_ret; 917 } 918 919 920 /***************************************************************************** 921 ** 922 ** xcb_void_cookie_t xcb_xfixes_create_region_from_gc 923 ** 924 ** @param xcb_connection_t *c 925 ** @param xcb_xfixes_region_t region 926 ** @param xcb_gcontext_t gc 927 ** @returns xcb_void_cookie_t 928 ** 929 *****************************************************************************/ 930 931 xcb_void_cookie_t 932 xcb_xfixes_create_region_from_gc (xcb_connection_t *c /**< */, 933 xcb_xfixes_region_t region /**< */, 934 xcb_gcontext_t gc /**< */) 935 { 936 static const xcb_protocol_request_t xcb_req = { 937 /* count */ 2, 938 /* ext */ &xcb_xfixes_id, 939 /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_GC, 940 /* isvoid */ 1 941 }; 942 943 struct iovec xcb_parts[4]; 944 xcb_void_cookie_t xcb_ret; 945 xcb_xfixes_create_region_from_gc_request_t xcb_out; 946 947 xcb_out.region = region; 948 xcb_out.gc = gc; 949 950 xcb_parts[2].iov_base = (char *) &xcb_out; 951 xcb_parts[2].iov_len = sizeof(xcb_out); 952 xcb_parts[3].iov_base = 0; 953 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 954 955 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 956 return xcb_ret; 957 } 958 959 960 /***************************************************************************** 961 ** 962 ** xcb_void_cookie_t xcb_xfixes_create_region_from_picture_checked 963 ** 964 ** @param xcb_connection_t *c 965 ** @param xcb_xfixes_region_t region 966 ** @param xcb_render_picture_t picture 967 ** @returns xcb_void_cookie_t 968 ** 969 *****************************************************************************/ 970 971 xcb_void_cookie_t 972 xcb_xfixes_create_region_from_picture_checked (xcb_connection_t *c /**< */, 973 xcb_xfixes_region_t region /**< */, 974 xcb_render_picture_t picture /**< */) 975 { 976 static const xcb_protocol_request_t xcb_req = { 977 /* count */ 2, 978 /* ext */ &xcb_xfixes_id, 979 /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_PICTURE, 980 /* isvoid */ 1 981 }; 982 983 struct iovec xcb_parts[4]; 984 xcb_void_cookie_t xcb_ret; 985 xcb_xfixes_create_region_from_picture_request_t xcb_out; 986 987 xcb_out.region = region; 988 xcb_out.picture = picture; 989 990 xcb_parts[2].iov_base = (char *) &xcb_out; 991 xcb_parts[2].iov_len = sizeof(xcb_out); 992 xcb_parts[3].iov_base = 0; 993 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 994 995 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 996 return xcb_ret; 997 } 998 999 1000 /***************************************************************************** 1001 ** 1002 ** xcb_void_cookie_t xcb_xfixes_create_region_from_picture 1003 ** 1004 ** @param xcb_connection_t *c 1005 ** @param xcb_xfixes_region_t region 1006 ** @param xcb_render_picture_t picture 1007 ** @returns xcb_void_cookie_t 1008 ** 1009 *****************************************************************************/ 1010 1011 xcb_void_cookie_t 1012 xcb_xfixes_create_region_from_picture (xcb_connection_t *c /**< */, 1013 xcb_xfixes_region_t region /**< */, 1014 xcb_render_picture_t picture /**< */) 1015 { 1016 static const xcb_protocol_request_t xcb_req = { 1017 /* count */ 2, 1018 /* ext */ &xcb_xfixes_id, 1019 /* opcode */ XCB_XFIXES_CREATE_REGION_FROM_PICTURE, 1020 /* isvoid */ 1 1021 }; 1022 1023 struct iovec xcb_parts[4]; 1024 xcb_void_cookie_t xcb_ret; 1025 xcb_xfixes_create_region_from_picture_request_t xcb_out; 1026 1027 xcb_out.region = region; 1028 xcb_out.picture = picture; 1029 1030 xcb_parts[2].iov_base = (char *) &xcb_out; 1031 xcb_parts[2].iov_len = sizeof(xcb_out); 1032 xcb_parts[3].iov_base = 0; 1033 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1034 1035 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1036 return xcb_ret; 1037 } 1038 1039 1040 /***************************************************************************** 1041 ** 1042 ** xcb_void_cookie_t xcb_xfixes_destroy_region_checked 1043 ** 1044 ** @param xcb_connection_t *c 1045 ** @param xcb_xfixes_region_t region 1046 ** @returns xcb_void_cookie_t 1047 ** 1048 *****************************************************************************/ 1049 1050 xcb_void_cookie_t 1051 xcb_xfixes_destroy_region_checked (xcb_connection_t *c /**< */, 1052 xcb_xfixes_region_t region /**< */) 1053 { 1054 static const xcb_protocol_request_t xcb_req = { 1055 /* count */ 2, 1056 /* ext */ &xcb_xfixes_id, 1057 /* opcode */ XCB_XFIXES_DESTROY_REGION, 1058 /* isvoid */ 1 1059 }; 1060 1061 struct iovec xcb_parts[4]; 1062 xcb_void_cookie_t xcb_ret; 1063 xcb_xfixes_destroy_region_request_t xcb_out; 1064 1065 xcb_out.region = region; 1066 1067 xcb_parts[2].iov_base = (char *) &xcb_out; 1068 xcb_parts[2].iov_len = sizeof(xcb_out); 1069 xcb_parts[3].iov_base = 0; 1070 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1071 1072 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1073 return xcb_ret; 1074 } 1075 1076 1077 /***************************************************************************** 1078 ** 1079 ** xcb_void_cookie_t xcb_xfixes_destroy_region 1080 ** 1081 ** @param xcb_connection_t *c 1082 ** @param xcb_xfixes_region_t region 1083 ** @returns xcb_void_cookie_t 1084 ** 1085 *****************************************************************************/ 1086 1087 xcb_void_cookie_t 1088 xcb_xfixes_destroy_region (xcb_connection_t *c /**< */, 1089 xcb_xfixes_region_t region /**< */) 1090 { 1091 static const xcb_protocol_request_t xcb_req = { 1092 /* count */ 2, 1093 /* ext */ &xcb_xfixes_id, 1094 /* opcode */ XCB_XFIXES_DESTROY_REGION, 1095 /* isvoid */ 1 1096 }; 1097 1098 struct iovec xcb_parts[4]; 1099 xcb_void_cookie_t xcb_ret; 1100 xcb_xfixes_destroy_region_request_t xcb_out; 1101 1102 xcb_out.region = region; 1103 1104 xcb_parts[2].iov_base = (char *) &xcb_out; 1105 xcb_parts[2].iov_len = sizeof(xcb_out); 1106 xcb_parts[3].iov_base = 0; 1107 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1108 1109 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1110 return xcb_ret; 1111 } 1112 1113 int 1114 xcb_xfixes_set_region_sizeof (const void *_buffer /**< */, 1115 uint32_t rectangles_len /**< */) 1116 { 1117 char *xcb_tmp = (char *)_buffer; 1118 unsigned int xcb_buffer_len = 0; 1119 unsigned int xcb_block_len = 0; 1120 unsigned int xcb_pad = 0; 1121 unsigned int xcb_align_to; 1122 1123 1124 xcb_block_len += sizeof(xcb_xfixes_set_region_request_t); 1125 xcb_tmp += xcb_block_len; 1126 /* rectangles */ 1127 xcb_block_len += rectangles_len * sizeof(xcb_rectangle_t); 1128 xcb_tmp += xcb_block_len; 1129 xcb_align_to = ALIGNOF(xcb_rectangle_t); 1130 /* insert padding */ 1131 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 1132 xcb_buffer_len += xcb_block_len + xcb_pad; 1133 if (0 != xcb_pad) { 1134 xcb_tmp += xcb_pad; 1135 xcb_pad = 0; 1136 } 1137 xcb_block_len = 0; 1138 1139 return xcb_buffer_len; 1140 } 1141 1142 1143 /***************************************************************************** 1144 ** 1145 ** xcb_void_cookie_t xcb_xfixes_set_region_checked 1146 ** 1147 ** @param xcb_connection_t *c 1148 ** @param xcb_xfixes_region_t region 1149 ** @param uint32_t rectangles_len 1150 ** @param const xcb_rectangle_t *rectangles 1151 ** @returns xcb_void_cookie_t 1152 ** 1153 *****************************************************************************/ 1154 1155 xcb_void_cookie_t 1156 xcb_xfixes_set_region_checked (xcb_connection_t *c /**< */, 1157 xcb_xfixes_region_t region /**< */, 1158 uint32_t rectangles_len /**< */, 1159 const xcb_rectangle_t *rectangles /**< */) 1160 { 1161 static const xcb_protocol_request_t xcb_req = { 1162 /* count */ 4, 1163 /* ext */ &xcb_xfixes_id, 1164 /* opcode */ XCB_XFIXES_SET_REGION, 1165 /* isvoid */ 1 1166 }; 1167 1168 struct iovec xcb_parts[6]; 1169 xcb_void_cookie_t xcb_ret; 1170 xcb_xfixes_set_region_request_t xcb_out; 1171 1172 xcb_out.region = region; 1173 1174 xcb_parts[2].iov_base = (char *) &xcb_out; 1175 xcb_parts[2].iov_len = sizeof(xcb_out); 1176 xcb_parts[3].iov_base = 0; 1177 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1178 /* xcb_rectangle_t rectangles */ 1179 xcb_parts[4].iov_base = (char *) rectangles; 1180 xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t); 1181 xcb_parts[5].iov_base = 0; 1182 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1183 1184 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1185 return xcb_ret; 1186 } 1187 1188 1189 /***************************************************************************** 1190 ** 1191 ** xcb_void_cookie_t xcb_xfixes_set_region 1192 ** 1193 ** @param xcb_connection_t *c 1194 ** @param xcb_xfixes_region_t region 1195 ** @param uint32_t rectangles_len 1196 ** @param const xcb_rectangle_t *rectangles 1197 ** @returns xcb_void_cookie_t 1198 ** 1199 *****************************************************************************/ 1200 1201 xcb_void_cookie_t 1202 xcb_xfixes_set_region (xcb_connection_t *c /**< */, 1203 xcb_xfixes_region_t region /**< */, 1204 uint32_t rectangles_len /**< */, 1205 const xcb_rectangle_t *rectangles /**< */) 1206 { 1207 static const xcb_protocol_request_t xcb_req = { 1208 /* count */ 4, 1209 /* ext */ &xcb_xfixes_id, 1210 /* opcode */ XCB_XFIXES_SET_REGION, 1211 /* isvoid */ 1 1212 }; 1213 1214 struct iovec xcb_parts[6]; 1215 xcb_void_cookie_t xcb_ret; 1216 xcb_xfixes_set_region_request_t xcb_out; 1217 1218 xcb_out.region = region; 1219 1220 xcb_parts[2].iov_base = (char *) &xcb_out; 1221 xcb_parts[2].iov_len = sizeof(xcb_out); 1222 xcb_parts[3].iov_base = 0; 1223 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1224 /* xcb_rectangle_t rectangles */ 1225 xcb_parts[4].iov_base = (char *) rectangles; 1226 xcb_parts[4].iov_len = rectangles_len * sizeof(xcb_rectangle_t); 1227 xcb_parts[5].iov_base = 0; 1228 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 1229 1230 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1231 return xcb_ret; 1232 } 1233 1234 1235 /***************************************************************************** 1236 ** 1237 ** xcb_void_cookie_t xcb_xfixes_copy_region_checked 1238 ** 1239 ** @param xcb_connection_t *c 1240 ** @param xcb_xfixes_region_t source 1241 ** @param xcb_xfixes_region_t destination 1242 ** @returns xcb_void_cookie_t 1243 ** 1244 *****************************************************************************/ 1245 1246 xcb_void_cookie_t 1247 xcb_xfixes_copy_region_checked (xcb_connection_t *c /**< */, 1248 xcb_xfixes_region_t source /**< */, 1249 xcb_xfixes_region_t destination /**< */) 1250 { 1251 static const xcb_protocol_request_t xcb_req = { 1252 /* count */ 2, 1253 /* ext */ &xcb_xfixes_id, 1254 /* opcode */ XCB_XFIXES_COPY_REGION, 1255 /* isvoid */ 1 1256 }; 1257 1258 struct iovec xcb_parts[4]; 1259 xcb_void_cookie_t xcb_ret; 1260 xcb_xfixes_copy_region_request_t xcb_out; 1261 1262 xcb_out.source = source; 1263 xcb_out.destination = destination; 1264 1265 xcb_parts[2].iov_base = (char *) &xcb_out; 1266 xcb_parts[2].iov_len = sizeof(xcb_out); 1267 xcb_parts[3].iov_base = 0; 1268 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1269 1270 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1271 return xcb_ret; 1272 } 1273 1274 1275 /***************************************************************************** 1276 ** 1277 ** xcb_void_cookie_t xcb_xfixes_copy_region 1278 ** 1279 ** @param xcb_connection_t *c 1280 ** @param xcb_xfixes_region_t source 1281 ** @param xcb_xfixes_region_t destination 1282 ** @returns xcb_void_cookie_t 1283 ** 1284 *****************************************************************************/ 1285 1286 xcb_void_cookie_t 1287 xcb_xfixes_copy_region (xcb_connection_t *c /**< */, 1288 xcb_xfixes_region_t source /**< */, 1289 xcb_xfixes_region_t destination /**< */) 1290 { 1291 static const xcb_protocol_request_t xcb_req = { 1292 /* count */ 2, 1293 /* ext */ &xcb_xfixes_id, 1294 /* opcode */ XCB_XFIXES_COPY_REGION, 1295 /* isvoid */ 1 1296 }; 1297 1298 struct iovec xcb_parts[4]; 1299 xcb_void_cookie_t xcb_ret; 1300 xcb_xfixes_copy_region_request_t xcb_out; 1301 1302 xcb_out.source = source; 1303 xcb_out.destination = destination; 1304 1305 xcb_parts[2].iov_base = (char *) &xcb_out; 1306 xcb_parts[2].iov_len = sizeof(xcb_out); 1307 xcb_parts[3].iov_base = 0; 1308 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1309 1310 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1311 return xcb_ret; 1312 } 1313 1314 1315 /***************************************************************************** 1316 ** 1317 ** xcb_void_cookie_t xcb_xfixes_union_region_checked 1318 ** 1319 ** @param xcb_connection_t *c 1320 ** @param xcb_xfixes_region_t source1 1321 ** @param xcb_xfixes_region_t source2 1322 ** @param xcb_xfixes_region_t destination 1323 ** @returns xcb_void_cookie_t 1324 ** 1325 *****************************************************************************/ 1326 1327 xcb_void_cookie_t 1328 xcb_xfixes_union_region_checked (xcb_connection_t *c /**< */, 1329 xcb_xfixes_region_t source1 /**< */, 1330 xcb_xfixes_region_t source2 /**< */, 1331 xcb_xfixes_region_t destination /**< */) 1332 { 1333 static const xcb_protocol_request_t xcb_req = { 1334 /* count */ 2, 1335 /* ext */ &xcb_xfixes_id, 1336 /* opcode */ XCB_XFIXES_UNION_REGION, 1337 /* isvoid */ 1 1338 }; 1339 1340 struct iovec xcb_parts[4]; 1341 xcb_void_cookie_t xcb_ret; 1342 xcb_xfixes_union_region_request_t xcb_out; 1343 1344 xcb_out.source1 = source1; 1345 xcb_out.source2 = source2; 1346 xcb_out.destination = destination; 1347 1348 xcb_parts[2].iov_base = (char *) &xcb_out; 1349 xcb_parts[2].iov_len = sizeof(xcb_out); 1350 xcb_parts[3].iov_base = 0; 1351 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1352 1353 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1354 return xcb_ret; 1355 } 1356 1357 1358 /***************************************************************************** 1359 ** 1360 ** xcb_void_cookie_t xcb_xfixes_union_region 1361 ** 1362 ** @param xcb_connection_t *c 1363 ** @param xcb_xfixes_region_t source1 1364 ** @param xcb_xfixes_region_t source2 1365 ** @param xcb_xfixes_region_t destination 1366 ** @returns xcb_void_cookie_t 1367 ** 1368 *****************************************************************************/ 1369 1370 xcb_void_cookie_t 1371 xcb_xfixes_union_region (xcb_connection_t *c /**< */, 1372 xcb_xfixes_region_t source1 /**< */, 1373 xcb_xfixes_region_t source2 /**< */, 1374 xcb_xfixes_region_t destination /**< */) 1375 { 1376 static const xcb_protocol_request_t xcb_req = { 1377 /* count */ 2, 1378 /* ext */ &xcb_xfixes_id, 1379 /* opcode */ XCB_XFIXES_UNION_REGION, 1380 /* isvoid */ 1 1381 }; 1382 1383 struct iovec xcb_parts[4]; 1384 xcb_void_cookie_t xcb_ret; 1385 xcb_xfixes_union_region_request_t xcb_out; 1386 1387 xcb_out.source1 = source1; 1388 xcb_out.source2 = source2; 1389 xcb_out.destination = destination; 1390 1391 xcb_parts[2].iov_base = (char *) &xcb_out; 1392 xcb_parts[2].iov_len = sizeof(xcb_out); 1393 xcb_parts[3].iov_base = 0; 1394 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1395 1396 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1397 return xcb_ret; 1398 } 1399 1400 1401 /***************************************************************************** 1402 ** 1403 ** xcb_void_cookie_t xcb_xfixes_intersect_region_checked 1404 ** 1405 ** @param xcb_connection_t *c 1406 ** @param xcb_xfixes_region_t source1 1407 ** @param xcb_xfixes_region_t source2 1408 ** @param xcb_xfixes_region_t destination 1409 ** @returns xcb_void_cookie_t 1410 ** 1411 *****************************************************************************/ 1412 1413 xcb_void_cookie_t 1414 xcb_xfixes_intersect_region_checked (xcb_connection_t *c /**< */, 1415 xcb_xfixes_region_t source1 /**< */, 1416 xcb_xfixes_region_t source2 /**< */, 1417 xcb_xfixes_region_t destination /**< */) 1418 { 1419 static const xcb_protocol_request_t xcb_req = { 1420 /* count */ 2, 1421 /* ext */ &xcb_xfixes_id, 1422 /* opcode */ XCB_XFIXES_INTERSECT_REGION, 1423 /* isvoid */ 1 1424 }; 1425 1426 struct iovec xcb_parts[4]; 1427 xcb_void_cookie_t xcb_ret; 1428 xcb_xfixes_intersect_region_request_t xcb_out; 1429 1430 xcb_out.source1 = source1; 1431 xcb_out.source2 = source2; 1432 xcb_out.destination = destination; 1433 1434 xcb_parts[2].iov_base = (char *) &xcb_out; 1435 xcb_parts[2].iov_len = sizeof(xcb_out); 1436 xcb_parts[3].iov_base = 0; 1437 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1438 1439 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1440 return xcb_ret; 1441 } 1442 1443 1444 /***************************************************************************** 1445 ** 1446 ** xcb_void_cookie_t xcb_xfixes_intersect_region 1447 ** 1448 ** @param xcb_connection_t *c 1449 ** @param xcb_xfixes_region_t source1 1450 ** @param xcb_xfixes_region_t source2 1451 ** @param xcb_xfixes_region_t destination 1452 ** @returns xcb_void_cookie_t 1453 ** 1454 *****************************************************************************/ 1455 1456 xcb_void_cookie_t 1457 xcb_xfixes_intersect_region (xcb_connection_t *c /**< */, 1458 xcb_xfixes_region_t source1 /**< */, 1459 xcb_xfixes_region_t source2 /**< */, 1460 xcb_xfixes_region_t destination /**< */) 1461 { 1462 static const xcb_protocol_request_t xcb_req = { 1463 /* count */ 2, 1464 /* ext */ &xcb_xfixes_id, 1465 /* opcode */ XCB_XFIXES_INTERSECT_REGION, 1466 /* isvoid */ 1 1467 }; 1468 1469 struct iovec xcb_parts[4]; 1470 xcb_void_cookie_t xcb_ret; 1471 xcb_xfixes_intersect_region_request_t xcb_out; 1472 1473 xcb_out.source1 = source1; 1474 xcb_out.source2 = source2; 1475 xcb_out.destination = destination; 1476 1477 xcb_parts[2].iov_base = (char *) &xcb_out; 1478 xcb_parts[2].iov_len = sizeof(xcb_out); 1479 xcb_parts[3].iov_base = 0; 1480 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1481 1482 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1483 return xcb_ret; 1484 } 1485 1486 1487 /***************************************************************************** 1488 ** 1489 ** xcb_void_cookie_t xcb_xfixes_subtract_region_checked 1490 ** 1491 ** @param xcb_connection_t *c 1492 ** @param xcb_xfixes_region_t source1 1493 ** @param xcb_xfixes_region_t source2 1494 ** @param xcb_xfixes_region_t destination 1495 ** @returns xcb_void_cookie_t 1496 ** 1497 *****************************************************************************/ 1498 1499 xcb_void_cookie_t 1500 xcb_xfixes_subtract_region_checked (xcb_connection_t *c /**< */, 1501 xcb_xfixes_region_t source1 /**< */, 1502 xcb_xfixes_region_t source2 /**< */, 1503 xcb_xfixes_region_t destination /**< */) 1504 { 1505 static const xcb_protocol_request_t xcb_req = { 1506 /* count */ 2, 1507 /* ext */ &xcb_xfixes_id, 1508 /* opcode */ XCB_XFIXES_SUBTRACT_REGION, 1509 /* isvoid */ 1 1510 }; 1511 1512 struct iovec xcb_parts[4]; 1513 xcb_void_cookie_t xcb_ret; 1514 xcb_xfixes_subtract_region_request_t xcb_out; 1515 1516 xcb_out.source1 = source1; 1517 xcb_out.source2 = source2; 1518 xcb_out.destination = destination; 1519 1520 xcb_parts[2].iov_base = (char *) &xcb_out; 1521 xcb_parts[2].iov_len = sizeof(xcb_out); 1522 xcb_parts[3].iov_base = 0; 1523 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1524 1525 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1526 return xcb_ret; 1527 } 1528 1529 1530 /***************************************************************************** 1531 ** 1532 ** xcb_void_cookie_t xcb_xfixes_subtract_region 1533 ** 1534 ** @param xcb_connection_t *c 1535 ** @param xcb_xfixes_region_t source1 1536 ** @param xcb_xfixes_region_t source2 1537 ** @param xcb_xfixes_region_t destination 1538 ** @returns xcb_void_cookie_t 1539 ** 1540 *****************************************************************************/ 1541 1542 xcb_void_cookie_t 1543 xcb_xfixes_subtract_region (xcb_connection_t *c /**< */, 1544 xcb_xfixes_region_t source1 /**< */, 1545 xcb_xfixes_region_t source2 /**< */, 1546 xcb_xfixes_region_t destination /**< */) 1547 { 1548 static const xcb_protocol_request_t xcb_req = { 1549 /* count */ 2, 1550 /* ext */ &xcb_xfixes_id, 1551 /* opcode */ XCB_XFIXES_SUBTRACT_REGION, 1552 /* isvoid */ 1 1553 }; 1554 1555 struct iovec xcb_parts[4]; 1556 xcb_void_cookie_t xcb_ret; 1557 xcb_xfixes_subtract_region_request_t xcb_out; 1558 1559 xcb_out.source1 = source1; 1560 xcb_out.source2 = source2; 1561 xcb_out.destination = destination; 1562 1563 xcb_parts[2].iov_base = (char *) &xcb_out; 1564 xcb_parts[2].iov_len = sizeof(xcb_out); 1565 xcb_parts[3].iov_base = 0; 1566 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1567 1568 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1569 return xcb_ret; 1570 } 1571 1572 1573 /***************************************************************************** 1574 ** 1575 ** xcb_void_cookie_t xcb_xfixes_invert_region_checked 1576 ** 1577 ** @param xcb_connection_t *c 1578 ** @param xcb_xfixes_region_t source 1579 ** @param xcb_rectangle_t bounds 1580 ** @param xcb_xfixes_region_t destination 1581 ** @returns xcb_void_cookie_t 1582 ** 1583 *****************************************************************************/ 1584 1585 xcb_void_cookie_t 1586 xcb_xfixes_invert_region_checked (xcb_connection_t *c /**< */, 1587 xcb_xfixes_region_t source /**< */, 1588 xcb_rectangle_t bounds /**< */, 1589 xcb_xfixes_region_t destination /**< */) 1590 { 1591 static const xcb_protocol_request_t xcb_req = { 1592 /* count */ 2, 1593 /* ext */ &xcb_xfixes_id, 1594 /* opcode */ XCB_XFIXES_INVERT_REGION, 1595 /* isvoid */ 1 1596 }; 1597 1598 struct iovec xcb_parts[4]; 1599 xcb_void_cookie_t xcb_ret; 1600 xcb_xfixes_invert_region_request_t xcb_out; 1601 1602 xcb_out.source = source; 1603 xcb_out.bounds = bounds; 1604 xcb_out.destination = destination; 1605 1606 xcb_parts[2].iov_base = (char *) &xcb_out; 1607 xcb_parts[2].iov_len = sizeof(xcb_out); 1608 xcb_parts[3].iov_base = 0; 1609 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1610 1611 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1612 return xcb_ret; 1613 } 1614 1615 1616 /***************************************************************************** 1617 ** 1618 ** xcb_void_cookie_t xcb_xfixes_invert_region 1619 ** 1620 ** @param xcb_connection_t *c 1621 ** @param xcb_xfixes_region_t source 1622 ** @param xcb_rectangle_t bounds 1623 ** @param xcb_xfixes_region_t destination 1624 ** @returns xcb_void_cookie_t 1625 ** 1626 *****************************************************************************/ 1627 1628 xcb_void_cookie_t 1629 xcb_xfixes_invert_region (xcb_connection_t *c /**< */, 1630 xcb_xfixes_region_t source /**< */, 1631 xcb_rectangle_t bounds /**< */, 1632 xcb_xfixes_region_t destination /**< */) 1633 { 1634 static const xcb_protocol_request_t xcb_req = { 1635 /* count */ 2, 1636 /* ext */ &xcb_xfixes_id, 1637 /* opcode */ XCB_XFIXES_INVERT_REGION, 1638 /* isvoid */ 1 1639 }; 1640 1641 struct iovec xcb_parts[4]; 1642 xcb_void_cookie_t xcb_ret; 1643 xcb_xfixes_invert_region_request_t xcb_out; 1644 1645 xcb_out.source = source; 1646 xcb_out.bounds = bounds; 1647 xcb_out.destination = destination; 1648 1649 xcb_parts[2].iov_base = (char *) &xcb_out; 1650 xcb_parts[2].iov_len = sizeof(xcb_out); 1651 xcb_parts[3].iov_base = 0; 1652 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1653 1654 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1655 return xcb_ret; 1656 } 1657 1658 1659 /***************************************************************************** 1660 ** 1661 ** xcb_void_cookie_t xcb_xfixes_translate_region_checked 1662 ** 1663 ** @param xcb_connection_t *c 1664 ** @param xcb_xfixes_region_t region 1665 ** @param int16_t dx 1666 ** @param int16_t dy 1667 ** @returns xcb_void_cookie_t 1668 ** 1669 *****************************************************************************/ 1670 1671 xcb_void_cookie_t 1672 xcb_xfixes_translate_region_checked (xcb_connection_t *c /**< */, 1673 xcb_xfixes_region_t region /**< */, 1674 int16_t dx /**< */, 1675 int16_t dy /**< */) 1676 { 1677 static const xcb_protocol_request_t xcb_req = { 1678 /* count */ 2, 1679 /* ext */ &xcb_xfixes_id, 1680 /* opcode */ XCB_XFIXES_TRANSLATE_REGION, 1681 /* isvoid */ 1 1682 }; 1683 1684 struct iovec xcb_parts[4]; 1685 xcb_void_cookie_t xcb_ret; 1686 xcb_xfixes_translate_region_request_t xcb_out; 1687 1688 xcb_out.region = region; 1689 xcb_out.dx = dx; 1690 xcb_out.dy = dy; 1691 1692 xcb_parts[2].iov_base = (char *) &xcb_out; 1693 xcb_parts[2].iov_len = sizeof(xcb_out); 1694 xcb_parts[3].iov_base = 0; 1695 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1696 1697 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1698 return xcb_ret; 1699 } 1700 1701 1702 /***************************************************************************** 1703 ** 1704 ** xcb_void_cookie_t xcb_xfixes_translate_region 1705 ** 1706 ** @param xcb_connection_t *c 1707 ** @param xcb_xfixes_region_t region 1708 ** @param int16_t dx 1709 ** @param int16_t dy 1710 ** @returns xcb_void_cookie_t 1711 ** 1712 *****************************************************************************/ 1713 1714 xcb_void_cookie_t 1715 xcb_xfixes_translate_region (xcb_connection_t *c /**< */, 1716 xcb_xfixes_region_t region /**< */, 1717 int16_t dx /**< */, 1718 int16_t dy /**< */) 1719 { 1720 static const xcb_protocol_request_t xcb_req = { 1721 /* count */ 2, 1722 /* ext */ &xcb_xfixes_id, 1723 /* opcode */ XCB_XFIXES_TRANSLATE_REGION, 1724 /* isvoid */ 1 1725 }; 1726 1727 struct iovec xcb_parts[4]; 1728 xcb_void_cookie_t xcb_ret; 1729 xcb_xfixes_translate_region_request_t xcb_out; 1730 1731 xcb_out.region = region; 1732 xcb_out.dx = dx; 1733 xcb_out.dy = dy; 1734 1735 xcb_parts[2].iov_base = (char *) &xcb_out; 1736 xcb_parts[2].iov_len = sizeof(xcb_out); 1737 xcb_parts[3].iov_base = 0; 1738 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1739 1740 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1741 return xcb_ret; 1742 } 1743 1744 1745 /***************************************************************************** 1746 ** 1747 ** xcb_void_cookie_t xcb_xfixes_region_extents_checked 1748 ** 1749 ** @param xcb_connection_t *c 1750 ** @param xcb_xfixes_region_t source 1751 ** @param xcb_xfixes_region_t destination 1752 ** @returns xcb_void_cookie_t 1753 ** 1754 *****************************************************************************/ 1755 1756 xcb_void_cookie_t 1757 xcb_xfixes_region_extents_checked (xcb_connection_t *c /**< */, 1758 xcb_xfixes_region_t source /**< */, 1759 xcb_xfixes_region_t destination /**< */) 1760 { 1761 static const xcb_protocol_request_t xcb_req = { 1762 /* count */ 2, 1763 /* ext */ &xcb_xfixes_id, 1764 /* opcode */ XCB_XFIXES_REGION_EXTENTS, 1765 /* isvoid */ 1 1766 }; 1767 1768 struct iovec xcb_parts[4]; 1769 xcb_void_cookie_t xcb_ret; 1770 xcb_xfixes_region_extents_request_t xcb_out; 1771 1772 xcb_out.source = source; 1773 xcb_out.destination = destination; 1774 1775 xcb_parts[2].iov_base = (char *) &xcb_out; 1776 xcb_parts[2].iov_len = sizeof(xcb_out); 1777 xcb_parts[3].iov_base = 0; 1778 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1779 1780 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1781 return xcb_ret; 1782 } 1783 1784 1785 /***************************************************************************** 1786 ** 1787 ** xcb_void_cookie_t xcb_xfixes_region_extents 1788 ** 1789 ** @param xcb_connection_t *c 1790 ** @param xcb_xfixes_region_t source 1791 ** @param xcb_xfixes_region_t destination 1792 ** @returns xcb_void_cookie_t 1793 ** 1794 *****************************************************************************/ 1795 1796 xcb_void_cookie_t 1797 xcb_xfixes_region_extents (xcb_connection_t *c /**< */, 1798 xcb_xfixes_region_t source /**< */, 1799 xcb_xfixes_region_t destination /**< */) 1800 { 1801 static const xcb_protocol_request_t xcb_req = { 1802 /* count */ 2, 1803 /* ext */ &xcb_xfixes_id, 1804 /* opcode */ XCB_XFIXES_REGION_EXTENTS, 1805 /* isvoid */ 1 1806 }; 1807 1808 struct iovec xcb_parts[4]; 1809 xcb_void_cookie_t xcb_ret; 1810 xcb_xfixes_region_extents_request_t xcb_out; 1811 1812 xcb_out.source = source; 1813 xcb_out.destination = destination; 1814 1815 xcb_parts[2].iov_base = (char *) &xcb_out; 1816 xcb_parts[2].iov_len = sizeof(xcb_out); 1817 xcb_parts[3].iov_base = 0; 1818 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1819 1820 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1821 return xcb_ret; 1822 } 1823 1824 int 1825 xcb_xfixes_fetch_region_sizeof (const void *_buffer /**< */) 1826 { 1827 char *xcb_tmp = (char *)_buffer; 1828 const xcb_xfixes_fetch_region_reply_t *_aux = (xcb_xfixes_fetch_region_reply_t *)_buffer; 1829 unsigned int xcb_buffer_len = 0; 1830 unsigned int xcb_block_len = 0; 1831 unsigned int xcb_pad = 0; 1832 unsigned int xcb_align_to; 1833 1834 1835 xcb_block_len += sizeof(xcb_xfixes_fetch_region_reply_t); 1836 xcb_tmp += xcb_block_len; 1837 /* rectangles */ 1838 xcb_block_len += (_aux->length / 2) * sizeof(xcb_rectangle_t); 1839 xcb_tmp += xcb_block_len; 1840 xcb_align_to = ALIGNOF(xcb_rectangle_t); 1841 /* insert padding */ 1842 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 1843 xcb_buffer_len += xcb_block_len + xcb_pad; 1844 if (0 != xcb_pad) { 1845 xcb_tmp += xcb_pad; 1846 xcb_pad = 0; 1847 } 1848 xcb_block_len = 0; 1849 1850 return xcb_buffer_len; 1851 } 1852 1853 1854 /***************************************************************************** 1855 ** 1856 ** xcb_xfixes_fetch_region_cookie_t xcb_xfixes_fetch_region 1857 ** 1858 ** @param xcb_connection_t *c 1859 ** @param xcb_xfixes_region_t region 1860 ** @returns xcb_xfixes_fetch_region_cookie_t 1861 ** 1862 *****************************************************************************/ 1863 1864 xcb_xfixes_fetch_region_cookie_t 1865 xcb_xfixes_fetch_region (xcb_connection_t *c /**< */, 1866 xcb_xfixes_region_t region /**< */) 1867 { 1868 static const xcb_protocol_request_t xcb_req = { 1869 /* count */ 2, 1870 /* ext */ &xcb_xfixes_id, 1871 /* opcode */ XCB_XFIXES_FETCH_REGION, 1872 /* isvoid */ 0 1873 }; 1874 1875 struct iovec xcb_parts[4]; 1876 xcb_xfixes_fetch_region_cookie_t xcb_ret; 1877 xcb_xfixes_fetch_region_request_t xcb_out; 1878 1879 xcb_out.region = region; 1880 1881 xcb_parts[2].iov_base = (char *) &xcb_out; 1882 xcb_parts[2].iov_len = sizeof(xcb_out); 1883 xcb_parts[3].iov_base = 0; 1884 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1885 1886 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 1887 return xcb_ret; 1888 } 1889 1890 1891 /***************************************************************************** 1892 ** 1893 ** xcb_xfixes_fetch_region_cookie_t xcb_xfixes_fetch_region_unchecked 1894 ** 1895 ** @param xcb_connection_t *c 1896 ** @param xcb_xfixes_region_t region 1897 ** @returns xcb_xfixes_fetch_region_cookie_t 1898 ** 1899 *****************************************************************************/ 1900 1901 xcb_xfixes_fetch_region_cookie_t 1902 xcb_xfixes_fetch_region_unchecked (xcb_connection_t *c /**< */, 1903 xcb_xfixes_region_t region /**< */) 1904 { 1905 static const xcb_protocol_request_t xcb_req = { 1906 /* count */ 2, 1907 /* ext */ &xcb_xfixes_id, 1908 /* opcode */ XCB_XFIXES_FETCH_REGION, 1909 /* isvoid */ 0 1910 }; 1911 1912 struct iovec xcb_parts[4]; 1913 xcb_xfixes_fetch_region_cookie_t xcb_ret; 1914 xcb_xfixes_fetch_region_request_t xcb_out; 1915 1916 xcb_out.region = region; 1917 1918 xcb_parts[2].iov_base = (char *) &xcb_out; 1919 xcb_parts[2].iov_len = sizeof(xcb_out); 1920 xcb_parts[3].iov_base = 0; 1921 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 1922 1923 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 1924 return xcb_ret; 1925 } 1926 1927 1928 /***************************************************************************** 1929 ** 1930 ** xcb_rectangle_t * xcb_xfixes_fetch_region_rectangles 1931 ** 1932 ** @param const xcb_xfixes_fetch_region_reply_t *R 1933 ** @returns xcb_rectangle_t * 1934 ** 1935 *****************************************************************************/ 1936 1937 xcb_rectangle_t * 1938 xcb_xfixes_fetch_region_rectangles (const xcb_xfixes_fetch_region_reply_t *R /**< */) 1939 { 1940 return (xcb_rectangle_t *) (R + 1); 1941 } 1942 1943 1944 /***************************************************************************** 1945 ** 1946 ** int xcb_xfixes_fetch_region_rectangles_length 1947 ** 1948 ** @param const xcb_xfixes_fetch_region_reply_t *R 1949 ** @returns int 1950 ** 1951 *****************************************************************************/ 1952 1953 int 1954 xcb_xfixes_fetch_region_rectangles_length (const xcb_xfixes_fetch_region_reply_t *R /**< */) 1955 { 1956 return (R->length / 2); 1957 } 1958 1959 1960 /***************************************************************************** 1961 ** 1962 ** xcb_rectangle_iterator_t xcb_xfixes_fetch_region_rectangles_iterator 1963 ** 1964 ** @param const xcb_xfixes_fetch_region_reply_t *R 1965 ** @returns xcb_rectangle_iterator_t 1966 ** 1967 *****************************************************************************/ 1968 1969 xcb_rectangle_iterator_t 1970 xcb_xfixes_fetch_region_rectangles_iterator (const xcb_xfixes_fetch_region_reply_t *R /**< */) 1971 { 1972 xcb_rectangle_iterator_t i; 1973 i.data = (xcb_rectangle_t *) (R + 1); 1974 i.rem = (R->length / 2); 1975 i.index = (char *) i.data - (char *) R; 1976 return i; 1977 } 1978 1979 1980 /***************************************************************************** 1981 ** 1982 ** xcb_xfixes_fetch_region_reply_t * xcb_xfixes_fetch_region_reply 1983 ** 1984 ** @param xcb_connection_t *c 1985 ** @param xcb_xfixes_fetch_region_cookie_t cookie 1986 ** @param xcb_generic_error_t **e 1987 ** @returns xcb_xfixes_fetch_region_reply_t * 1988 ** 1989 *****************************************************************************/ 1990 1991 xcb_xfixes_fetch_region_reply_t * 1992 xcb_xfixes_fetch_region_reply (xcb_connection_t *c /**< */, 1993 xcb_xfixes_fetch_region_cookie_t cookie /**< */, 1994 xcb_generic_error_t **e /**< */) 1995 { 1996 return (xcb_xfixes_fetch_region_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 1997 } 1998 1999 2000 /***************************************************************************** 2001 ** 2002 ** xcb_void_cookie_t xcb_xfixes_set_gc_clip_region_checked 2003 ** 2004 ** @param xcb_connection_t *c 2005 ** @param xcb_gcontext_t gc 2006 ** @param xcb_xfixes_region_t region 2007 ** @param int16_t x_origin 2008 ** @param int16_t y_origin 2009 ** @returns xcb_void_cookie_t 2010 ** 2011 *****************************************************************************/ 2012 2013 xcb_void_cookie_t 2014 xcb_xfixes_set_gc_clip_region_checked (xcb_connection_t *c /**< */, 2015 xcb_gcontext_t gc /**< */, 2016 xcb_xfixes_region_t region /**< */, 2017 int16_t x_origin /**< */, 2018 int16_t y_origin /**< */) 2019 { 2020 static const xcb_protocol_request_t xcb_req = { 2021 /* count */ 2, 2022 /* ext */ &xcb_xfixes_id, 2023 /* opcode */ XCB_XFIXES_SET_GC_CLIP_REGION, 2024 /* isvoid */ 1 2025 }; 2026 2027 struct iovec xcb_parts[4]; 2028 xcb_void_cookie_t xcb_ret; 2029 xcb_xfixes_set_gc_clip_region_request_t xcb_out; 2030 2031 xcb_out.gc = gc; 2032 xcb_out.region = region; 2033 xcb_out.x_origin = x_origin; 2034 xcb_out.y_origin = y_origin; 2035 2036 xcb_parts[2].iov_base = (char *) &xcb_out; 2037 xcb_parts[2].iov_len = sizeof(xcb_out); 2038 xcb_parts[3].iov_base = 0; 2039 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2040 2041 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2042 return xcb_ret; 2043 } 2044 2045 2046 /***************************************************************************** 2047 ** 2048 ** xcb_void_cookie_t xcb_xfixes_set_gc_clip_region 2049 ** 2050 ** @param xcb_connection_t *c 2051 ** @param xcb_gcontext_t gc 2052 ** @param xcb_xfixes_region_t region 2053 ** @param int16_t x_origin 2054 ** @param int16_t y_origin 2055 ** @returns xcb_void_cookie_t 2056 ** 2057 *****************************************************************************/ 2058 2059 xcb_void_cookie_t 2060 xcb_xfixes_set_gc_clip_region (xcb_connection_t *c /**< */, 2061 xcb_gcontext_t gc /**< */, 2062 xcb_xfixes_region_t region /**< */, 2063 int16_t x_origin /**< */, 2064 int16_t y_origin /**< */) 2065 { 2066 static const xcb_protocol_request_t xcb_req = { 2067 /* count */ 2, 2068 /* ext */ &xcb_xfixes_id, 2069 /* opcode */ XCB_XFIXES_SET_GC_CLIP_REGION, 2070 /* isvoid */ 1 2071 }; 2072 2073 struct iovec xcb_parts[4]; 2074 xcb_void_cookie_t xcb_ret; 2075 xcb_xfixes_set_gc_clip_region_request_t xcb_out; 2076 2077 xcb_out.gc = gc; 2078 xcb_out.region = region; 2079 xcb_out.x_origin = x_origin; 2080 xcb_out.y_origin = y_origin; 2081 2082 xcb_parts[2].iov_base = (char *) &xcb_out; 2083 xcb_parts[2].iov_len = sizeof(xcb_out); 2084 xcb_parts[3].iov_base = 0; 2085 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2086 2087 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2088 return xcb_ret; 2089 } 2090 2091 2092 /***************************************************************************** 2093 ** 2094 ** xcb_void_cookie_t xcb_xfixes_set_window_shape_region_checked 2095 ** 2096 ** @param xcb_connection_t *c 2097 ** @param xcb_window_t dest 2098 ** @param xcb_shape_kind_t dest_kind 2099 ** @param int16_t x_offset 2100 ** @param int16_t y_offset 2101 ** @param xcb_xfixes_region_t region 2102 ** @returns xcb_void_cookie_t 2103 ** 2104 *****************************************************************************/ 2105 2106 xcb_void_cookie_t 2107 xcb_xfixes_set_window_shape_region_checked (xcb_connection_t *c /**< */, 2108 xcb_window_t dest /**< */, 2109 xcb_shape_kind_t dest_kind /**< */, 2110 int16_t x_offset /**< */, 2111 int16_t y_offset /**< */, 2112 xcb_xfixes_region_t region /**< */) 2113 { 2114 static const xcb_protocol_request_t xcb_req = { 2115 /* count */ 2, 2116 /* ext */ &xcb_xfixes_id, 2117 /* opcode */ XCB_XFIXES_SET_WINDOW_SHAPE_REGION, 2118 /* isvoid */ 1 2119 }; 2120 2121 struct iovec xcb_parts[4]; 2122 xcb_void_cookie_t xcb_ret; 2123 xcb_xfixes_set_window_shape_region_request_t xcb_out; 2124 2125 xcb_out.dest = dest; 2126 xcb_out.dest_kind = dest_kind; 2127 memset(xcb_out.pad0, 0, 3); 2128 xcb_out.x_offset = x_offset; 2129 xcb_out.y_offset = y_offset; 2130 xcb_out.region = region; 2131 2132 xcb_parts[2].iov_base = (char *) &xcb_out; 2133 xcb_parts[2].iov_len = sizeof(xcb_out); 2134 xcb_parts[3].iov_base = 0; 2135 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2136 2137 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2138 return xcb_ret; 2139 } 2140 2141 2142 /***************************************************************************** 2143 ** 2144 ** xcb_void_cookie_t xcb_xfixes_set_window_shape_region 2145 ** 2146 ** @param xcb_connection_t *c 2147 ** @param xcb_window_t dest 2148 ** @param xcb_shape_kind_t dest_kind 2149 ** @param int16_t x_offset 2150 ** @param int16_t y_offset 2151 ** @param xcb_xfixes_region_t region 2152 ** @returns xcb_void_cookie_t 2153 ** 2154 *****************************************************************************/ 2155 2156 xcb_void_cookie_t 2157 xcb_xfixes_set_window_shape_region (xcb_connection_t *c /**< */, 2158 xcb_window_t dest /**< */, 2159 xcb_shape_kind_t dest_kind /**< */, 2160 int16_t x_offset /**< */, 2161 int16_t y_offset /**< */, 2162 xcb_xfixes_region_t region /**< */) 2163 { 2164 static const xcb_protocol_request_t xcb_req = { 2165 /* count */ 2, 2166 /* ext */ &xcb_xfixes_id, 2167 /* opcode */ XCB_XFIXES_SET_WINDOW_SHAPE_REGION, 2168 /* isvoid */ 1 2169 }; 2170 2171 struct iovec xcb_parts[4]; 2172 xcb_void_cookie_t xcb_ret; 2173 xcb_xfixes_set_window_shape_region_request_t xcb_out; 2174 2175 xcb_out.dest = dest; 2176 xcb_out.dest_kind = dest_kind; 2177 memset(xcb_out.pad0, 0, 3); 2178 xcb_out.x_offset = x_offset; 2179 xcb_out.y_offset = y_offset; 2180 xcb_out.region = region; 2181 2182 xcb_parts[2].iov_base = (char *) &xcb_out; 2183 xcb_parts[2].iov_len = sizeof(xcb_out); 2184 xcb_parts[3].iov_base = 0; 2185 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2186 2187 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2188 return xcb_ret; 2189 } 2190 2191 2192 /***************************************************************************** 2193 ** 2194 ** xcb_void_cookie_t xcb_xfixes_set_picture_clip_region_checked 2195 ** 2196 ** @param xcb_connection_t *c 2197 ** @param xcb_render_picture_t picture 2198 ** @param xcb_xfixes_region_t region 2199 ** @param int16_t x_origin 2200 ** @param int16_t y_origin 2201 ** @returns xcb_void_cookie_t 2202 ** 2203 *****************************************************************************/ 2204 2205 xcb_void_cookie_t 2206 xcb_xfixes_set_picture_clip_region_checked (xcb_connection_t *c /**< */, 2207 xcb_render_picture_t picture /**< */, 2208 xcb_xfixes_region_t region /**< */, 2209 int16_t x_origin /**< */, 2210 int16_t y_origin /**< */) 2211 { 2212 static const xcb_protocol_request_t xcb_req = { 2213 /* count */ 2, 2214 /* ext */ &xcb_xfixes_id, 2215 /* opcode */ XCB_XFIXES_SET_PICTURE_CLIP_REGION, 2216 /* isvoid */ 1 2217 }; 2218 2219 struct iovec xcb_parts[4]; 2220 xcb_void_cookie_t xcb_ret; 2221 xcb_xfixes_set_picture_clip_region_request_t xcb_out; 2222 2223 xcb_out.picture = picture; 2224 xcb_out.region = region; 2225 xcb_out.x_origin = x_origin; 2226 xcb_out.y_origin = y_origin; 2227 2228 xcb_parts[2].iov_base = (char *) &xcb_out; 2229 xcb_parts[2].iov_len = sizeof(xcb_out); 2230 xcb_parts[3].iov_base = 0; 2231 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2232 2233 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2234 return xcb_ret; 2235 } 2236 2237 2238 /***************************************************************************** 2239 ** 2240 ** xcb_void_cookie_t xcb_xfixes_set_picture_clip_region 2241 ** 2242 ** @param xcb_connection_t *c 2243 ** @param xcb_render_picture_t picture 2244 ** @param xcb_xfixes_region_t region 2245 ** @param int16_t x_origin 2246 ** @param int16_t y_origin 2247 ** @returns xcb_void_cookie_t 2248 ** 2249 *****************************************************************************/ 2250 2251 xcb_void_cookie_t 2252 xcb_xfixes_set_picture_clip_region (xcb_connection_t *c /**< */, 2253 xcb_render_picture_t picture /**< */, 2254 xcb_xfixes_region_t region /**< */, 2255 int16_t x_origin /**< */, 2256 int16_t y_origin /**< */) 2257 { 2258 static const xcb_protocol_request_t xcb_req = { 2259 /* count */ 2, 2260 /* ext */ &xcb_xfixes_id, 2261 /* opcode */ XCB_XFIXES_SET_PICTURE_CLIP_REGION, 2262 /* isvoid */ 1 2263 }; 2264 2265 struct iovec xcb_parts[4]; 2266 xcb_void_cookie_t xcb_ret; 2267 xcb_xfixes_set_picture_clip_region_request_t xcb_out; 2268 2269 xcb_out.picture = picture; 2270 xcb_out.region = region; 2271 xcb_out.x_origin = x_origin; 2272 xcb_out.y_origin = y_origin; 2273 2274 xcb_parts[2].iov_base = (char *) &xcb_out; 2275 xcb_parts[2].iov_len = sizeof(xcb_out); 2276 xcb_parts[3].iov_base = 0; 2277 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2278 2279 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2280 return xcb_ret; 2281 } 2282 2283 int 2284 xcb_xfixes_set_cursor_name_sizeof (const void *_buffer /**< */) 2285 { 2286 char *xcb_tmp = (char *)_buffer; 2287 const xcb_xfixes_set_cursor_name_request_t *_aux = (xcb_xfixes_set_cursor_name_request_t *)_buffer; 2288 unsigned int xcb_buffer_len = 0; 2289 unsigned int xcb_block_len = 0; 2290 unsigned int xcb_pad = 0; 2291 unsigned int xcb_align_to; 2292 2293 2294 xcb_block_len += sizeof(xcb_xfixes_set_cursor_name_request_t); 2295 xcb_tmp += xcb_block_len; 2296 /* name */ 2297 xcb_block_len += _aux->nbytes * sizeof(char); 2298 xcb_tmp += xcb_block_len; 2299 xcb_align_to = ALIGNOF(char); 2300 /* insert padding */ 2301 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 2302 xcb_buffer_len += xcb_block_len + xcb_pad; 2303 if (0 != xcb_pad) { 2304 xcb_tmp += xcb_pad; 2305 xcb_pad = 0; 2306 } 2307 xcb_block_len = 0; 2308 2309 return xcb_buffer_len; 2310 } 2311 2312 2313 /***************************************************************************** 2314 ** 2315 ** xcb_void_cookie_t xcb_xfixes_set_cursor_name_checked 2316 ** 2317 ** @param xcb_connection_t *c 2318 ** @param xcb_cursor_t cursor 2319 ** @param uint16_t nbytes 2320 ** @param const char *name 2321 ** @returns xcb_void_cookie_t 2322 ** 2323 *****************************************************************************/ 2324 2325 xcb_void_cookie_t 2326 xcb_xfixes_set_cursor_name_checked (xcb_connection_t *c /**< */, 2327 xcb_cursor_t cursor /**< */, 2328 uint16_t nbytes /**< */, 2329 const char *name /**< */) 2330 { 2331 static const xcb_protocol_request_t xcb_req = { 2332 /* count */ 4, 2333 /* ext */ &xcb_xfixes_id, 2334 /* opcode */ XCB_XFIXES_SET_CURSOR_NAME, 2335 /* isvoid */ 1 2336 }; 2337 2338 struct iovec xcb_parts[6]; 2339 xcb_void_cookie_t xcb_ret; 2340 xcb_xfixes_set_cursor_name_request_t xcb_out; 2341 2342 xcb_out.cursor = cursor; 2343 xcb_out.nbytes = nbytes; 2344 memset(xcb_out.pad0, 0, 2); 2345 2346 xcb_parts[2].iov_base = (char *) &xcb_out; 2347 xcb_parts[2].iov_len = sizeof(xcb_out); 2348 xcb_parts[3].iov_base = 0; 2349 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2350 /* char name */ 2351 xcb_parts[4].iov_base = (char *) name; 2352 xcb_parts[4].iov_len = nbytes * sizeof(char); 2353 xcb_parts[5].iov_base = 0; 2354 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 2355 2356 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2357 return xcb_ret; 2358 } 2359 2360 2361 /***************************************************************************** 2362 ** 2363 ** xcb_void_cookie_t xcb_xfixes_set_cursor_name 2364 ** 2365 ** @param xcb_connection_t *c 2366 ** @param xcb_cursor_t cursor 2367 ** @param uint16_t nbytes 2368 ** @param const char *name 2369 ** @returns xcb_void_cookie_t 2370 ** 2371 *****************************************************************************/ 2372 2373 xcb_void_cookie_t 2374 xcb_xfixes_set_cursor_name (xcb_connection_t *c /**< */, 2375 xcb_cursor_t cursor /**< */, 2376 uint16_t nbytes /**< */, 2377 const char *name /**< */) 2378 { 2379 static const xcb_protocol_request_t xcb_req = { 2380 /* count */ 4, 2381 /* ext */ &xcb_xfixes_id, 2382 /* opcode */ XCB_XFIXES_SET_CURSOR_NAME, 2383 /* isvoid */ 1 2384 }; 2385 2386 struct iovec xcb_parts[6]; 2387 xcb_void_cookie_t xcb_ret; 2388 xcb_xfixes_set_cursor_name_request_t xcb_out; 2389 2390 xcb_out.cursor = cursor; 2391 xcb_out.nbytes = nbytes; 2392 memset(xcb_out.pad0, 0, 2); 2393 2394 xcb_parts[2].iov_base = (char *) &xcb_out; 2395 xcb_parts[2].iov_len = sizeof(xcb_out); 2396 xcb_parts[3].iov_base = 0; 2397 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2398 /* char name */ 2399 xcb_parts[4].iov_base = (char *) name; 2400 xcb_parts[4].iov_len = nbytes * sizeof(char); 2401 xcb_parts[5].iov_base = 0; 2402 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 2403 2404 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2405 return xcb_ret; 2406 } 2407 2408 int 2409 xcb_xfixes_get_cursor_name_sizeof (const void *_buffer /**< */) 2410 { 2411 char *xcb_tmp = (char *)_buffer; 2412 const xcb_xfixes_get_cursor_name_reply_t *_aux = (xcb_xfixes_get_cursor_name_reply_t *)_buffer; 2413 unsigned int xcb_buffer_len = 0; 2414 unsigned int xcb_block_len = 0; 2415 unsigned int xcb_pad = 0; 2416 unsigned int xcb_align_to; 2417 2418 2419 xcb_block_len += sizeof(xcb_xfixes_get_cursor_name_reply_t); 2420 xcb_tmp += xcb_block_len; 2421 /* name */ 2422 xcb_block_len += _aux->nbytes * sizeof(char); 2423 xcb_tmp += xcb_block_len; 2424 xcb_align_to = ALIGNOF(char); 2425 /* insert padding */ 2426 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 2427 xcb_buffer_len += xcb_block_len + xcb_pad; 2428 if (0 != xcb_pad) { 2429 xcb_tmp += xcb_pad; 2430 xcb_pad = 0; 2431 } 2432 xcb_block_len = 0; 2433 2434 return xcb_buffer_len; 2435 } 2436 2437 2438 /***************************************************************************** 2439 ** 2440 ** xcb_xfixes_get_cursor_name_cookie_t xcb_xfixes_get_cursor_name 2441 ** 2442 ** @param xcb_connection_t *c 2443 ** @param xcb_cursor_t cursor 2444 ** @returns xcb_xfixes_get_cursor_name_cookie_t 2445 ** 2446 *****************************************************************************/ 2447 2448 xcb_xfixes_get_cursor_name_cookie_t 2449 xcb_xfixes_get_cursor_name (xcb_connection_t *c /**< */, 2450 xcb_cursor_t cursor /**< */) 2451 { 2452 static const xcb_protocol_request_t xcb_req = { 2453 /* count */ 2, 2454 /* ext */ &xcb_xfixes_id, 2455 /* opcode */ XCB_XFIXES_GET_CURSOR_NAME, 2456 /* isvoid */ 0 2457 }; 2458 2459 struct iovec xcb_parts[4]; 2460 xcb_xfixes_get_cursor_name_cookie_t xcb_ret; 2461 xcb_xfixes_get_cursor_name_request_t xcb_out; 2462 2463 xcb_out.cursor = cursor; 2464 2465 xcb_parts[2].iov_base = (char *) &xcb_out; 2466 xcb_parts[2].iov_len = sizeof(xcb_out); 2467 xcb_parts[3].iov_base = 0; 2468 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2469 2470 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2471 return xcb_ret; 2472 } 2473 2474 2475 /***************************************************************************** 2476 ** 2477 ** xcb_xfixes_get_cursor_name_cookie_t xcb_xfixes_get_cursor_name_unchecked 2478 ** 2479 ** @param xcb_connection_t *c 2480 ** @param xcb_cursor_t cursor 2481 ** @returns xcb_xfixes_get_cursor_name_cookie_t 2482 ** 2483 *****************************************************************************/ 2484 2485 xcb_xfixes_get_cursor_name_cookie_t 2486 xcb_xfixes_get_cursor_name_unchecked (xcb_connection_t *c /**< */, 2487 xcb_cursor_t cursor /**< */) 2488 { 2489 static const xcb_protocol_request_t xcb_req = { 2490 /* count */ 2, 2491 /* ext */ &xcb_xfixes_id, 2492 /* opcode */ XCB_XFIXES_GET_CURSOR_NAME, 2493 /* isvoid */ 0 2494 }; 2495 2496 struct iovec xcb_parts[4]; 2497 xcb_xfixes_get_cursor_name_cookie_t xcb_ret; 2498 xcb_xfixes_get_cursor_name_request_t xcb_out; 2499 2500 xcb_out.cursor = cursor; 2501 2502 xcb_parts[2].iov_base = (char *) &xcb_out; 2503 xcb_parts[2].iov_len = sizeof(xcb_out); 2504 xcb_parts[3].iov_base = 0; 2505 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2506 2507 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2508 return xcb_ret; 2509 } 2510 2511 2512 /***************************************************************************** 2513 ** 2514 ** char * xcb_xfixes_get_cursor_name_name 2515 ** 2516 ** @param const xcb_xfixes_get_cursor_name_reply_t *R 2517 ** @returns char * 2518 ** 2519 *****************************************************************************/ 2520 2521 char * 2522 xcb_xfixes_get_cursor_name_name (const xcb_xfixes_get_cursor_name_reply_t *R /**< */) 2523 { 2524 return (char *) (R + 1); 2525 } 2526 2527 2528 /***************************************************************************** 2529 ** 2530 ** int xcb_xfixes_get_cursor_name_name_length 2531 ** 2532 ** @param const xcb_xfixes_get_cursor_name_reply_t *R 2533 ** @returns int 2534 ** 2535 *****************************************************************************/ 2536 2537 int 2538 xcb_xfixes_get_cursor_name_name_length (const xcb_xfixes_get_cursor_name_reply_t *R /**< */) 2539 { 2540 return R->nbytes; 2541 } 2542 2543 2544 /***************************************************************************** 2545 ** 2546 ** xcb_generic_iterator_t xcb_xfixes_get_cursor_name_name_end 2547 ** 2548 ** @param const xcb_xfixes_get_cursor_name_reply_t *R 2549 ** @returns xcb_generic_iterator_t 2550 ** 2551 *****************************************************************************/ 2552 2553 xcb_generic_iterator_t 2554 xcb_xfixes_get_cursor_name_name_end (const xcb_xfixes_get_cursor_name_reply_t *R /**< */) 2555 { 2556 xcb_generic_iterator_t i; 2557 i.data = ((char *) (R + 1)) + (R->nbytes); 2558 i.rem = 0; 2559 i.index = (char *) i.data - (char *) R; 2560 return i; 2561 } 2562 2563 2564 /***************************************************************************** 2565 ** 2566 ** xcb_xfixes_get_cursor_name_reply_t * xcb_xfixes_get_cursor_name_reply 2567 ** 2568 ** @param xcb_connection_t *c 2569 ** @param xcb_xfixes_get_cursor_name_cookie_t cookie 2570 ** @param xcb_generic_error_t **e 2571 ** @returns xcb_xfixes_get_cursor_name_reply_t * 2572 ** 2573 *****************************************************************************/ 2574 2575 xcb_xfixes_get_cursor_name_reply_t * 2576 xcb_xfixes_get_cursor_name_reply (xcb_connection_t *c /**< */, 2577 xcb_xfixes_get_cursor_name_cookie_t cookie /**< */, 2578 xcb_generic_error_t **e /**< */) 2579 { 2580 return (xcb_xfixes_get_cursor_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 2581 } 2582 2583 int 2584 xcb_xfixes_get_cursor_image_and_name_sizeof (const void *_buffer /**< */) 2585 { 2586 char *xcb_tmp = (char *)_buffer; 2587 const xcb_xfixes_get_cursor_image_and_name_reply_t *_aux = (xcb_xfixes_get_cursor_image_and_name_reply_t *)_buffer; 2588 unsigned int xcb_buffer_len = 0; 2589 unsigned int xcb_block_len = 0; 2590 unsigned int xcb_pad = 0; 2591 unsigned int xcb_align_to; 2592 2593 2594 xcb_block_len += sizeof(xcb_xfixes_get_cursor_image_and_name_reply_t); 2595 xcb_tmp += xcb_block_len; 2596 /* name */ 2597 xcb_block_len += _aux->nbytes * sizeof(char); 2598 xcb_tmp += xcb_block_len; 2599 xcb_align_to = ALIGNOF(char); 2600 /* insert padding */ 2601 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 2602 xcb_buffer_len += xcb_block_len + xcb_pad; 2603 if (0 != xcb_pad) { 2604 xcb_tmp += xcb_pad; 2605 xcb_pad = 0; 2606 } 2607 xcb_block_len = 0; 2608 /* cursor_image */ 2609 xcb_block_len += (_aux->width * _aux->height) * sizeof(uint32_t); 2610 xcb_tmp += xcb_block_len; 2611 xcb_align_to = ALIGNOF(uint32_t); 2612 /* insert padding */ 2613 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 2614 xcb_buffer_len += xcb_block_len + xcb_pad; 2615 if (0 != xcb_pad) { 2616 xcb_tmp += xcb_pad; 2617 xcb_pad = 0; 2618 } 2619 xcb_block_len = 0; 2620 2621 return xcb_buffer_len; 2622 } 2623 2624 2625 /***************************************************************************** 2626 ** 2627 ** xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_xfixes_get_cursor_image_and_name 2628 ** 2629 ** @param xcb_connection_t *c 2630 ** @returns xcb_xfixes_get_cursor_image_and_name_cookie_t 2631 ** 2632 *****************************************************************************/ 2633 2634 xcb_xfixes_get_cursor_image_and_name_cookie_t 2635 xcb_xfixes_get_cursor_image_and_name (xcb_connection_t *c /**< */) 2636 { 2637 static const xcb_protocol_request_t xcb_req = { 2638 /* count */ 2, 2639 /* ext */ &xcb_xfixes_id, 2640 /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME, 2641 /* isvoid */ 0 2642 }; 2643 2644 struct iovec xcb_parts[4]; 2645 xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_ret; 2646 xcb_xfixes_get_cursor_image_and_name_request_t xcb_out; 2647 2648 2649 xcb_parts[2].iov_base = (char *) &xcb_out; 2650 xcb_parts[2].iov_len = sizeof(xcb_out); 2651 xcb_parts[3].iov_base = 0; 2652 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2653 2654 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2655 return xcb_ret; 2656 } 2657 2658 2659 /***************************************************************************** 2660 ** 2661 ** xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_xfixes_get_cursor_image_and_name_unchecked 2662 ** 2663 ** @param xcb_connection_t *c 2664 ** @returns xcb_xfixes_get_cursor_image_and_name_cookie_t 2665 ** 2666 *****************************************************************************/ 2667 2668 xcb_xfixes_get_cursor_image_and_name_cookie_t 2669 xcb_xfixes_get_cursor_image_and_name_unchecked (xcb_connection_t *c /**< */) 2670 { 2671 static const xcb_protocol_request_t xcb_req = { 2672 /* count */ 2, 2673 /* ext */ &xcb_xfixes_id, 2674 /* opcode */ XCB_XFIXES_GET_CURSOR_IMAGE_AND_NAME, 2675 /* isvoid */ 0 2676 }; 2677 2678 struct iovec xcb_parts[4]; 2679 xcb_xfixes_get_cursor_image_and_name_cookie_t xcb_ret; 2680 xcb_xfixes_get_cursor_image_and_name_request_t xcb_out; 2681 2682 2683 xcb_parts[2].iov_base = (char *) &xcb_out; 2684 xcb_parts[2].iov_len = sizeof(xcb_out); 2685 xcb_parts[3].iov_base = 0; 2686 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2687 2688 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2689 return xcb_ret; 2690 } 2691 2692 2693 /***************************************************************************** 2694 ** 2695 ** char * xcb_xfixes_get_cursor_image_and_name_name 2696 ** 2697 ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R 2698 ** @returns char * 2699 ** 2700 *****************************************************************************/ 2701 2702 char * 2703 xcb_xfixes_get_cursor_image_and_name_name (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */) 2704 { 2705 return (char *) (R + 1); 2706 } 2707 2708 2709 /***************************************************************************** 2710 ** 2711 ** int xcb_xfixes_get_cursor_image_and_name_name_length 2712 ** 2713 ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R 2714 ** @returns int 2715 ** 2716 *****************************************************************************/ 2717 2718 int 2719 xcb_xfixes_get_cursor_image_and_name_name_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */) 2720 { 2721 return R->nbytes; 2722 } 2723 2724 2725 /***************************************************************************** 2726 ** 2727 ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_and_name_name_end 2728 ** 2729 ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R 2730 ** @returns xcb_generic_iterator_t 2731 ** 2732 *****************************************************************************/ 2733 2734 xcb_generic_iterator_t 2735 xcb_xfixes_get_cursor_image_and_name_name_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */) 2736 { 2737 xcb_generic_iterator_t i; 2738 i.data = ((char *) (R + 1)) + (R->nbytes); 2739 i.rem = 0; 2740 i.index = (char *) i.data - (char *) R; 2741 return i; 2742 } 2743 2744 2745 /***************************************************************************** 2746 ** 2747 ** uint32_t * xcb_xfixes_get_cursor_image_and_name_cursor_image 2748 ** 2749 ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R 2750 ** @returns uint32_t * 2751 ** 2752 *****************************************************************************/ 2753 2754 uint32_t * 2755 xcb_xfixes_get_cursor_image_and_name_cursor_image (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */) 2756 { 2757 xcb_generic_iterator_t prev = xcb_xfixes_get_cursor_image_and_name_name_end(R); 2758 return (uint32_t *) ((char *) prev.data + XCB_TYPE_PAD(uint32_t, prev.index) + 0); 2759 } 2760 2761 2762 /***************************************************************************** 2763 ** 2764 ** int xcb_xfixes_get_cursor_image_and_name_cursor_image_length 2765 ** 2766 ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R 2767 ** @returns int 2768 ** 2769 *****************************************************************************/ 2770 2771 int 2772 xcb_xfixes_get_cursor_image_and_name_cursor_image_length (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */) 2773 { 2774 return (R->width * R->height); 2775 } 2776 2777 2778 /***************************************************************************** 2779 ** 2780 ** xcb_generic_iterator_t xcb_xfixes_get_cursor_image_and_name_cursor_image_end 2781 ** 2782 ** @param const xcb_xfixes_get_cursor_image_and_name_reply_t *R 2783 ** @returns xcb_generic_iterator_t 2784 ** 2785 *****************************************************************************/ 2786 2787 xcb_generic_iterator_t 2788 xcb_xfixes_get_cursor_image_and_name_cursor_image_end (const xcb_xfixes_get_cursor_image_and_name_reply_t *R /**< */) 2789 { 2790 xcb_generic_iterator_t i; 2791 xcb_generic_iterator_t child = xcb_xfixes_get_cursor_image_and_name_name_end(R); 2792 i.data = ((uint32_t *) child.data) + ((R->width * R->height)); 2793 i.rem = 0; 2794 i.index = (char *) i.data - (char *) R; 2795 return i; 2796 } 2797 2798 2799 /***************************************************************************** 2800 ** 2801 ** xcb_xfixes_get_cursor_image_and_name_reply_t * xcb_xfixes_get_cursor_image_and_name_reply 2802 ** 2803 ** @param xcb_connection_t *c 2804 ** @param xcb_xfixes_get_cursor_image_and_name_cookie_t cookie 2805 ** @param xcb_generic_error_t **e 2806 ** @returns xcb_xfixes_get_cursor_image_and_name_reply_t * 2807 ** 2808 *****************************************************************************/ 2809 2810 xcb_xfixes_get_cursor_image_and_name_reply_t * 2811 xcb_xfixes_get_cursor_image_and_name_reply (xcb_connection_t *c /**< */, 2812 xcb_xfixes_get_cursor_image_and_name_cookie_t cookie /**< */, 2813 xcb_generic_error_t **e /**< */) 2814 { 2815 return (xcb_xfixes_get_cursor_image_and_name_reply_t *) xcb_wait_for_reply(c, cookie.sequence, e); 2816 } 2817 2818 2819 /***************************************************************************** 2820 ** 2821 ** xcb_void_cookie_t xcb_xfixes_change_cursor_checked 2822 ** 2823 ** @param xcb_connection_t *c 2824 ** @param xcb_cursor_t source 2825 ** @param xcb_cursor_t destination 2826 ** @returns xcb_void_cookie_t 2827 ** 2828 *****************************************************************************/ 2829 2830 xcb_void_cookie_t 2831 xcb_xfixes_change_cursor_checked (xcb_connection_t *c /**< */, 2832 xcb_cursor_t source /**< */, 2833 xcb_cursor_t destination /**< */) 2834 { 2835 static const xcb_protocol_request_t xcb_req = { 2836 /* count */ 2, 2837 /* ext */ &xcb_xfixes_id, 2838 /* opcode */ XCB_XFIXES_CHANGE_CURSOR, 2839 /* isvoid */ 1 2840 }; 2841 2842 struct iovec xcb_parts[4]; 2843 xcb_void_cookie_t xcb_ret; 2844 xcb_xfixes_change_cursor_request_t xcb_out; 2845 2846 xcb_out.source = source; 2847 xcb_out.destination = destination; 2848 2849 xcb_parts[2].iov_base = (char *) &xcb_out; 2850 xcb_parts[2].iov_len = sizeof(xcb_out); 2851 xcb_parts[3].iov_base = 0; 2852 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2853 2854 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2855 return xcb_ret; 2856 } 2857 2858 2859 /***************************************************************************** 2860 ** 2861 ** xcb_void_cookie_t xcb_xfixes_change_cursor 2862 ** 2863 ** @param xcb_connection_t *c 2864 ** @param xcb_cursor_t source 2865 ** @param xcb_cursor_t destination 2866 ** @returns xcb_void_cookie_t 2867 ** 2868 *****************************************************************************/ 2869 2870 xcb_void_cookie_t 2871 xcb_xfixes_change_cursor (xcb_connection_t *c /**< */, 2872 xcb_cursor_t source /**< */, 2873 xcb_cursor_t destination /**< */) 2874 { 2875 static const xcb_protocol_request_t xcb_req = { 2876 /* count */ 2, 2877 /* ext */ &xcb_xfixes_id, 2878 /* opcode */ XCB_XFIXES_CHANGE_CURSOR, 2879 /* isvoid */ 1 2880 }; 2881 2882 struct iovec xcb_parts[4]; 2883 xcb_void_cookie_t xcb_ret; 2884 xcb_xfixes_change_cursor_request_t xcb_out; 2885 2886 xcb_out.source = source; 2887 xcb_out.destination = destination; 2888 2889 xcb_parts[2].iov_base = (char *) &xcb_out; 2890 xcb_parts[2].iov_len = sizeof(xcb_out); 2891 xcb_parts[3].iov_base = 0; 2892 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2893 2894 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 2895 return xcb_ret; 2896 } 2897 2898 int 2899 xcb_xfixes_change_cursor_by_name_sizeof (const void *_buffer /**< */) 2900 { 2901 char *xcb_tmp = (char *)_buffer; 2902 const xcb_xfixes_change_cursor_by_name_request_t *_aux = (xcb_xfixes_change_cursor_by_name_request_t *)_buffer; 2903 unsigned int xcb_buffer_len = 0; 2904 unsigned int xcb_block_len = 0; 2905 unsigned int xcb_pad = 0; 2906 unsigned int xcb_align_to; 2907 2908 2909 xcb_block_len += sizeof(xcb_xfixes_change_cursor_by_name_request_t); 2910 xcb_tmp += xcb_block_len; 2911 /* name */ 2912 xcb_block_len += _aux->nbytes * sizeof(char); 2913 xcb_tmp += xcb_block_len; 2914 xcb_align_to = ALIGNOF(char); 2915 /* insert padding */ 2916 xcb_pad = -xcb_block_len & (xcb_align_to - 1); 2917 xcb_buffer_len += xcb_block_len + xcb_pad; 2918 if (0 != xcb_pad) { 2919 xcb_tmp += xcb_pad; 2920 xcb_pad = 0; 2921 } 2922 xcb_block_len = 0; 2923 2924 return xcb_buffer_len; 2925 } 2926 2927 2928 /***************************************************************************** 2929 ** 2930 ** xcb_void_cookie_t xcb_xfixes_change_cursor_by_name_checked 2931 ** 2932 ** @param xcb_connection_t *c 2933 ** @param xcb_cursor_t src 2934 ** @param uint16_t nbytes 2935 ** @param const char *name 2936 ** @returns xcb_void_cookie_t 2937 ** 2938 *****************************************************************************/ 2939 2940 xcb_void_cookie_t 2941 xcb_xfixes_change_cursor_by_name_checked (xcb_connection_t *c /**< */, 2942 xcb_cursor_t src /**< */, 2943 uint16_t nbytes /**< */, 2944 const char *name /**< */) 2945 { 2946 static const xcb_protocol_request_t xcb_req = { 2947 /* count */ 4, 2948 /* ext */ &xcb_xfixes_id, 2949 /* opcode */ XCB_XFIXES_CHANGE_CURSOR_BY_NAME, 2950 /* isvoid */ 1 2951 }; 2952 2953 struct iovec xcb_parts[6]; 2954 xcb_void_cookie_t xcb_ret; 2955 xcb_xfixes_change_cursor_by_name_request_t xcb_out; 2956 2957 xcb_out.src = src; 2958 xcb_out.nbytes = nbytes; 2959 memset(xcb_out.pad0, 0, 2); 2960 2961 xcb_parts[2].iov_base = (char *) &xcb_out; 2962 xcb_parts[2].iov_len = sizeof(xcb_out); 2963 xcb_parts[3].iov_base = 0; 2964 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 2965 /* char name */ 2966 xcb_parts[4].iov_base = (char *) name; 2967 xcb_parts[4].iov_len = nbytes * sizeof(char); 2968 xcb_parts[5].iov_base = 0; 2969 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 2970 2971 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 2972 return xcb_ret; 2973 } 2974 2975 2976 /***************************************************************************** 2977 ** 2978 ** xcb_void_cookie_t xcb_xfixes_change_cursor_by_name 2979 ** 2980 ** @param xcb_connection_t *c 2981 ** @param xcb_cursor_t src 2982 ** @param uint16_t nbytes 2983 ** @param const char *name 2984 ** @returns xcb_void_cookie_t 2985 ** 2986 *****************************************************************************/ 2987 2988 xcb_void_cookie_t 2989 xcb_xfixes_change_cursor_by_name (xcb_connection_t *c /**< */, 2990 xcb_cursor_t src /**< */, 2991 uint16_t nbytes /**< */, 2992 const char *name /**< */) 2993 { 2994 static const xcb_protocol_request_t xcb_req = { 2995 /* count */ 4, 2996 /* ext */ &xcb_xfixes_id, 2997 /* opcode */ XCB_XFIXES_CHANGE_CURSOR_BY_NAME, 2998 /* isvoid */ 1 2999 }; 3000 3001 struct iovec xcb_parts[6]; 3002 xcb_void_cookie_t xcb_ret; 3003 xcb_xfixes_change_cursor_by_name_request_t xcb_out; 3004 3005 xcb_out.src = src; 3006 xcb_out.nbytes = nbytes; 3007 memset(xcb_out.pad0, 0, 2); 3008 3009 xcb_parts[2].iov_base = (char *) &xcb_out; 3010 xcb_parts[2].iov_len = sizeof(xcb_out); 3011 xcb_parts[3].iov_base = 0; 3012 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 3013 /* char name */ 3014 xcb_parts[4].iov_base = (char *) name; 3015 xcb_parts[4].iov_len = nbytes * sizeof(char); 3016 xcb_parts[5].iov_base = 0; 3017 xcb_parts[5].iov_len = -xcb_parts[4].iov_len & 3; 3018 3019 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 3020 return xcb_ret; 3021 } 3022 3023 3024 /***************************************************************************** 3025 ** 3026 ** xcb_void_cookie_t xcb_xfixes_expand_region_checked 3027 ** 3028 ** @param xcb_connection_t *c 3029 ** @param xcb_xfixes_region_t source 3030 ** @param xcb_xfixes_region_t destination 3031 ** @param uint16_t left 3032 ** @param uint16_t right 3033 ** @param uint16_t top 3034 ** @param uint16_t bottom 3035 ** @returns xcb_void_cookie_t 3036 ** 3037 *****************************************************************************/ 3038 3039 xcb_void_cookie_t 3040 xcb_xfixes_expand_region_checked (xcb_connection_t *c /**< */, 3041 xcb_xfixes_region_t source /**< */, 3042 xcb_xfixes_region_t destination /**< */, 3043 uint16_t left /**< */, 3044 uint16_t right /**< */, 3045 uint16_t top /**< */, 3046 uint16_t bottom /**< */) 3047 { 3048 static const xcb_protocol_request_t xcb_req = { 3049 /* count */ 2, 3050 /* ext */ &xcb_xfixes_id, 3051 /* opcode */ XCB_XFIXES_EXPAND_REGION, 3052 /* isvoid */ 1 3053 }; 3054 3055 struct iovec xcb_parts[4]; 3056 xcb_void_cookie_t xcb_ret; 3057 xcb_xfixes_expand_region_request_t xcb_out; 3058 3059 xcb_out.source = source; 3060 xcb_out.destination = destination; 3061 xcb_out.left = left; 3062 xcb_out.right = right; 3063 xcb_out.top = top; 3064 xcb_out.bottom = bottom; 3065 3066 xcb_parts[2].iov_base = (char *) &xcb_out; 3067 xcb_parts[2].iov_len = sizeof(xcb_out); 3068 xcb_parts[3].iov_base = 0; 3069 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 3070 3071 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 3072 return xcb_ret; 3073 } 3074 3075 3076 /***************************************************************************** 3077 ** 3078 ** xcb_void_cookie_t xcb_xfixes_expand_region 3079 ** 3080 ** @param xcb_connection_t *c 3081 ** @param xcb_xfixes_region_t source 3082 ** @param xcb_xfixes_region_t destination 3083 ** @param uint16_t left 3084 ** @param uint16_t right 3085 ** @param uint16_t top 3086 ** @param uint16_t bottom 3087 ** @returns xcb_void_cookie_t 3088 ** 3089 *****************************************************************************/ 3090 3091 xcb_void_cookie_t 3092 xcb_xfixes_expand_region (xcb_connection_t *c /**< */, 3093 xcb_xfixes_region_t source /**< */, 3094 xcb_xfixes_region_t destination /**< */, 3095 uint16_t left /**< */, 3096 uint16_t right /**< */, 3097 uint16_t top /**< */, 3098 uint16_t bottom /**< */) 3099 { 3100 static const xcb_protocol_request_t xcb_req = { 3101 /* count */ 2, 3102 /* ext */ &xcb_xfixes_id, 3103 /* opcode */ XCB_XFIXES_EXPAND_REGION, 3104 /* isvoid */ 1 3105 }; 3106 3107 struct iovec xcb_parts[4]; 3108 xcb_void_cookie_t xcb_ret; 3109 xcb_xfixes_expand_region_request_t xcb_out; 3110 3111 xcb_out.source = source; 3112 xcb_out.destination = destination; 3113 xcb_out.left = left; 3114 xcb_out.right = right; 3115 xcb_out.top = top; 3116 xcb_out.bottom = bottom; 3117 3118 xcb_parts[2].iov_base = (char *) &xcb_out; 3119 xcb_parts[2].iov_len = sizeof(xcb_out); 3120 xcb_parts[3].iov_base = 0; 3121 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 3122 3123 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 3124 return xcb_ret; 3125 } 3126 3127 3128 /***************************************************************************** 3129 ** 3130 ** xcb_void_cookie_t xcb_xfixes_hide_cursor_checked 3131 ** 3132 ** @param xcb_connection_t *c 3133 ** @param xcb_window_t window 3134 ** @returns xcb_void_cookie_t 3135 ** 3136 *****************************************************************************/ 3137 3138 xcb_void_cookie_t 3139 xcb_xfixes_hide_cursor_checked (xcb_connection_t *c /**< */, 3140 xcb_window_t window /**< */) 3141 { 3142 static const xcb_protocol_request_t xcb_req = { 3143 /* count */ 2, 3144 /* ext */ &xcb_xfixes_id, 3145 /* opcode */ XCB_XFIXES_HIDE_CURSOR, 3146 /* isvoid */ 1 3147 }; 3148 3149 struct iovec xcb_parts[4]; 3150 xcb_void_cookie_t xcb_ret; 3151 xcb_xfixes_hide_cursor_request_t xcb_out; 3152 3153 xcb_out.window = window; 3154 3155 xcb_parts[2].iov_base = (char *) &xcb_out; 3156 xcb_parts[2].iov_len = sizeof(xcb_out); 3157 xcb_parts[3].iov_base = 0; 3158 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 3159 3160 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 3161 return xcb_ret; 3162 } 3163 3164 3165 /***************************************************************************** 3166 ** 3167 ** xcb_void_cookie_t xcb_xfixes_hide_cursor 3168 ** 3169 ** @param xcb_connection_t *c 3170 ** @param xcb_window_t window 3171 ** @returns xcb_void_cookie_t 3172 ** 3173 *****************************************************************************/ 3174 3175 xcb_void_cookie_t 3176 xcb_xfixes_hide_cursor (xcb_connection_t *c /**< */, 3177 xcb_window_t window /**< */) 3178 { 3179 static const xcb_protocol_request_t xcb_req = { 3180 /* count */ 2, 3181 /* ext */ &xcb_xfixes_id, 3182 /* opcode */ XCB_XFIXES_HIDE_CURSOR, 3183 /* isvoid */ 1 3184 }; 3185 3186 struct iovec xcb_parts[4]; 3187 xcb_void_cookie_t xcb_ret; 3188 xcb_xfixes_hide_cursor_request_t xcb_out; 3189 3190 xcb_out.window = window; 3191 3192 xcb_parts[2].iov_base = (char *) &xcb_out; 3193 xcb_parts[2].iov_len = sizeof(xcb_out); 3194 xcb_parts[3].iov_base = 0; 3195 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 3196 3197 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 3198 return xcb_ret; 3199 } 3200 3201 3202 /***************************************************************************** 3203 ** 3204 ** xcb_void_cookie_t xcb_xfixes_show_cursor_checked 3205 ** 3206 ** @param xcb_connection_t *c 3207 ** @param xcb_window_t window 3208 ** @returns xcb_void_cookie_t 3209 ** 3210 *****************************************************************************/ 3211 3212 xcb_void_cookie_t 3213 xcb_xfixes_show_cursor_checked (xcb_connection_t *c /**< */, 3214 xcb_window_t window /**< */) 3215 { 3216 static const xcb_protocol_request_t xcb_req = { 3217 /* count */ 2, 3218 /* ext */ &xcb_xfixes_id, 3219 /* opcode */ XCB_XFIXES_SHOW_CURSOR, 3220 /* isvoid */ 1 3221 }; 3222 3223 struct iovec xcb_parts[4]; 3224 xcb_void_cookie_t xcb_ret; 3225 xcb_xfixes_show_cursor_request_t xcb_out; 3226 3227 xcb_out.window = window; 3228 3229 xcb_parts[2].iov_base = (char *) &xcb_out; 3230 xcb_parts[2].iov_len = sizeof(xcb_out); 3231 xcb_parts[3].iov_base = 0; 3232 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 3233 3234 xcb_ret.sequence = xcb_send_request(c, XCB_REQUEST_CHECKED, xcb_parts + 2, &xcb_req); 3235 return xcb_ret; 3236 } 3237 3238 3239 /***************************************************************************** 3240 ** 3241 ** xcb_void_cookie_t xcb_xfixes_show_cursor 3242 ** 3243 ** @param xcb_connection_t *c 3244 ** @param xcb_window_t window 3245 ** @returns xcb_void_cookie_t 3246 ** 3247 *****************************************************************************/ 3248 3249 xcb_void_cookie_t 3250 xcb_xfixes_show_cursor (xcb_connection_t *c /**< */, 3251 xcb_window_t window /**< */) 3252 { 3253 static const xcb_protocol_request_t xcb_req = { 3254 /* count */ 2, 3255 /* ext */ &xcb_xfixes_id, 3256 /* opcode */ XCB_XFIXES_SHOW_CURSOR, 3257 /* isvoid */ 1 3258 }; 3259 3260 struct iovec xcb_parts[4]; 3261 xcb_void_cookie_t xcb_ret; 3262 xcb_xfixes_show_cursor_request_t xcb_out; 3263 3264 xcb_out.window = window; 3265 3266 xcb_parts[2].iov_base = (char *) &xcb_out; 3267 xcb_parts[2].iov_len = sizeof(xcb_out); 3268 xcb_parts[3].iov_base = 0; 3269 xcb_parts[3].iov_len = -xcb_parts[2].iov_len & 3; 3270 3271 xcb_ret.sequence = xcb_send_request(c, 0, xcb_parts + 2, &xcb_req); 3272 return xcb_ret; 3273 } 3274 3275