00001
00002
00003
00004
00005
00012 #ifndef __COMPOSITE_H
00013 #define __COMPOSITE_H
00014
00015 #include "xcb.h"
00016 #include "xproto.h"
00017 #include "render.h"
00018 #include "shape.h"
00019 #include "xfixes.h"
00020
00021 #ifdef __cplusplus
00022 extern "C" {
00023 #endif
00024
00025 #define XCB_COMPOSITE_MAJOR_VERSION 0
00026 #define XCB_COMPOSITE_MINOR_VERSION 3
00027
00028 extern xcb_extension_t xcb_composite_id;
00029
00030 typedef enum xcb_composite_redirect_t {
00031 XCB_COMPOSITE_REDIRECT_AUTOMATIC,
00032 XCB_COMPOSITE_REDIRECT_MANUAL
00033 } xcb_composite_redirect_t;
00034
00038 typedef struct xcb_composite_query_version_cookie_t {
00039 unsigned int sequence;
00040 } xcb_composite_query_version_cookie_t;
00041
00043 #define XCB_COMPOSITE_QUERY_VERSION 0
00044
00048 typedef struct xcb_composite_query_version_request_t {
00049 uint8_t major_opcode;
00050 uint8_t minor_opcode;
00051 uint16_t length;
00052 uint32_t client_major_version;
00053 uint32_t client_minor_version;
00054 } xcb_composite_query_version_request_t;
00055
00059 typedef struct xcb_composite_query_version_reply_t {
00060 uint8_t response_type;
00061 uint8_t pad0;
00062 uint16_t sequence;
00063 uint32_t length;
00064 uint32_t major_version;
00065 uint32_t minor_version;
00066 uint8_t pad1[16];
00067 } xcb_composite_query_version_reply_t;
00068
00070 #define XCB_COMPOSITE_REDIRECT_WINDOW 1
00071
00075 typedef struct xcb_composite_redirect_window_request_t {
00076 uint8_t major_opcode;
00077 uint8_t minor_opcode;
00078 uint16_t length;
00079 xcb_window_t window;
00080 uint8_t update;
00081 uint8_t pad0[3];
00082 } xcb_composite_redirect_window_request_t;
00083
00085 #define XCB_COMPOSITE_REDIRECT_SUBWINDOWS 2
00086
00090 typedef struct xcb_composite_redirect_subwindows_request_t {
00091 uint8_t major_opcode;
00092 uint8_t minor_opcode;
00093 uint16_t length;
00094 xcb_window_t window;
00095 uint8_t update;
00096 uint8_t pad0[3];
00097 } xcb_composite_redirect_subwindows_request_t;
00098
00100 #define XCB_COMPOSITE_UNREDIRECT_WINDOW 3
00101
00105 typedef struct xcb_composite_unredirect_window_request_t {
00106 uint8_t major_opcode;
00107 uint8_t minor_opcode;
00108 uint16_t length;
00109 xcb_window_t window;
00110 uint8_t update;
00111 uint8_t pad0[3];
00112 } xcb_composite_unredirect_window_request_t;
00113
00115 #define XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS 4
00116
00120 typedef struct xcb_composite_unredirect_subwindows_request_t {
00121 uint8_t major_opcode;
00122 uint8_t minor_opcode;
00123 uint16_t length;
00124 xcb_window_t window;
00125 uint8_t update;
00126 uint8_t pad0[3];
00127 } xcb_composite_unredirect_subwindows_request_t;
00128
00130 #define XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP 5
00131
00135 typedef struct xcb_composite_create_region_from_border_clip_request_t {
00136 uint8_t major_opcode;
00137 uint8_t minor_opcode;
00138 uint16_t length;
00139 xcb_xfixes_region_t region;
00140 xcb_window_t window;
00141 } xcb_composite_create_region_from_border_clip_request_t;
00142
00144 #define XCB_COMPOSITE_NAME_WINDOW_PIXMAP 6
00145
00149 typedef struct xcb_composite_name_window_pixmap_request_t {
00150 uint8_t major_opcode;
00151 uint8_t minor_opcode;
00152 uint16_t length;
00153 xcb_window_t window;
00154 xcb_pixmap_t pixmap;
00155 } xcb_composite_name_window_pixmap_request_t;
00156
00160 typedef struct xcb_composite_get_overlay_window_cookie_t {
00161 unsigned int sequence;
00162 } xcb_composite_get_overlay_window_cookie_t;
00163
00165 #define XCB_COMPOSITE_GET_OVERLAY_WINDOW 7
00166
00170 typedef struct xcb_composite_get_overlay_window_request_t {
00171 uint8_t major_opcode;
00172 uint8_t minor_opcode;
00173 uint16_t length;
00174 xcb_window_t window;
00175 } xcb_composite_get_overlay_window_request_t;
00176
00180 typedef struct xcb_composite_get_overlay_window_reply_t {
00181 uint8_t response_type;
00182 uint8_t pad0;
00183 uint16_t sequence;
00184 uint32_t length;
00185 xcb_window_t overlay_win;
00186 uint8_t pad1[20];
00187 } xcb_composite_get_overlay_window_reply_t;
00188
00190 #define XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW 8
00191
00195 typedef struct xcb_composite_release_overlay_window_request_t {
00196 uint8_t major_opcode;
00197 uint8_t minor_opcode;
00198 uint16_t length;
00199 xcb_window_t window;
00200 } xcb_composite_release_overlay_window_request_t;
00201
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222 xcb_composite_query_version_cookie_t
00223 xcb_composite_query_version (xcb_connection_t *c ,
00224 uint32_t client_major_version ,
00225 uint32_t client_minor_version );
00226
00239
00240
00241
00242
00243
00244
00245
00246
00247
00248
00249
00250 xcb_composite_query_version_cookie_t
00251 xcb_composite_query_version_unchecked (xcb_connection_t *c ,
00252 uint32_t client_major_version ,
00253 uint32_t client_minor_version );
00254
00270
00271
00272
00273
00274
00275
00276
00277
00278
00279
00280
00281 xcb_composite_query_version_reply_t *
00282 xcb_composite_query_version_reply (xcb_connection_t *c ,
00283 xcb_composite_query_version_cookie_t cookie ,
00284 xcb_generic_error_t **e );
00285
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309 xcb_void_cookie_t
00310 xcb_composite_redirect_window_checked (xcb_connection_t *c ,
00311 xcb_window_t window ,
00312 uint8_t update );
00313
00323
00324
00325
00326
00327
00328
00329
00330
00331
00332
00333
00334 xcb_void_cookie_t
00335 xcb_composite_redirect_window (xcb_connection_t *c ,
00336 xcb_window_t window ,
00337 uint8_t update );
00338
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361
00362 xcb_void_cookie_t
00363 xcb_composite_redirect_subwindows_checked (xcb_connection_t *c ,
00364 xcb_window_t window ,
00365 uint8_t update );
00366
00376
00377
00378
00379
00380
00381
00382
00383
00384
00385
00386
00387 xcb_void_cookie_t
00388 xcb_composite_redirect_subwindows (xcb_connection_t *c ,
00389 xcb_window_t window ,
00390 uint8_t update );
00391
00404
00405
00406
00407
00408
00409
00410
00411
00412
00413
00414
00415 xcb_void_cookie_t
00416 xcb_composite_unredirect_window_checked (xcb_connection_t *c ,
00417 xcb_window_t window ,
00418 uint8_t update );
00419
00429
00430
00431
00432
00433
00434
00435
00436
00437
00438
00439
00440 xcb_void_cookie_t
00441 xcb_composite_unredirect_window (xcb_connection_t *c ,
00442 xcb_window_t window ,
00443 uint8_t update );
00444
00457
00458
00459
00460
00461
00462
00463
00464
00465
00466
00467
00468 xcb_void_cookie_t
00469 xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c ,
00470 xcb_window_t window ,
00471 uint8_t update );
00472
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492
00493 xcb_void_cookie_t
00494 xcb_composite_unredirect_subwindows (xcb_connection_t *c ,
00495 xcb_window_t window ,
00496 uint8_t update );
00497
00510
00511
00512
00513
00514
00515
00516
00517
00518
00519
00520
00521 xcb_void_cookie_t
00522 xcb_composite_create_region_from_border_clip_checked (xcb_connection_t *c ,
00523 xcb_xfixes_region_t region ,
00524 xcb_window_t window );
00525
00535
00536
00537
00538
00539
00540
00541
00542
00543
00544
00545
00546 xcb_void_cookie_t
00547 xcb_composite_create_region_from_border_clip (xcb_connection_t *c ,
00548 xcb_xfixes_region_t region ,
00549 xcb_window_t window );
00550
00563
00564
00565
00566
00567
00568
00569
00570
00571
00572
00573
00574 xcb_void_cookie_t
00575 xcb_composite_name_window_pixmap_checked (xcb_connection_t *c ,
00576 xcb_window_t window ,
00577 xcb_pixmap_t pixmap );
00578
00588
00589
00590
00591
00592
00593
00594
00595
00596
00597
00598
00599 xcb_void_cookie_t
00600 xcb_composite_name_window_pixmap (xcb_connection_t *c ,
00601 xcb_window_t window ,
00602 xcb_pixmap_t pixmap );
00603
00613
00614
00615
00616
00617
00618
00619
00620
00621
00622
00623 xcb_composite_get_overlay_window_cookie_t
00624 xcb_composite_get_overlay_window (xcb_connection_t *c ,
00625 xcb_window_t window );
00626
00639
00640
00641
00642
00643
00644
00645
00646
00647
00648
00649 xcb_composite_get_overlay_window_cookie_t
00650 xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c ,
00651 xcb_window_t window );
00652
00668
00669
00670
00671
00672
00673
00674
00675
00676
00677
00678
00679 xcb_composite_get_overlay_window_reply_t *
00680 xcb_composite_get_overlay_window_reply (xcb_connection_t *c ,
00681 xcb_composite_get_overlay_window_cookie_t cookie ,
00682 xcb_generic_error_t **e );
00683
00696
00697
00698
00699
00700
00701
00702
00703
00704
00705
00706 xcb_void_cookie_t
00707 xcb_composite_release_overlay_window_checked (xcb_connection_t *c ,
00708 xcb_window_t window );
00709
00719
00720
00721
00722
00723
00724
00725
00726
00727
00728
00729 xcb_void_cookie_t
00730 xcb_composite_release_overlay_window (xcb_connection_t *c ,
00731 xcb_window_t window );
00732
00733
00734 #ifdef __cplusplus
00735 }
00736 #endif
00737
00738 #endif
00739