00001
00002
00003
00004
00005
00012 #ifndef __XINERAMA_H
00013 #define __XINERAMA_H
00014
00015 #include "xcb.h"
00016 #include "xproto.h"
00017
00018 #ifdef __cplusplus
00019 extern "C" {
00020 #endif
00021
00022 #define XCB_XINERAMA_MAJOR_VERSION 1
00023 #define XCB_XINERAMA_MINOR_VERSION 1
00024
00025 extern xcb_extension_t xcb_xinerama_id;
00026
00030 typedef struct xcb_xinerama_screen_info_t {
00031 int16_t x_org;
00032 int16_t y_org;
00033 uint16_t width;
00034 uint16_t height;
00035 } xcb_xinerama_screen_info_t;
00036
00040 typedef struct xcb_xinerama_screen_info_iterator_t {
00041 xcb_xinerama_screen_info_t *data;
00042 int rem;
00043 int index;
00044 } xcb_xinerama_screen_info_iterator_t;
00045
00049 typedef struct xcb_xinerama_query_version_cookie_t {
00050 unsigned int sequence;
00051 } xcb_xinerama_query_version_cookie_t;
00052
00054 #define XCB_XINERAMA_QUERY_VERSION 0
00055
00059 typedef struct xcb_xinerama_query_version_request_t {
00060 uint8_t major_opcode;
00061 uint8_t minor_opcode;
00062 uint16_t length;
00063 uint8_t major;
00064 uint8_t minor;
00065 } xcb_xinerama_query_version_request_t;
00066
00070 typedef struct xcb_xinerama_query_version_reply_t {
00071 uint8_t response_type;
00072 uint8_t pad0;
00073 uint16_t sequence;
00074 uint32_t length;
00075 uint16_t major;
00076 uint16_t minor;
00077 } xcb_xinerama_query_version_reply_t;
00078
00082 typedef struct xcb_xinerama_get_state_cookie_t {
00083 unsigned int sequence;
00084 } xcb_xinerama_get_state_cookie_t;
00085
00087 #define XCB_XINERAMA_GET_STATE 1
00088
00092 typedef struct xcb_xinerama_get_state_request_t {
00093 uint8_t major_opcode;
00094 uint8_t minor_opcode;
00095 uint16_t length;
00096 xcb_window_t window;
00097 } xcb_xinerama_get_state_request_t;
00098
00102 typedef struct xcb_xinerama_get_state_reply_t {
00103 uint8_t response_type;
00104 uint8_t state;
00105 uint16_t sequence;
00106 uint32_t length;
00107 xcb_window_t window;
00108 } xcb_xinerama_get_state_reply_t;
00109
00113 typedef struct xcb_xinerama_get_screen_count_cookie_t {
00114 unsigned int sequence;
00115 } xcb_xinerama_get_screen_count_cookie_t;
00116
00118 #define XCB_XINERAMA_GET_SCREEN_COUNT 2
00119
00123 typedef struct xcb_xinerama_get_screen_count_request_t {
00124 uint8_t major_opcode;
00125 uint8_t minor_opcode;
00126 uint16_t length;
00127 xcb_window_t window;
00128 } xcb_xinerama_get_screen_count_request_t;
00129
00133 typedef struct xcb_xinerama_get_screen_count_reply_t {
00134 uint8_t response_type;
00135 uint8_t screen_count;
00136 uint16_t sequence;
00137 uint32_t length;
00138 xcb_window_t window;
00139 } xcb_xinerama_get_screen_count_reply_t;
00140
00144 typedef struct xcb_xinerama_get_screen_size_cookie_t {
00145 unsigned int sequence;
00146 } xcb_xinerama_get_screen_size_cookie_t;
00147
00149 #define XCB_XINERAMA_GET_SCREEN_SIZE 3
00150
00154 typedef struct xcb_xinerama_get_screen_size_request_t {
00155 uint8_t major_opcode;
00156 uint8_t minor_opcode;
00157 uint16_t length;
00158 xcb_window_t window;
00159 uint32_t screen;
00160 } xcb_xinerama_get_screen_size_request_t;
00161
00165 typedef struct xcb_xinerama_get_screen_size_reply_t {
00166 uint8_t response_type;
00167 uint8_t pad0;
00168 uint16_t sequence;
00169 uint32_t length;
00170 uint32_t width;
00171 uint32_t height;
00172 xcb_window_t window;
00173 uint32_t screen;
00174 } xcb_xinerama_get_screen_size_reply_t;
00175
00179 typedef struct xcb_xinerama_is_active_cookie_t {
00180 unsigned int sequence;
00181 } xcb_xinerama_is_active_cookie_t;
00182
00184 #define XCB_XINERAMA_IS_ACTIVE 4
00185
00189 typedef struct xcb_xinerama_is_active_request_t {
00190 uint8_t major_opcode;
00191 uint8_t minor_opcode;
00192 uint16_t length;
00193 } xcb_xinerama_is_active_request_t;
00194
00198 typedef struct xcb_xinerama_is_active_reply_t {
00199 uint8_t response_type;
00200 uint8_t pad0;
00201 uint16_t sequence;
00202 uint32_t length;
00203 uint32_t state;
00204 } xcb_xinerama_is_active_reply_t;
00205
00209 typedef struct xcb_xinerama_query_screens_cookie_t {
00210 unsigned int sequence;
00211 } xcb_xinerama_query_screens_cookie_t;
00212
00214 #define XCB_XINERAMA_QUERY_SCREENS 5
00215
00219 typedef struct xcb_xinerama_query_screens_request_t {
00220 uint8_t major_opcode;
00221 uint8_t minor_opcode;
00222 uint16_t length;
00223 } xcb_xinerama_query_screens_request_t;
00224
00228 typedef struct xcb_xinerama_query_screens_reply_t {
00229 uint8_t response_type;
00230 uint8_t pad0;
00231 uint16_t sequence;
00232 uint32_t length;
00233 uint32_t number;
00234 uint8_t pad1[20];
00235 } xcb_xinerama_query_screens_reply_t;
00236
00245 void
00246 xcb_xinerama_screen_info_next (xcb_xinerama_screen_info_iterator_t *i);
00247
00257 xcb_generic_iterator_t
00258 xcb_xinerama_screen_info_end (xcb_xinerama_screen_info_iterator_t i);
00259
00268 xcb_xinerama_query_version_cookie_t
00269 xcb_xinerama_query_version (xcb_connection_t *c,
00270 uint8_t major,
00271 uint8_t minor);
00272
00284 xcb_xinerama_query_version_cookie_t
00285 xcb_xinerama_query_version_unchecked (xcb_connection_t *c,
00286 uint8_t major,
00287 uint8_t minor);
00288
00303 xcb_xinerama_query_version_reply_t *
00304 xcb_xinerama_query_version_reply (xcb_connection_t *c,
00305 xcb_xinerama_query_version_cookie_t cookie ,
00306 xcb_generic_error_t **e);
00307
00316 xcb_xinerama_get_state_cookie_t
00317 xcb_xinerama_get_state (xcb_connection_t *c,
00318 xcb_window_t window);
00319
00331 xcb_xinerama_get_state_cookie_t
00332 xcb_xinerama_get_state_unchecked (xcb_connection_t *c,
00333 xcb_window_t window);
00334
00349 xcb_xinerama_get_state_reply_t *
00350 xcb_xinerama_get_state_reply (xcb_connection_t *c,
00351 xcb_xinerama_get_state_cookie_t cookie ,
00352 xcb_generic_error_t **e);
00353
00362 xcb_xinerama_get_screen_count_cookie_t
00363 xcb_xinerama_get_screen_count (xcb_connection_t *c,
00364 xcb_window_t window);
00365
00377 xcb_xinerama_get_screen_count_cookie_t
00378 xcb_xinerama_get_screen_count_unchecked (xcb_connection_t *c,
00379 xcb_window_t window);
00380
00395 xcb_xinerama_get_screen_count_reply_t *
00396 xcb_xinerama_get_screen_count_reply (xcb_connection_t *c,
00397 xcb_xinerama_get_screen_count_cookie_t cookie ,
00398 xcb_generic_error_t **e);
00399
00408 xcb_xinerama_get_screen_size_cookie_t
00409 xcb_xinerama_get_screen_size (xcb_connection_t *c,
00410 xcb_window_t window,
00411 uint32_t screen);
00412
00424 xcb_xinerama_get_screen_size_cookie_t
00425 xcb_xinerama_get_screen_size_unchecked (xcb_connection_t *c,
00426 xcb_window_t window,
00427 uint32_t screen);
00428
00443 xcb_xinerama_get_screen_size_reply_t *
00444 xcb_xinerama_get_screen_size_reply (xcb_connection_t *c,
00445 xcb_xinerama_get_screen_size_cookie_t cookie ,
00446 xcb_generic_error_t **e);
00447
00456 xcb_xinerama_is_active_cookie_t
00457 xcb_xinerama_is_active (xcb_connection_t *c);
00458
00470 xcb_xinerama_is_active_cookie_t
00471 xcb_xinerama_is_active_unchecked (xcb_connection_t *c);
00472
00487 xcb_xinerama_is_active_reply_t *
00488 xcb_xinerama_is_active_reply (xcb_connection_t *c,
00489 xcb_xinerama_is_active_cookie_t cookie ,
00490 xcb_generic_error_t **e);
00491
00492 int
00493 xcb_xinerama_query_screens_sizeof (const void *_buffer);
00494
00503 xcb_xinerama_query_screens_cookie_t
00504 xcb_xinerama_query_screens (xcb_connection_t *c);
00505
00517 xcb_xinerama_query_screens_cookie_t
00518 xcb_xinerama_query_screens_unchecked (xcb_connection_t *c);
00519
00520 xcb_xinerama_screen_info_t *
00521 xcb_xinerama_query_screens_screen_info (const xcb_xinerama_query_screens_reply_t *R);
00522
00523 int
00524 xcb_xinerama_query_screens_screen_info_length (const xcb_xinerama_query_screens_reply_t *R);
00525
00526 xcb_xinerama_screen_info_iterator_t
00527 xcb_xinerama_query_screens_screen_info_iterator (const xcb_xinerama_query_screens_reply_t *R);
00528
00543 xcb_xinerama_query_screens_reply_t *
00544 xcb_xinerama_query_screens_reply (xcb_connection_t *c,
00545 xcb_xinerama_query_screens_cookie_t cookie ,
00546 xcb_generic_error_t **e);
00547
00548
00549 #ifdef __cplusplus
00550 }
00551 #endif
00552
00553 #endif
00554