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 #ifdef __cplusplus
00020 extern "C" {
00021 #endif
00022
00023 #define XCB_COMPOSITE_MAJOR_VERSION 0
00024 #define XCB_COMPOSITE_MINOR_VERSION 4
00025
00026 extern xcb_extension_t xcb_composite_id;
00027
00028 typedef enum xcb_composite_redirect_t {
00029 XCB_COMPOSITE_REDIRECT_AUTOMATIC = 0,
00030 XCB_COMPOSITE_REDIRECT_MANUAL = 1
00031 } xcb_composite_redirect_t;
00032
00036 typedef struct xcb_composite_query_version_cookie_t {
00037 unsigned int sequence;
00038 } xcb_composite_query_version_cookie_t;
00039
00041 #define XCB_COMPOSITE_QUERY_VERSION 0
00042
00046 typedef struct xcb_composite_query_version_request_t {
00047 uint8_t major_opcode;
00048 uint8_t minor_opcode;
00049 uint16_t length;
00050 uint32_t client_major_version;
00051 uint32_t client_minor_version;
00052 } xcb_composite_query_version_request_t;
00053
00057 typedef struct xcb_composite_query_version_reply_t {
00058 uint8_t response_type;
00059 uint8_t pad0;
00060 uint16_t sequence;
00061 uint32_t length;
00062 uint32_t major_version;
00063 uint32_t minor_version;
00064 uint8_t pad1[16];
00065 } xcb_composite_query_version_reply_t;
00066
00068 #define XCB_COMPOSITE_REDIRECT_WINDOW 1
00069
00073 typedef struct xcb_composite_redirect_window_request_t {
00074 uint8_t major_opcode;
00075 uint8_t minor_opcode;
00076 uint16_t length;
00077 xcb_window_t window;
00078 uint8_t update;
00079 uint8_t pad0[3];
00080 } xcb_composite_redirect_window_request_t;
00081
00083 #define XCB_COMPOSITE_REDIRECT_SUBWINDOWS 2
00084
00088 typedef struct xcb_composite_redirect_subwindows_request_t {
00089 uint8_t major_opcode;
00090 uint8_t minor_opcode;
00091 uint16_t length;
00092 xcb_window_t window;
00093 uint8_t update;
00094 uint8_t pad0[3];
00095 } xcb_composite_redirect_subwindows_request_t;
00096
00098 #define XCB_COMPOSITE_UNREDIRECT_WINDOW 3
00099
00103 typedef struct xcb_composite_unredirect_window_request_t {
00104 uint8_t major_opcode;
00105 uint8_t minor_opcode;
00106 uint16_t length;
00107 xcb_window_t window;
00108 uint8_t update;
00109 uint8_t pad0[3];
00110 } xcb_composite_unredirect_window_request_t;
00111
00113 #define XCB_COMPOSITE_UNREDIRECT_SUBWINDOWS 4
00114
00118 typedef struct xcb_composite_unredirect_subwindows_request_t {
00119 uint8_t major_opcode;
00120 uint8_t minor_opcode;
00121 uint16_t length;
00122 xcb_window_t window;
00123 uint8_t update;
00124 uint8_t pad0[3];
00125 } xcb_composite_unredirect_subwindows_request_t;
00126
00128 #define XCB_COMPOSITE_CREATE_REGION_FROM_BORDER_CLIP 5
00129
00133 typedef struct xcb_composite_create_region_from_border_clip_request_t {
00134 uint8_t major_opcode;
00135 uint8_t minor_opcode;
00136 uint16_t length;
00137 xcb_xfixes_region_t region;
00138 xcb_window_t window;
00139 } xcb_composite_create_region_from_border_clip_request_t;
00140
00142 #define XCB_COMPOSITE_NAME_WINDOW_PIXMAP 6
00143
00147 typedef struct xcb_composite_name_window_pixmap_request_t {
00148 uint8_t major_opcode;
00149 uint8_t minor_opcode;
00150 uint16_t length;
00151 xcb_window_t window;
00152 xcb_pixmap_t pixmap;
00153 } xcb_composite_name_window_pixmap_request_t;
00154
00158 typedef struct xcb_composite_get_overlay_window_cookie_t {
00159 unsigned int sequence;
00160 } xcb_composite_get_overlay_window_cookie_t;
00161
00163 #define XCB_COMPOSITE_GET_OVERLAY_WINDOW 7
00164
00168 typedef struct xcb_composite_get_overlay_window_request_t {
00169 uint8_t major_opcode;
00170 uint8_t minor_opcode;
00171 uint16_t length;
00172 xcb_window_t window;
00173 } xcb_composite_get_overlay_window_request_t;
00174
00178 typedef struct xcb_composite_get_overlay_window_reply_t {
00179 uint8_t response_type;
00180 uint8_t pad0;
00181 uint16_t sequence;
00182 uint32_t length;
00183 xcb_window_t overlay_win;
00184 uint8_t pad1[20];
00185 } xcb_composite_get_overlay_window_reply_t;
00186
00188 #define XCB_COMPOSITE_RELEASE_OVERLAY_WINDOW 8
00189
00193 typedef struct xcb_composite_release_overlay_window_request_t {
00194 uint8_t major_opcode;
00195 uint8_t minor_opcode;
00196 uint16_t length;
00197 xcb_window_t window;
00198 } xcb_composite_release_overlay_window_request_t;
00199
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
00224 xcb_composite_query_version_cookie_t
00225 xcb_composite_query_version_unchecked (xcb_connection_t *c ,
00226 uint32_t client_major_version ,
00227 uint32_t client_minor_version );
00228
00243 xcb_composite_query_version_reply_t *
00244 xcb_composite_query_version_reply (xcb_connection_t *c ,
00245 xcb_composite_query_version_cookie_t cookie ,
00246 xcb_generic_error_t **e );
00247
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
00272 xcb_void_cookie_t
00273 xcb_composite_redirect_window (xcb_connection_t *c ,
00274 xcb_window_t window ,
00275 uint8_t update );
00276
00288 xcb_void_cookie_t
00289 xcb_composite_redirect_subwindows_checked (xcb_connection_t *c ,
00290 xcb_window_t window ,
00291 uint8_t update );
00292
00301 xcb_void_cookie_t
00302 xcb_composite_redirect_subwindows (xcb_connection_t *c ,
00303 xcb_window_t window ,
00304 uint8_t update );
00305
00317 xcb_void_cookie_t
00318 xcb_composite_unredirect_window_checked (xcb_connection_t *c ,
00319 xcb_window_t window ,
00320 uint8_t update );
00321
00330 xcb_void_cookie_t
00331 xcb_composite_unredirect_window (xcb_connection_t *c ,
00332 xcb_window_t window ,
00333 uint8_t update );
00334
00346 xcb_void_cookie_t
00347 xcb_composite_unredirect_subwindows_checked (xcb_connection_t *c ,
00348 xcb_window_t window ,
00349 uint8_t update );
00350
00359 xcb_void_cookie_t
00360 xcb_composite_unredirect_subwindows (xcb_connection_t *c ,
00361 xcb_window_t window ,
00362 uint8_t update );
00363
00375 xcb_void_cookie_t
00376 xcb_composite_create_region_from_border_clip_checked (xcb_connection_t *c ,
00377 xcb_xfixes_region_t region ,
00378 xcb_window_t window );
00379
00388 xcb_void_cookie_t
00389 xcb_composite_create_region_from_border_clip (xcb_connection_t *c ,
00390 xcb_xfixes_region_t region ,
00391 xcb_window_t window );
00392
00404 xcb_void_cookie_t
00405 xcb_composite_name_window_pixmap_checked (xcb_connection_t *c ,
00406 xcb_window_t window ,
00407 xcb_pixmap_t pixmap );
00408
00417 xcb_void_cookie_t
00418 xcb_composite_name_window_pixmap (xcb_connection_t *c ,
00419 xcb_window_t window ,
00420 xcb_pixmap_t pixmap );
00421
00430 xcb_composite_get_overlay_window_cookie_t
00431 xcb_composite_get_overlay_window (xcb_connection_t *c ,
00432 xcb_window_t window );
00433
00445 xcb_composite_get_overlay_window_cookie_t
00446 xcb_composite_get_overlay_window_unchecked (xcb_connection_t *c ,
00447 xcb_window_t window );
00448
00463 xcb_composite_get_overlay_window_reply_t *
00464 xcb_composite_get_overlay_window_reply (xcb_connection_t *c ,
00465 xcb_composite_get_overlay_window_cookie_t cookie ,
00466 xcb_generic_error_t **e );
00467
00479 xcb_void_cookie_t
00480 xcb_composite_release_overlay_window_checked (xcb_connection_t *c ,
00481 xcb_window_t window );
00482
00491 xcb_void_cookie_t
00492 xcb_composite_release_overlay_window (xcb_connection_t *c ,
00493 xcb_window_t window );
00494
00495
00496 #ifdef __cplusplus
00497 }
00498 #endif
00499
00500 #endif
00501