XCB
1.13.1
|
00001 /* 00002 * This file generated automatically from present.xml by c_client.py. 00003 * Edit at your peril. 00004 */ 00005 00012 #ifndef __PRESENT_H 00013 #define __PRESENT_H 00014 00015 #include "xcb.h" 00016 #include "xproto.h" 00017 #include "randr.h" 00018 #include "xfixes.h" 00019 #include "sync.h" 00020 00021 #ifdef __cplusplus 00022 extern "C" { 00023 #endif 00024 00025 #define XCB_PRESENT_MAJOR_VERSION 1 00026 #define XCB_PRESENT_MINOR_VERSION 2 00027 00028 extern xcb_extension_t xcb_present_id; 00029 00030 typedef enum xcb_present_event_enum_t { 00031 XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0, 00032 XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1, 00033 XCB_PRESENT_EVENT_IDLE_NOTIFY = 2, 00034 XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3 00035 } xcb_present_event_enum_t; 00036 00037 typedef enum xcb_present_event_mask_t { 00038 XCB_PRESENT_EVENT_MASK_NO_EVENT = 0, 00039 XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1, 00040 XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2, 00041 XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4, 00042 XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8 00043 } xcb_present_event_mask_t; 00044 00045 typedef enum xcb_present_option_t { 00046 XCB_PRESENT_OPTION_NONE = 0, 00047 XCB_PRESENT_OPTION_ASYNC = 1, 00048 XCB_PRESENT_OPTION_COPY = 2, 00049 XCB_PRESENT_OPTION_UST = 4, 00050 XCB_PRESENT_OPTION_SUBOPTIMAL = 8 00051 } xcb_present_option_t; 00052 00053 typedef enum xcb_present_capability_t { 00054 XCB_PRESENT_CAPABILITY_NONE = 0, 00055 XCB_PRESENT_CAPABILITY_ASYNC = 1, 00056 XCB_PRESENT_CAPABILITY_FENCE = 2, 00057 XCB_PRESENT_CAPABILITY_UST = 4 00058 } xcb_present_capability_t; 00059 00060 typedef enum xcb_present_complete_kind_t { 00061 XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0, 00062 XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1 00063 } xcb_present_complete_kind_t; 00064 00065 typedef enum xcb_present_complete_mode_t { 00066 XCB_PRESENT_COMPLETE_MODE_COPY = 0, 00067 XCB_PRESENT_COMPLETE_MODE_FLIP = 1, 00068 XCB_PRESENT_COMPLETE_MODE_SKIP = 2, 00069 XCB_PRESENT_COMPLETE_MODE_SUBOPTIMAL_COPY = 3 00070 } xcb_present_complete_mode_t; 00071 00075 typedef struct xcb_present_notify_t { 00076 xcb_window_t window; 00077 uint32_t serial; 00078 } xcb_present_notify_t; 00079 00083 typedef struct xcb_present_notify_iterator_t { 00084 xcb_present_notify_t *data; 00085 int rem; 00086 int index; 00087 } xcb_present_notify_iterator_t; 00088 00092 typedef struct xcb_present_query_version_cookie_t { 00093 unsigned int sequence; 00094 } xcb_present_query_version_cookie_t; 00095 00097 #define XCB_PRESENT_QUERY_VERSION 0 00098 00102 typedef struct xcb_present_query_version_request_t { 00103 uint8_t major_opcode; 00104 uint8_t minor_opcode; 00105 uint16_t length; 00106 uint32_t major_version; 00107 uint32_t minor_version; 00108 } xcb_present_query_version_request_t; 00109 00113 typedef struct xcb_present_query_version_reply_t { 00114 uint8_t response_type; 00115 uint8_t pad0; 00116 uint16_t sequence; 00117 uint32_t length; 00118 uint32_t major_version; 00119 uint32_t minor_version; 00120 } xcb_present_query_version_reply_t; 00121 00123 #define XCB_PRESENT_PIXMAP 1 00124 00128 typedef struct xcb_present_pixmap_request_t { 00129 uint8_t major_opcode; 00130 uint8_t minor_opcode; 00131 uint16_t length; 00132 xcb_window_t window; 00133 xcb_pixmap_t pixmap; 00134 uint32_t serial; 00135 xcb_xfixes_region_t valid; 00136 xcb_xfixes_region_t update; 00137 int16_t x_off; 00138 int16_t y_off; 00139 xcb_randr_crtc_t target_crtc; 00140 xcb_sync_fence_t wait_fence; 00141 xcb_sync_fence_t idle_fence; 00142 uint32_t options; 00143 uint8_t pad0[4]; 00144 uint64_t target_msc; 00145 uint64_t divisor; 00146 uint64_t remainder; 00147 } xcb_present_pixmap_request_t; 00148 00150 #define XCB_PRESENT_NOTIFY_MSC 2 00151 00155 typedef struct xcb_present_notify_msc_request_t { 00156 uint8_t major_opcode; 00157 uint8_t minor_opcode; 00158 uint16_t length; 00159 xcb_window_t window; 00160 uint32_t serial; 00161 uint8_t pad0[4]; 00162 uint64_t target_msc; 00163 uint64_t divisor; 00164 uint64_t remainder; 00165 } xcb_present_notify_msc_request_t; 00166 00167 typedef uint32_t xcb_present_event_t; 00168 00172 typedef struct xcb_present_event_iterator_t { 00173 xcb_present_event_t *data; 00174 int rem; 00175 int index; 00176 } xcb_present_event_iterator_t; 00177 00179 #define XCB_PRESENT_SELECT_INPUT 3 00180 00184 typedef struct xcb_present_select_input_request_t { 00185 uint8_t major_opcode; 00186 uint8_t minor_opcode; 00187 uint16_t length; 00188 xcb_present_event_t eid; 00189 xcb_window_t window; 00190 uint32_t event_mask; 00191 } xcb_present_select_input_request_t; 00192 00196 typedef struct xcb_present_query_capabilities_cookie_t { 00197 unsigned int sequence; 00198 } xcb_present_query_capabilities_cookie_t; 00199 00201 #define XCB_PRESENT_QUERY_CAPABILITIES 4 00202 00206 typedef struct xcb_present_query_capabilities_request_t { 00207 uint8_t major_opcode; 00208 uint8_t minor_opcode; 00209 uint16_t length; 00210 uint32_t target; 00211 } xcb_present_query_capabilities_request_t; 00212 00216 typedef struct xcb_present_query_capabilities_reply_t { 00217 uint8_t response_type; 00218 uint8_t pad0; 00219 uint16_t sequence; 00220 uint32_t length; 00221 uint32_t capabilities; 00222 } xcb_present_query_capabilities_reply_t; 00223 00225 #define XCB_PRESENT_GENERIC 0 00226 00230 typedef struct xcb_present_generic_event_t { 00231 uint8_t response_type; 00232 uint8_t extension; 00233 uint16_t sequence; 00234 uint32_t length; 00235 uint16_t evtype; 00236 uint8_t pad0[2]; 00237 xcb_present_event_t event; 00238 } xcb_present_generic_event_t; 00239 00241 #define XCB_PRESENT_CONFIGURE_NOTIFY 0 00242 00246 typedef struct xcb_present_configure_notify_event_t { 00247 uint8_t response_type; 00248 uint8_t extension; 00249 uint16_t sequence; 00250 uint32_t length; 00251 uint16_t event_type; 00252 uint8_t pad0[2]; 00253 xcb_present_event_t event; 00254 xcb_window_t window; 00255 int16_t x; 00256 int16_t y; 00257 uint16_t width; 00258 uint16_t height; 00259 int16_t off_x; 00260 int16_t off_y; 00261 uint32_t full_sequence; 00262 uint16_t pixmap_width; 00263 uint16_t pixmap_height; 00264 uint32_t pixmap_flags; 00265 } xcb_present_configure_notify_event_t; 00266 00268 #define XCB_PRESENT_COMPLETE_NOTIFY 1 00269 00273 typedef struct xcb_present_complete_notify_event_t { 00274 uint8_t response_type; 00275 uint8_t extension; 00276 uint16_t sequence; 00277 uint32_t length; 00278 uint16_t event_type; 00279 uint8_t kind; 00280 uint8_t mode; 00281 xcb_present_event_t event; 00282 xcb_window_t window; 00283 uint32_t serial; 00284 uint64_t ust; 00285 uint32_t full_sequence; 00286 uint64_t msc; 00287 } XCB_PACKED xcb_present_complete_notify_event_t; 00288 00290 #define XCB_PRESENT_IDLE_NOTIFY 2 00291 00295 typedef struct xcb_present_idle_notify_event_t { 00296 uint8_t response_type; 00297 uint8_t extension; 00298 uint16_t sequence; 00299 uint32_t length; 00300 uint16_t event_type; 00301 uint8_t pad0[2]; 00302 xcb_present_event_t event; 00303 xcb_window_t window; 00304 uint32_t serial; 00305 xcb_pixmap_t pixmap; 00306 xcb_sync_fence_t idle_fence; 00307 uint32_t full_sequence; 00308 } xcb_present_idle_notify_event_t; 00309 00311 #define XCB_PRESENT_REDIRECT_NOTIFY 3 00312 00316 typedef struct xcb_present_redirect_notify_event_t { 00317 uint8_t response_type; 00318 uint8_t extension; 00319 uint16_t sequence; 00320 uint32_t length; 00321 uint16_t event_type; 00322 uint8_t update_window; 00323 uint8_t pad0; 00324 xcb_present_event_t event; 00325 xcb_window_t event_window; 00326 xcb_window_t window; 00327 xcb_pixmap_t pixmap; 00328 uint32_t serial; 00329 uint32_t full_sequence; 00330 xcb_xfixes_region_t valid_region; 00331 xcb_xfixes_region_t update_region; 00332 xcb_rectangle_t valid_rect; 00333 xcb_rectangle_t update_rect; 00334 int16_t x_off; 00335 int16_t y_off; 00336 xcb_randr_crtc_t target_crtc; 00337 xcb_sync_fence_t wait_fence; 00338 xcb_sync_fence_t idle_fence; 00339 uint32_t options; 00340 uint8_t pad1[4]; 00341 uint64_t target_msc; 00342 uint64_t divisor; 00343 uint64_t remainder; 00344 } XCB_PACKED xcb_present_redirect_notify_event_t; 00345 00354 void 00355 xcb_present_notify_next (xcb_present_notify_iterator_t *i); 00356 00366 xcb_generic_iterator_t 00367 xcb_present_notify_end (xcb_present_notify_iterator_t i); 00368 00377 xcb_present_query_version_cookie_t 00378 xcb_present_query_version (xcb_connection_t *c, 00379 uint32_t major_version, 00380 uint32_t minor_version); 00381 00393 xcb_present_query_version_cookie_t 00394 xcb_present_query_version_unchecked (xcb_connection_t *c, 00395 uint32_t major_version, 00396 uint32_t minor_version); 00397 00412 xcb_present_query_version_reply_t * 00413 xcb_present_query_version_reply (xcb_connection_t *c, 00414 xcb_present_query_version_cookie_t cookie , 00415 xcb_generic_error_t **e); 00416 00417 int 00418 xcb_present_pixmap_sizeof (const void *_buffer, 00419 uint32_t notifies_len); 00420 00432 xcb_void_cookie_t 00433 xcb_present_pixmap_checked (xcb_connection_t *c, 00434 xcb_window_t window, 00435 xcb_pixmap_t pixmap, 00436 uint32_t serial, 00437 xcb_xfixes_region_t valid, 00438 xcb_xfixes_region_t update, 00439 int16_t x_off, 00440 int16_t y_off, 00441 xcb_randr_crtc_t target_crtc, 00442 xcb_sync_fence_t wait_fence, 00443 xcb_sync_fence_t idle_fence, 00444 uint32_t options, 00445 uint64_t target_msc, 00446 uint64_t divisor, 00447 uint64_t remainder, 00448 uint32_t notifies_len, 00449 const xcb_present_notify_t *notifies); 00450 00459 xcb_void_cookie_t 00460 xcb_present_pixmap (xcb_connection_t *c, 00461 xcb_window_t window, 00462 xcb_pixmap_t pixmap, 00463 uint32_t serial, 00464 xcb_xfixes_region_t valid, 00465 xcb_xfixes_region_t update, 00466 int16_t x_off, 00467 int16_t y_off, 00468 xcb_randr_crtc_t target_crtc, 00469 xcb_sync_fence_t wait_fence, 00470 xcb_sync_fence_t idle_fence, 00471 uint32_t options, 00472 uint64_t target_msc, 00473 uint64_t divisor, 00474 uint64_t remainder, 00475 uint32_t notifies_len, 00476 const xcb_present_notify_t *notifies); 00477 00478 xcb_present_notify_t * 00479 xcb_present_pixmap_notifies (const xcb_present_pixmap_request_t *R); 00480 00481 int 00482 xcb_present_pixmap_notifies_length (const xcb_present_pixmap_request_t *R); 00483 00484 xcb_present_notify_iterator_t 00485 xcb_present_pixmap_notifies_iterator (const xcb_present_pixmap_request_t *R); 00486 00498 xcb_void_cookie_t 00499 xcb_present_notify_msc_checked (xcb_connection_t *c, 00500 xcb_window_t window, 00501 uint32_t serial, 00502 uint64_t target_msc, 00503 uint64_t divisor, 00504 uint64_t remainder); 00505 00514 xcb_void_cookie_t 00515 xcb_present_notify_msc (xcb_connection_t *c, 00516 xcb_window_t window, 00517 uint32_t serial, 00518 uint64_t target_msc, 00519 uint64_t divisor, 00520 uint64_t remainder); 00521 00530 void 00531 xcb_present_event_next (xcb_present_event_iterator_t *i); 00532 00542 xcb_generic_iterator_t 00543 xcb_present_event_end (xcb_present_event_iterator_t i); 00544 00556 xcb_void_cookie_t 00557 xcb_present_select_input_checked (xcb_connection_t *c, 00558 xcb_present_event_t eid, 00559 xcb_window_t window, 00560 uint32_t event_mask); 00561 00570 xcb_void_cookie_t 00571 xcb_present_select_input (xcb_connection_t *c, 00572 xcb_present_event_t eid, 00573 xcb_window_t window, 00574 uint32_t event_mask); 00575 00584 xcb_present_query_capabilities_cookie_t 00585 xcb_present_query_capabilities (xcb_connection_t *c, 00586 uint32_t target); 00587 00599 xcb_present_query_capabilities_cookie_t 00600 xcb_present_query_capabilities_unchecked (xcb_connection_t *c, 00601 uint32_t target); 00602 00617 xcb_present_query_capabilities_reply_t * 00618 xcb_present_query_capabilities_reply (xcb_connection_t *c, 00619 xcb_present_query_capabilities_cookie_t cookie , 00620 xcb_generic_error_t **e); 00621 00622 int 00623 xcb_present_redirect_notify_sizeof (const void *_buffer, 00624 uint32_t notifies_len); 00625 00626 xcb_present_notify_t * 00627 xcb_present_redirect_notify_notifies (const xcb_present_redirect_notify_event_t *R); 00628 00629 int 00630 xcb_present_redirect_notify_notifies_length (const xcb_present_redirect_notify_event_t *R); 00631 00632 xcb_present_notify_iterator_t 00633 xcb_present_redirect_notify_notifies_iterator (const xcb_present_redirect_notify_event_t *R); 00634 00635 00636 #ifdef __cplusplus 00637 } 00638 #endif 00639 00640 #endif 00641