25 #define XCB_PRESENT_MAJOR_VERSION 1
26 #define XCB_PRESENT_MINOR_VERSION 2
30 typedef enum xcb_present_event_enum_t {
31 XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0,
32 XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1,
33 XCB_PRESENT_EVENT_IDLE_NOTIFY = 2,
34 XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3
35 } xcb_present_event_enum_t;
37 typedef enum xcb_present_event_mask_t {
38 XCB_PRESENT_EVENT_MASK_NO_EVENT = 0,
39 XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1,
40 XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2,
41 XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4,
42 XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8
43 } xcb_present_event_mask_t;
45 typedef enum xcb_present_option_t {
46 XCB_PRESENT_OPTION_NONE = 0,
47 XCB_PRESENT_OPTION_ASYNC = 1,
48 XCB_PRESENT_OPTION_COPY = 2,
49 XCB_PRESENT_OPTION_UST = 4,
50 XCB_PRESENT_OPTION_SUBOPTIMAL = 8
51 } xcb_present_option_t;
53 typedef enum xcb_present_capability_t {
54 XCB_PRESENT_CAPABILITY_NONE = 0,
55 XCB_PRESENT_CAPABILITY_ASYNC = 1,
56 XCB_PRESENT_CAPABILITY_FENCE = 2,
57 XCB_PRESENT_CAPABILITY_UST = 4
58 } xcb_present_capability_t;
60 typedef enum xcb_present_complete_kind_t {
61 XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0,
62 XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1
63 } xcb_present_complete_kind_t;
65 typedef enum xcb_present_complete_mode_t {
66 XCB_PRESENT_COMPLETE_MODE_COPY = 0,
67 XCB_PRESENT_COMPLETE_MODE_FLIP = 1,
68 XCB_PRESENT_COMPLETE_MODE_SKIP = 2,
69 XCB_PRESENT_COMPLETE_MODE_SUBOPTIMAL_COPY = 3
70 } xcb_present_complete_mode_t;
93 unsigned int sequence;
97 #define XCB_PRESENT_QUERY_VERSION 0
103 uint8_t major_opcode;
104 uint8_t minor_opcode;
106 uint32_t major_version;
107 uint32_t minor_version;
114 uint8_t response_type;
118 uint32_t major_version;
119 uint32_t minor_version;
123 #define XCB_PRESENT_PIXMAP 1
129 uint8_t major_opcode;
130 uint8_t minor_opcode;
135 xcb_xfixes_region_t valid;
136 xcb_xfixes_region_t update;
139 xcb_randr_crtc_t target_crtc;
140 xcb_sync_fence_t wait_fence;
141 xcb_sync_fence_t idle_fence;
150 #define XCB_PRESENT_NOTIFY_MSC 2
156 uint8_t major_opcode;
157 uint8_t minor_opcode;
167 typedef uint32_t xcb_present_event_t;
173 xcb_present_event_t *data;
179 #define XCB_PRESENT_SELECT_INPUT 3
185 uint8_t major_opcode;
186 uint8_t minor_opcode;
188 xcb_present_event_t eid;
197 unsigned int sequence;
201 #define XCB_PRESENT_QUERY_CAPABILITIES 4
207 uint8_t major_opcode;
208 uint8_t minor_opcode;
217 uint8_t response_type;
221 uint32_t capabilities;
225 #define XCB_PRESENT_GENERIC 0
231 uint8_t response_type;
237 xcb_present_event_t event;
241 #define XCB_PRESENT_CONFIGURE_NOTIFY 0
247 uint8_t response_type;
253 xcb_present_event_t event;
261 uint32_t full_sequence;
262 uint16_t pixmap_width;
263 uint16_t pixmap_height;
264 uint32_t pixmap_flags;
268 #define XCB_PRESENT_COMPLETE_NOTIFY 1
274 uint8_t response_type;
281 xcb_present_event_t event;
285 uint32_t full_sequence;
290 #define XCB_PRESENT_IDLE_NOTIFY 2
296 uint8_t response_type;
302 xcb_present_event_t event;
306 xcb_sync_fence_t idle_fence;
307 uint32_t full_sequence;
311 #define XCB_PRESENT_REDIRECT_NOTIFY 3
317 uint8_t response_type;
322 uint8_t update_window;
324 xcb_present_event_t event;
325 xcb_window_t event_window;
329 uint32_t full_sequence;
330 xcb_xfixes_region_t valid_region;
331 xcb_xfixes_region_t update_region;
336 xcb_randr_crtc_t target_crtc;
337 xcb_sync_fence_t wait_fence;
338 xcb_sync_fence_t idle_fence;
379 uint32_t major_version,
380 uint32_t minor_version);
395 uint32_t major_version,
396 uint32_t minor_version);
418 xcb_present_pixmap_sizeof (
const void *_buffer,
419 uint32_t notifies_len);
437 xcb_xfixes_region_t valid,
438 xcb_xfixes_region_t update,
441 xcb_randr_crtc_t target_crtc,
442 xcb_sync_fence_t wait_fence,
443 xcb_sync_fence_t idle_fence,
448 uint32_t notifies_len,
464 xcb_xfixes_region_t valid,
465 xcb_xfixes_region_t update,
468 xcb_randr_crtc_t target_crtc,
469 xcb_sync_fence_t wait_fence,
470 xcb_sync_fence_t idle_fence,
475 uint32_t notifies_len,
558 xcb_present_event_t eid,
560 uint32_t event_mask);
572 xcb_present_event_t eid,
574 uint32_t event_mask);
623 xcb_present_redirect_notify_sizeof (
const void *_buffer,
624 uint32_t notifies_len);
627 xcb_present_redirect_notify_notifies (
const xcb_present_redirect_notify_event_t *R);
630 xcb_present_redirect_notify_notifies_length (
const xcb_present_redirect_notify_event_t *R);
633 xcb_present_redirect_notify_notifies_iterator (
const xcb_present_redirect_notify_event_t *R);