XCB 1.10
|
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 "render.h" 00018 #include "randr.h" 00019 #include "shape.h" 00020 #include "xfixes.h" 00021 #include "sync.h" 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 #define XCB_PRESENT_MAJOR_VERSION 1 00028 #define XCB_PRESENT_MINOR_VERSION 0 00029 00030 extern xcb_extension_t xcb_present_id; 00031 00032 typedef enum xcb_present_event_enum_t { 00033 XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0, 00034 XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1, 00035 XCB_PRESENT_EVENT_IDLE_NOTIFY = 2, 00036 XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3 00037 } xcb_present_event_enum_t; 00038 00039 typedef enum xcb_present_event_mask_t { 00040 XCB_PRESENT_EVENT_MASK_NO_EVENT = 0, 00041 XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1, 00042 XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2, 00043 XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4, 00044 XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8 00045 } xcb_present_event_mask_t; 00046 00047 typedef enum xcb_present_option_t { 00048 XCB_PRESENT_OPTION_NONE = 0, 00049 XCB_PRESENT_OPTION_ASYNC = 1, 00050 XCB_PRESENT_OPTION_COPY = 2, 00051 XCB_PRESENT_OPTION_UST = 4 00052 } xcb_present_option_t; 00053 00054 typedef enum xcb_present_capability_t { 00055 XCB_PRESENT_CAPABILITY_NONE = 0, 00056 XCB_PRESENT_CAPABILITY_ASYNC = 1, 00057 XCB_PRESENT_CAPABILITY_FENCE = 2, 00058 XCB_PRESENT_CAPABILITY_UST = 4 00059 } xcb_present_capability_t; 00060 00061 typedef enum xcb_present_complete_kind_t { 00062 XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0, 00063 XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1 00064 } xcb_present_complete_kind_t; 00065 00066 typedef enum xcb_present_complete_mode_t { 00067 XCB_PRESENT_COMPLETE_MODE_COPY = 0, 00068 XCB_PRESENT_COMPLETE_MODE_FLIP = 1, 00069 XCB_PRESENT_COMPLETE_MODE_SKIP = 2 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_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_present_redirect_notify_event_t; 00345 00355 /***************************************************************************** 00356 ** 00357 ** void xcb_present_notify_next 00358 ** 00359 ** @param xcb_present_notify_iterator_t *i 00360 ** @returns void 00361 ** 00362 *****************************************************************************/ 00363 00364 void 00365 xcb_present_notify_next (xcb_present_notify_iterator_t *i ); 00366 00377 /***************************************************************************** 00378 ** 00379 ** xcb_generic_iterator_t xcb_present_notify_end 00380 ** 00381 ** @param xcb_present_notify_iterator_t i 00382 ** @returns xcb_generic_iterator_t 00383 ** 00384 *****************************************************************************/ 00385 00386 xcb_generic_iterator_t 00387 xcb_present_notify_end (xcb_present_notify_iterator_t i ); 00388 00398 /***************************************************************************** 00399 ** 00400 ** xcb_present_query_version_cookie_t xcb_present_query_version 00401 ** 00402 ** @param xcb_connection_t *c 00403 ** @param uint32_t major_version 00404 ** @param uint32_t minor_version 00405 ** @returns xcb_present_query_version_cookie_t 00406 ** 00407 *****************************************************************************/ 00408 00409 xcb_present_query_version_cookie_t 00410 xcb_present_query_version (xcb_connection_t *c , 00411 uint32_t major_version , 00412 uint32_t minor_version ); 00413 00426 /***************************************************************************** 00427 ** 00428 ** xcb_present_query_version_cookie_t xcb_present_query_version_unchecked 00429 ** 00430 ** @param xcb_connection_t *c 00431 ** @param uint32_t major_version 00432 ** @param uint32_t minor_version 00433 ** @returns xcb_present_query_version_cookie_t 00434 ** 00435 *****************************************************************************/ 00436 00437 xcb_present_query_version_cookie_t 00438 xcb_present_query_version_unchecked (xcb_connection_t *c , 00439 uint32_t major_version , 00440 uint32_t minor_version ); 00441 00457 /***************************************************************************** 00458 ** 00459 ** xcb_present_query_version_reply_t * xcb_present_query_version_reply 00460 ** 00461 ** @param xcb_connection_t *c 00462 ** @param xcb_present_query_version_cookie_t cookie 00463 ** @param xcb_generic_error_t **e 00464 ** @returns xcb_present_query_version_reply_t * 00465 ** 00466 *****************************************************************************/ 00467 00468 xcb_present_query_version_reply_t * 00469 xcb_present_query_version_reply (xcb_connection_t *c , 00470 xcb_present_query_version_cookie_t cookie , 00471 xcb_generic_error_t **e ); 00472 00473 int 00474 xcb_present_pixmap_sizeof (const void *_buffer , 00475 uint32_t notifies_len ); 00476 00489 /***************************************************************************** 00490 ** 00491 ** xcb_void_cookie_t xcb_present_pixmap_checked 00492 ** 00493 ** @param xcb_connection_t *c 00494 ** @param xcb_window_t window 00495 ** @param xcb_pixmap_t pixmap 00496 ** @param uint32_t serial 00497 ** @param xcb_xfixes_region_t valid 00498 ** @param xcb_xfixes_region_t update 00499 ** @param int16_t x_off 00500 ** @param int16_t y_off 00501 ** @param xcb_randr_crtc_t target_crtc 00502 ** @param xcb_sync_fence_t wait_fence 00503 ** @param xcb_sync_fence_t idle_fence 00504 ** @param uint32_t options 00505 ** @param uint64_t target_msc 00506 ** @param uint64_t divisor 00507 ** @param uint64_t remainder 00508 ** @param uint32_t notifies_len 00509 ** @param const xcb_present_notify_t *notifies 00510 ** @returns xcb_void_cookie_t 00511 ** 00512 *****************************************************************************/ 00513 00514 xcb_void_cookie_t 00515 xcb_present_pixmap_checked (xcb_connection_t *c , 00516 xcb_window_t window , 00517 xcb_pixmap_t pixmap , 00518 uint32_t serial , 00519 xcb_xfixes_region_t valid , 00520 xcb_xfixes_region_t update , 00521 int16_t x_off , 00522 int16_t y_off , 00523 xcb_randr_crtc_t target_crtc , 00524 xcb_sync_fence_t wait_fence , 00525 xcb_sync_fence_t idle_fence , 00526 uint32_t options , 00527 uint64_t target_msc , 00528 uint64_t divisor , 00529 uint64_t remainder , 00530 uint32_t notifies_len , 00531 const xcb_present_notify_t *notifies ); 00532 00542 /***************************************************************************** 00543 ** 00544 ** xcb_void_cookie_t xcb_present_pixmap 00545 ** 00546 ** @param xcb_connection_t *c 00547 ** @param xcb_window_t window 00548 ** @param xcb_pixmap_t pixmap 00549 ** @param uint32_t serial 00550 ** @param xcb_xfixes_region_t valid 00551 ** @param xcb_xfixes_region_t update 00552 ** @param int16_t x_off 00553 ** @param int16_t y_off 00554 ** @param xcb_randr_crtc_t target_crtc 00555 ** @param xcb_sync_fence_t wait_fence 00556 ** @param xcb_sync_fence_t idle_fence 00557 ** @param uint32_t options 00558 ** @param uint64_t target_msc 00559 ** @param uint64_t divisor 00560 ** @param uint64_t remainder 00561 ** @param uint32_t notifies_len 00562 ** @param const xcb_present_notify_t *notifies 00563 ** @returns xcb_void_cookie_t 00564 ** 00565 *****************************************************************************/ 00566 00567 xcb_void_cookie_t 00568 xcb_present_pixmap (xcb_connection_t *c , 00569 xcb_window_t window , 00570 xcb_pixmap_t pixmap , 00571 uint32_t serial , 00572 xcb_xfixes_region_t valid , 00573 xcb_xfixes_region_t update , 00574 int16_t x_off , 00575 int16_t y_off , 00576 xcb_randr_crtc_t target_crtc , 00577 xcb_sync_fence_t wait_fence , 00578 xcb_sync_fence_t idle_fence , 00579 uint32_t options , 00580 uint64_t target_msc , 00581 uint64_t divisor , 00582 uint64_t remainder , 00583 uint32_t notifies_len , 00584 const xcb_present_notify_t *notifies ); 00585 00598 /***************************************************************************** 00599 ** 00600 ** xcb_void_cookie_t xcb_present_notify_msc_checked 00601 ** 00602 ** @param xcb_connection_t *c 00603 ** @param xcb_window_t window 00604 ** @param uint32_t serial 00605 ** @param uint64_t target_msc 00606 ** @param uint64_t divisor 00607 ** @param uint64_t remainder 00608 ** @returns xcb_void_cookie_t 00609 ** 00610 *****************************************************************************/ 00611 00612 xcb_void_cookie_t 00613 xcb_present_notify_msc_checked (xcb_connection_t *c , 00614 xcb_window_t window , 00615 uint32_t serial , 00616 uint64_t target_msc , 00617 uint64_t divisor , 00618 uint64_t remainder ); 00619 00629 /***************************************************************************** 00630 ** 00631 ** xcb_void_cookie_t xcb_present_notify_msc 00632 ** 00633 ** @param xcb_connection_t *c 00634 ** @param xcb_window_t window 00635 ** @param uint32_t serial 00636 ** @param uint64_t target_msc 00637 ** @param uint64_t divisor 00638 ** @param uint64_t remainder 00639 ** @returns xcb_void_cookie_t 00640 ** 00641 *****************************************************************************/ 00642 00643 xcb_void_cookie_t 00644 xcb_present_notify_msc (xcb_connection_t *c , 00645 xcb_window_t window , 00646 uint32_t serial , 00647 uint64_t target_msc , 00648 uint64_t divisor , 00649 uint64_t remainder ); 00650 00660 /***************************************************************************** 00661 ** 00662 ** void xcb_present_event_next 00663 ** 00664 ** @param xcb_present_event_iterator_t *i 00665 ** @returns void 00666 ** 00667 *****************************************************************************/ 00668 00669 void 00670 xcb_present_event_next (xcb_present_event_iterator_t *i ); 00671 00682 /***************************************************************************** 00683 ** 00684 ** xcb_generic_iterator_t xcb_present_event_end 00685 ** 00686 ** @param xcb_present_event_iterator_t i 00687 ** @returns xcb_generic_iterator_t 00688 ** 00689 *****************************************************************************/ 00690 00691 xcb_generic_iterator_t 00692 xcb_present_event_end (xcb_present_event_iterator_t i ); 00693 00706 /***************************************************************************** 00707 ** 00708 ** xcb_void_cookie_t xcb_present_select_input_checked 00709 ** 00710 ** @param xcb_connection_t *c 00711 ** @param xcb_present_event_t eid 00712 ** @param xcb_window_t window 00713 ** @param uint32_t event_mask 00714 ** @returns xcb_void_cookie_t 00715 ** 00716 *****************************************************************************/ 00717 00718 xcb_void_cookie_t 00719 xcb_present_select_input_checked (xcb_connection_t *c , 00720 xcb_present_event_t eid , 00721 xcb_window_t window , 00722 uint32_t event_mask ); 00723 00733 /***************************************************************************** 00734 ** 00735 ** xcb_void_cookie_t xcb_present_select_input 00736 ** 00737 ** @param xcb_connection_t *c 00738 ** @param xcb_present_event_t eid 00739 ** @param xcb_window_t window 00740 ** @param uint32_t event_mask 00741 ** @returns xcb_void_cookie_t 00742 ** 00743 *****************************************************************************/ 00744 00745 xcb_void_cookie_t 00746 xcb_present_select_input (xcb_connection_t *c , 00747 xcb_present_event_t eid , 00748 xcb_window_t window , 00749 uint32_t event_mask ); 00750 00760 /***************************************************************************** 00761 ** 00762 ** xcb_present_query_capabilities_cookie_t xcb_present_query_capabilities 00763 ** 00764 ** @param xcb_connection_t *c 00765 ** @param uint32_t target 00766 ** @returns xcb_present_query_capabilities_cookie_t 00767 ** 00768 *****************************************************************************/ 00769 00770 xcb_present_query_capabilities_cookie_t 00771 xcb_present_query_capabilities (xcb_connection_t *c , 00772 uint32_t target ); 00773 00786 /***************************************************************************** 00787 ** 00788 ** xcb_present_query_capabilities_cookie_t xcb_present_query_capabilities_unchecked 00789 ** 00790 ** @param xcb_connection_t *c 00791 ** @param uint32_t target 00792 ** @returns xcb_present_query_capabilities_cookie_t 00793 ** 00794 *****************************************************************************/ 00795 00796 xcb_present_query_capabilities_cookie_t 00797 xcb_present_query_capabilities_unchecked (xcb_connection_t *c , 00798 uint32_t target ); 00799 00815 /***************************************************************************** 00816 ** 00817 ** xcb_present_query_capabilities_reply_t * xcb_present_query_capabilities_reply 00818 ** 00819 ** @param xcb_connection_t *c 00820 ** @param xcb_present_query_capabilities_cookie_t cookie 00821 ** @param xcb_generic_error_t **e 00822 ** @returns xcb_present_query_capabilities_reply_t * 00823 ** 00824 *****************************************************************************/ 00825 00826 xcb_present_query_capabilities_reply_t * 00827 xcb_present_query_capabilities_reply (xcb_connection_t *c , 00828 xcb_present_query_capabilities_cookie_t cookie , 00829 xcb_generic_error_t **e ); 00830 00831 int 00832 xcb_present_redirect_notify_sizeof (const void *_buffer , 00833 uint32_t notifies_len ); 00834 00835 00836 #ifdef __cplusplus 00837 } 00838 #endif 00839 00840 #endif 00841