00001
00002
00003
00004
00005
00012 #ifndef __COMPOSITE_H
00013 #define __COMPOSITE_H
00014
00015 #include "xcb.h"
00016 #include "xproto.h"
00017 #include "xfixes.h"
00018
00019 #define XCB_COMPOSITE_MAJOR_VERSION 0
00020 #define XCB_COMPOSITE_MINOR_VERSION 3
00021
00022 extern xcb_extension_t xcb_composite_id;
00023
00024 typedef enum xcb_composite_redirect_t {
00025 XCB_COMPOSITE_REDIRECT_AUTOMATIC,
00026 XCB_COMPOSITE_REDIRECT_MANUAL
00027 } xcb_composite_redirect_t;
00028
00032 typedef struct xcb_composite_query_version_cookie_t {
00033 unsigned int sequence;
00034 } xcb_composite_query_version_cookie_t;
00035
00037 #define XCB_COMPOSITE_QUERY_VERSION 0
00038
00042 typedef struct xcb_composite_query_version_request_t {
00043 uint8_t major_opcode;
00044 uint8_t minor_opcode;
00045 uint16_t length;
00046 uint32_t client_major_version;
00047 uint32_t client_minor_version;
00048 } xcb_composite_query_version_request_t;
00049
00053 typedef struct xcb_composite_query_version_reply_t {
00054 uint8_t response_type;
00055 uint8_t pad0;
00056 uint16_t sequence;
00057 uint32_t length;
00058 uint32_t major_version;
00059 uint32_t minor_version;
00060 uint8_t pad1[16];
00061 } xcb_composite_query_version_reply_t;
00062
00064 #define XCB_COMPOSITE_REDIRECT_WINDOW 1
00065
00069 typedef struct xcb_composite_redirect_window_request_t {
00070 uint8_t major_opcode;
00071 uint8_t minor_opcode;
00072 uint16_t length;
00073 xcb_window_t window;
00074 uint8_t update;
00075 uint8_t pad0[3];
00076 } xcb_composite_redirect_window_request_t;
00077
00079 #define XCB_COMPOSITE_REDIRECT_SUBWINDOWS 2
00080
00084 typedef struct xcb_composite_redirect_subwindows_request_t {
00085 uint8_t major_opcode;
00086 uint8_t minor_opcode;
00087 uint16_t length;
00088 xcb_window_t window;
00089 uint8_t update;
00090 uint8_t pad0[3];
00091 } xcb_composite_redirect_subwindows_request_t;
00092
00094 #define XCB_COMPOSITE_UNREDIRECT_WINDOW 3
00095
00099 typedef struct xcb_composite_unredirect_window_request_t {
00100 uint8_t major_opcode;
00101 uint8_t minor_opcode;
00102 uint16_t length;
00103 xcb_window_t window;
00104 uint8_t update;
00105 uint8_t pad0[3];
00106 } xcb_composite_unredirect_window_request_t;
00107
00109 #define XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS 4
00110
00114 typedef struct xcb_composite_unredirect_subwindows_request_t {
00115 uint8_t major_opcode;
00116 uint8_t minor_opcode;
00117 uint16_t length;
00118 xcb_window_t window;
00119 uint8_t update;
00120 uint8_t pad0[3];
00121 } xcb_composite_unredirect_subwindows_request_t;
00122
00124 #define XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP 5
00125
00129 typedef struct xcb_composite_create_region_from_border_clip_request_t {
00130 uint8_t major_opcode;
00131 uint8_t minor_opcode;
00132 uint16_t length;
00133 xcb_xfixes_region_t region;
00134 xcb_window_t window;
00135 } xcb_composite_create_region_from_border_clip_request_t;
00136
00138 #define XCB_COMPOSITE_NAME_WINDOW_PIXMAP 6
00139
00143 typedef struct xcb_composite_name_window_pixmap_request_t {
00144 uint8_t major_opcode;
00145 uint8_t minor_opcode;
00146 uint16_t length;
00147 xcb_window_t window;
00148 xcb_pixmap_t pixmap;
00149 } xcb_composite_name_window_pixmap_request_t;
00150
00154 typedef struct xcb_composite_get_overlay_window_cookie_t {
00155 unsigned int sequence;
00156 } xcb_composite_get_overlay_window_cookie_t;
00157
00159 #define XCB_COMPOSITE_GET_OVERLAY_WINDOW 7
00160
00164 typedef struct xcb_composite_get_overlay_window_request_t {
00165 uint8_t major_opcode;
00166 uint8_t minor_opcode;
00167 uint16_t length;
00168 xcb_window_t window;
00169 } xcb_composite_get_overlay_window_request_t;
00170
00174 typedef struct xcb_composite_get_overlay_window_reply_t {
00175 uint8_t response_type;
00176 uint8_t pad0;
00177 uint16_t sequence;
00178 uint32_t length;
00179 xcb_window_t overlay_win;
00180 uint8_t pad1[20];
00181 } xcb_composite_get_overlay_window_reply_t;
00182
00184 #define XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW 8
00185
00189 typedef struct xcb_composite_release_overlay_window_request_t {
00190 uint8_t major_opcode;
00191 uint8_t minor_opcode;
00192 uint16_t length;
00193 xcb_window_t window;
00194 } xcb_composite_release_overlay_window_request_t;
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208 xcb_composite_query_version_cookie_t
00209 xcb_composite_query_version (xcb_connection_t *c ,
00210 uint32_t client_major_version ,
00211 uint32_t client_minor_version );
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225 xcb_composite_query_version_cookie_t
00226 xcb_composite_query_version_unchecked (xcb_connection_t *c ,
00227 uint32_t client_major_version ,
00228 uint32_t client_minor_version );
00229
00230
00231
00232
00233
00234
00235
00236
00237
00238
00239
00240
00241
00242 xcb_composite_query_version_reply_t *
00243 xcb_composite_query_version_reply (xcb_connection_t *c ,
00244 xcb_composite_query_version_cookie_t cookie ,
00245 xcb_generic_error_t **e );
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259 xcb_void_cookie_t
00260 xcb_composite_redirect_window_checked (xcb_connection_t *c ,
00261 xcb_window_t window ,
00262 uint8_t update );
00263
00264
00265
00266
00267
00268
00269
00270
00271
00272
00273
00274
00275
00276 xcb_void_cookie_t
00277 xcb_composite_redirect_window (xcb_connection_t *c ,
00278 xcb_window_t window ,
00279 uint8_t update );
00280
00281
00282
00283
00284
00285
00286
00287
00288
00289
00290
00291
00292
00293 xcb_void_cookie_t
00294 xcb_composite_redirect_subwindows_checked (xcb_connection_t *c ,
00295 xcb_window_t window ,
00296 uint8_t update );
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310 xcb_void_cookie_t
00311 xcb_composite_redirect_subwindows (xcb_connection_t *c ,
00312 xcb_window_t window ,
00313 uint8_t update );
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327 xcb_void_cookie_t
00328 xcb_composite_unredirect_window_checked (xcb_connection_t *c ,
00329 xcb_window_t window ,
00330 uint8_t update );
00331
00332
00333
00334
00335
00336
00337
00338
00339
00340
00341
00342
00343
00344 xcb_void_cookie_t
00345 xcb_composite_unredirect_window (xcb_connection_t *c ,
00346 xcb_window_t window ,
00347 uint8_t update );
00348
00349
00350
00351
00352
00353
00354
00355
00356
00357
00358
00359
00360
00361 xcb_void_cookie_t
00362 xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c ,
00363 xcb_window_t window ,
00364 uint8_t update );
00365
00366
00367
00368
00369
00370
00371
00372
00373
00374
00375
00376
00377
00378 xcb_void_cookie_t
00379 xcb_composite_unredirect_subwindows (xcb_connection_t *c ,
00380 xcb_window_t window ,
00381 uint8_t update );
00382
00383
00384
00385
00386
00387
00388
00389
00390
00391
00392
00393
00394
00395 xcb_void_cookie_t
00396 xcb_composite_create_region_from_border_clip_checked (xcb_connection_t *c ,
00397 xcb_xfixes_region_t region ,
00398 xcb_window_t window );
00399
00400
00401
00402
00403
00404
00405
00406
00407
00408
00409
00410
00411
00412 xcb_void_cookie_t
00413 xcb_composite_create_region_from_border_clip (xcb_connection_t *c ,
00414 xcb_xfixes_region_t region ,
00415 xcb_window_t window );
00416
00417
00418
00419
00420
00421
00422
00423
00424
00425
00426
00427
00428
00429 xcb_void_cookie_t
00430 xcb_composite_name_window_pixmap_checked (xcb_connection_t *c ,
00431 xcb_window_t window ,
00432 xcb_pixmap_t pixmap );
00433
00434
00435
00436
00437
00438
00439
00440
00441
00442
00443
00444
00445
00446 xcb_void_cookie_t
00447 xcb_composite_name_window_pixmap (xcb_connection_t *c ,
00448 xcb_window_t window ,
00449 xcb_pixmap_t pixmap );
00450
00451
00452
00453
00454
00455
00456
00457
00458
00459
00460
00461
00462 xcb_composite_get_overlay_window_cookie_t
00463 xcb_composite_get_overlay_window (xcb_connection_t *c ,
00464 xcb_window_t window );
00465
00466
00467
00468
00469
00470
00471
00472
00473
00474
00475
00476
00477 xcb_composite_get_overlay_window_cookie_t
00478 xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c ,
00479 xcb_window_t window );
00480
00481
00482
00483
00484
00485
00486
00487
00488
00489
00490
00491
00492
00493 xcb_composite_get_overlay_window_reply_t *
00494 xcb_composite_get_overlay_window_reply (xcb_connection_t *c ,
00495 xcb_composite_get_overlay_window_cookie_t cookie ,
00496 xcb_generic_error_t **e );
00497
00498
00499
00500
00501
00502
00503
00504
00505
00506
00507
00508
00509 xcb_void_cookie_t
00510 xcb_composite_release_overlay_window_checked (xcb_connection_t *c ,
00511 xcb_window_t window );
00512
00513
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523
00524 xcb_void_cookie_t
00525 xcb_composite_release_overlay_window (xcb_connection_t *c ,
00526 xcb_window_t window );
00527
00528
00529 #endif
00530