jpayne@69
|
1 /*
|
jpayne@69
|
2 * This file generated automatically from present.xml by c_client.py.
|
jpayne@69
|
3 * Edit at your peril.
|
jpayne@69
|
4 */
|
jpayne@69
|
5
|
jpayne@69
|
6 /**
|
jpayne@69
|
7 * @defgroup XCB_Present_API XCB Present API
|
jpayne@69
|
8 * @brief Present XCB Protocol Implementation.
|
jpayne@69
|
9 * @{
|
jpayne@69
|
10 **/
|
jpayne@69
|
11
|
jpayne@69
|
12 #ifndef __PRESENT_H
|
jpayne@69
|
13 #define __PRESENT_H
|
jpayne@69
|
14
|
jpayne@69
|
15 #include "xcb.h"
|
jpayne@69
|
16 #include "xproto.h"
|
jpayne@69
|
17 #include "randr.h"
|
jpayne@69
|
18 #include "xfixes.h"
|
jpayne@69
|
19 #include "sync.h"
|
jpayne@69
|
20 #include "dri3.h"
|
jpayne@69
|
21
|
jpayne@69
|
22 #ifdef __cplusplus
|
jpayne@69
|
23 extern "C" {
|
jpayne@69
|
24 #endif
|
jpayne@69
|
25
|
jpayne@69
|
26 #define XCB_PRESENT_MAJOR_VERSION 1
|
jpayne@69
|
27 #define XCB_PRESENT_MINOR_VERSION 4
|
jpayne@69
|
28
|
jpayne@69
|
29 extern xcb_extension_t xcb_present_id;
|
jpayne@69
|
30
|
jpayne@69
|
31 typedef enum xcb_present_event_enum_t {
|
jpayne@69
|
32 XCB_PRESENT_EVENT_CONFIGURE_NOTIFY = 0,
|
jpayne@69
|
33 XCB_PRESENT_EVENT_COMPLETE_NOTIFY = 1,
|
jpayne@69
|
34 XCB_PRESENT_EVENT_IDLE_NOTIFY = 2,
|
jpayne@69
|
35 XCB_PRESENT_EVENT_REDIRECT_NOTIFY = 3
|
jpayne@69
|
36 } xcb_present_event_enum_t;
|
jpayne@69
|
37
|
jpayne@69
|
38 typedef enum xcb_present_event_mask_t {
|
jpayne@69
|
39 XCB_PRESENT_EVENT_MASK_NO_EVENT = 0,
|
jpayne@69
|
40 XCB_PRESENT_EVENT_MASK_CONFIGURE_NOTIFY = 1,
|
jpayne@69
|
41 XCB_PRESENT_EVENT_MASK_COMPLETE_NOTIFY = 2,
|
jpayne@69
|
42 XCB_PRESENT_EVENT_MASK_IDLE_NOTIFY = 4,
|
jpayne@69
|
43 XCB_PRESENT_EVENT_MASK_REDIRECT_NOTIFY = 8
|
jpayne@69
|
44 } xcb_present_event_mask_t;
|
jpayne@69
|
45
|
jpayne@69
|
46 typedef enum xcb_present_option_t {
|
jpayne@69
|
47 XCB_PRESENT_OPTION_NONE = 0,
|
jpayne@69
|
48 XCB_PRESENT_OPTION_ASYNC = 1,
|
jpayne@69
|
49 XCB_PRESENT_OPTION_COPY = 2,
|
jpayne@69
|
50 XCB_PRESENT_OPTION_UST = 4,
|
jpayne@69
|
51 XCB_PRESENT_OPTION_SUBOPTIMAL = 8,
|
jpayne@69
|
52 XCB_PRESENT_OPTION_ASYNC_MAY_TEAR = 16
|
jpayne@69
|
53 } xcb_present_option_t;
|
jpayne@69
|
54
|
jpayne@69
|
55 typedef enum xcb_present_capability_t {
|
jpayne@69
|
56 XCB_PRESENT_CAPABILITY_NONE = 0,
|
jpayne@69
|
57 XCB_PRESENT_CAPABILITY_ASYNC = 1,
|
jpayne@69
|
58 XCB_PRESENT_CAPABILITY_FENCE = 2,
|
jpayne@69
|
59 XCB_PRESENT_CAPABILITY_UST = 4,
|
jpayne@69
|
60 XCB_PRESENT_CAPABILITY_ASYNC_MAY_TEAR = 8,
|
jpayne@69
|
61 XCB_PRESENT_CAPABILITY_SYNCOBJ = 16
|
jpayne@69
|
62 } xcb_present_capability_t;
|
jpayne@69
|
63
|
jpayne@69
|
64 typedef enum xcb_present_complete_kind_t {
|
jpayne@69
|
65 XCB_PRESENT_COMPLETE_KIND_PIXMAP = 0,
|
jpayne@69
|
66 XCB_PRESENT_COMPLETE_KIND_NOTIFY_MSC = 1
|
jpayne@69
|
67 } xcb_present_complete_kind_t;
|
jpayne@69
|
68
|
jpayne@69
|
69 typedef enum xcb_present_complete_mode_t {
|
jpayne@69
|
70 XCB_PRESENT_COMPLETE_MODE_COPY = 0,
|
jpayne@69
|
71 XCB_PRESENT_COMPLETE_MODE_FLIP = 1,
|
jpayne@69
|
72 XCB_PRESENT_COMPLETE_MODE_SKIP = 2,
|
jpayne@69
|
73 XCB_PRESENT_COMPLETE_MODE_SUBOPTIMAL_COPY = 3
|
jpayne@69
|
74 } xcb_present_complete_mode_t;
|
jpayne@69
|
75
|
jpayne@69
|
76 /**
|
jpayne@69
|
77 * @brief xcb_present_notify_t
|
jpayne@69
|
78 **/
|
jpayne@69
|
79 typedef struct xcb_present_notify_t {
|
jpayne@69
|
80 xcb_window_t window;
|
jpayne@69
|
81 uint32_t serial;
|
jpayne@69
|
82 } xcb_present_notify_t;
|
jpayne@69
|
83
|
jpayne@69
|
84 /**
|
jpayne@69
|
85 * @brief xcb_present_notify_iterator_t
|
jpayne@69
|
86 **/
|
jpayne@69
|
87 typedef struct xcb_present_notify_iterator_t {
|
jpayne@69
|
88 xcb_present_notify_t *data;
|
jpayne@69
|
89 int rem;
|
jpayne@69
|
90 int index;
|
jpayne@69
|
91 } xcb_present_notify_iterator_t;
|
jpayne@69
|
92
|
jpayne@69
|
93 /**
|
jpayne@69
|
94 * @brief xcb_present_query_version_cookie_t
|
jpayne@69
|
95 **/
|
jpayne@69
|
96 typedef struct xcb_present_query_version_cookie_t {
|
jpayne@69
|
97 unsigned int sequence;
|
jpayne@69
|
98 } xcb_present_query_version_cookie_t;
|
jpayne@69
|
99
|
jpayne@69
|
100 /** Opcode for xcb_present_query_version. */
|
jpayne@69
|
101 #define XCB_PRESENT_QUERY_VERSION 0
|
jpayne@69
|
102
|
jpayne@69
|
103 /**
|
jpayne@69
|
104 * @brief xcb_present_query_version_request_t
|
jpayne@69
|
105 **/
|
jpayne@69
|
106 typedef struct xcb_present_query_version_request_t {
|
jpayne@69
|
107 uint8_t major_opcode;
|
jpayne@69
|
108 uint8_t minor_opcode;
|
jpayne@69
|
109 uint16_t length;
|
jpayne@69
|
110 uint32_t major_version;
|
jpayne@69
|
111 uint32_t minor_version;
|
jpayne@69
|
112 } xcb_present_query_version_request_t;
|
jpayne@69
|
113
|
jpayne@69
|
114 /**
|
jpayne@69
|
115 * @brief xcb_present_query_version_reply_t
|
jpayne@69
|
116 **/
|
jpayne@69
|
117 typedef struct xcb_present_query_version_reply_t {
|
jpayne@69
|
118 uint8_t response_type;
|
jpayne@69
|
119 uint8_t pad0;
|
jpayne@69
|
120 uint16_t sequence;
|
jpayne@69
|
121 uint32_t length;
|
jpayne@69
|
122 uint32_t major_version;
|
jpayne@69
|
123 uint32_t minor_version;
|
jpayne@69
|
124 } xcb_present_query_version_reply_t;
|
jpayne@69
|
125
|
jpayne@69
|
126 /** Opcode for xcb_present_pixmap. */
|
jpayne@69
|
127 #define XCB_PRESENT_PIXMAP 1
|
jpayne@69
|
128
|
jpayne@69
|
129 /**
|
jpayne@69
|
130 * @brief xcb_present_pixmap_request_t
|
jpayne@69
|
131 **/
|
jpayne@69
|
132 typedef struct xcb_present_pixmap_request_t {
|
jpayne@69
|
133 uint8_t major_opcode;
|
jpayne@69
|
134 uint8_t minor_opcode;
|
jpayne@69
|
135 uint16_t length;
|
jpayne@69
|
136 xcb_window_t window;
|
jpayne@69
|
137 xcb_pixmap_t pixmap;
|
jpayne@69
|
138 uint32_t serial;
|
jpayne@69
|
139 xcb_xfixes_region_t valid;
|
jpayne@69
|
140 xcb_xfixes_region_t update;
|
jpayne@69
|
141 int16_t x_off;
|
jpayne@69
|
142 int16_t y_off;
|
jpayne@69
|
143 xcb_randr_crtc_t target_crtc;
|
jpayne@69
|
144 xcb_sync_fence_t wait_fence;
|
jpayne@69
|
145 xcb_sync_fence_t idle_fence;
|
jpayne@69
|
146 uint32_t options;
|
jpayne@69
|
147 uint8_t pad0[4];
|
jpayne@69
|
148 uint64_t target_msc;
|
jpayne@69
|
149 uint64_t divisor;
|
jpayne@69
|
150 uint64_t remainder;
|
jpayne@69
|
151 } xcb_present_pixmap_request_t;
|
jpayne@69
|
152
|
jpayne@69
|
153 /** Opcode for xcb_present_notify_msc. */
|
jpayne@69
|
154 #define XCB_PRESENT_NOTIFY_MSC 2
|
jpayne@69
|
155
|
jpayne@69
|
156 /**
|
jpayne@69
|
157 * @brief xcb_present_notify_msc_request_t
|
jpayne@69
|
158 **/
|
jpayne@69
|
159 typedef struct xcb_present_notify_msc_request_t {
|
jpayne@69
|
160 uint8_t major_opcode;
|
jpayne@69
|
161 uint8_t minor_opcode;
|
jpayne@69
|
162 uint16_t length;
|
jpayne@69
|
163 xcb_window_t window;
|
jpayne@69
|
164 uint32_t serial;
|
jpayne@69
|
165 uint8_t pad0[4];
|
jpayne@69
|
166 uint64_t target_msc;
|
jpayne@69
|
167 uint64_t divisor;
|
jpayne@69
|
168 uint64_t remainder;
|
jpayne@69
|
169 } xcb_present_notify_msc_request_t;
|
jpayne@69
|
170
|
jpayne@69
|
171 typedef uint32_t xcb_present_event_t;
|
jpayne@69
|
172
|
jpayne@69
|
173 /**
|
jpayne@69
|
174 * @brief xcb_present_event_iterator_t
|
jpayne@69
|
175 **/
|
jpayne@69
|
176 typedef struct xcb_present_event_iterator_t {
|
jpayne@69
|
177 xcb_present_event_t *data;
|
jpayne@69
|
178 int rem;
|
jpayne@69
|
179 int index;
|
jpayne@69
|
180 } xcb_present_event_iterator_t;
|
jpayne@69
|
181
|
jpayne@69
|
182 /** Opcode for xcb_present_select_input. */
|
jpayne@69
|
183 #define XCB_PRESENT_SELECT_INPUT 3
|
jpayne@69
|
184
|
jpayne@69
|
185 /**
|
jpayne@69
|
186 * @brief xcb_present_select_input_request_t
|
jpayne@69
|
187 **/
|
jpayne@69
|
188 typedef struct xcb_present_select_input_request_t {
|
jpayne@69
|
189 uint8_t major_opcode;
|
jpayne@69
|
190 uint8_t minor_opcode;
|
jpayne@69
|
191 uint16_t length;
|
jpayne@69
|
192 xcb_present_event_t eid;
|
jpayne@69
|
193 xcb_window_t window;
|
jpayne@69
|
194 uint32_t event_mask;
|
jpayne@69
|
195 } xcb_present_select_input_request_t;
|
jpayne@69
|
196
|
jpayne@69
|
197 /**
|
jpayne@69
|
198 * @brief xcb_present_query_capabilities_cookie_t
|
jpayne@69
|
199 **/
|
jpayne@69
|
200 typedef struct xcb_present_query_capabilities_cookie_t {
|
jpayne@69
|
201 unsigned int sequence;
|
jpayne@69
|
202 } xcb_present_query_capabilities_cookie_t;
|
jpayne@69
|
203
|
jpayne@69
|
204 /** Opcode for xcb_present_query_capabilities. */
|
jpayne@69
|
205 #define XCB_PRESENT_QUERY_CAPABILITIES 4
|
jpayne@69
|
206
|
jpayne@69
|
207 /**
|
jpayne@69
|
208 * @brief xcb_present_query_capabilities_request_t
|
jpayne@69
|
209 **/
|
jpayne@69
|
210 typedef struct xcb_present_query_capabilities_request_t {
|
jpayne@69
|
211 uint8_t major_opcode;
|
jpayne@69
|
212 uint8_t minor_opcode;
|
jpayne@69
|
213 uint16_t length;
|
jpayne@69
|
214 uint32_t target;
|
jpayne@69
|
215 } xcb_present_query_capabilities_request_t;
|
jpayne@69
|
216
|
jpayne@69
|
217 /**
|
jpayne@69
|
218 * @brief xcb_present_query_capabilities_reply_t
|
jpayne@69
|
219 **/
|
jpayne@69
|
220 typedef struct xcb_present_query_capabilities_reply_t {
|
jpayne@69
|
221 uint8_t response_type;
|
jpayne@69
|
222 uint8_t pad0;
|
jpayne@69
|
223 uint16_t sequence;
|
jpayne@69
|
224 uint32_t length;
|
jpayne@69
|
225 uint32_t capabilities;
|
jpayne@69
|
226 } xcb_present_query_capabilities_reply_t;
|
jpayne@69
|
227
|
jpayne@69
|
228 /** Opcode for xcb_present_pixmap_synced. */
|
jpayne@69
|
229 #define XCB_PRESENT_PIXMAP_SYNCED 5
|
jpayne@69
|
230
|
jpayne@69
|
231 /**
|
jpayne@69
|
232 * @brief xcb_present_pixmap_synced_request_t
|
jpayne@69
|
233 **/
|
jpayne@69
|
234 typedef struct xcb_present_pixmap_synced_request_t {
|
jpayne@69
|
235 uint8_t major_opcode;
|
jpayne@69
|
236 uint8_t minor_opcode;
|
jpayne@69
|
237 uint16_t length;
|
jpayne@69
|
238 xcb_window_t window;
|
jpayne@69
|
239 xcb_pixmap_t pixmap;
|
jpayne@69
|
240 uint32_t serial;
|
jpayne@69
|
241 xcb_xfixes_region_t valid;
|
jpayne@69
|
242 xcb_xfixes_region_t update;
|
jpayne@69
|
243 int16_t x_off;
|
jpayne@69
|
244 int16_t y_off;
|
jpayne@69
|
245 xcb_randr_crtc_t target_crtc;
|
jpayne@69
|
246 xcb_dri3_syncobj_t acquire_syncobj;
|
jpayne@69
|
247 xcb_dri3_syncobj_t release_syncobj;
|
jpayne@69
|
248 uint64_t acquire_point;
|
jpayne@69
|
249 uint64_t release_point;
|
jpayne@69
|
250 uint32_t options;
|
jpayne@69
|
251 uint8_t pad0[4];
|
jpayne@69
|
252 uint64_t target_msc;
|
jpayne@69
|
253 uint64_t divisor;
|
jpayne@69
|
254 uint64_t remainder;
|
jpayne@69
|
255 } xcb_present_pixmap_synced_request_t;
|
jpayne@69
|
256
|
jpayne@69
|
257 /** Opcode for xcb_present_generic. */
|
jpayne@69
|
258 #define XCB_PRESENT_GENERIC 0
|
jpayne@69
|
259
|
jpayne@69
|
260 /**
|
jpayne@69
|
261 * @brief xcb_present_generic_event_t
|
jpayne@69
|
262 **/
|
jpayne@69
|
263 typedef struct xcb_present_generic_event_t {
|
jpayne@69
|
264 uint8_t response_type;
|
jpayne@69
|
265 uint8_t extension;
|
jpayne@69
|
266 uint16_t sequence;
|
jpayne@69
|
267 uint32_t length;
|
jpayne@69
|
268 uint16_t evtype;
|
jpayne@69
|
269 uint8_t pad0[2];
|
jpayne@69
|
270 xcb_present_event_t event;
|
jpayne@69
|
271 } xcb_present_generic_event_t;
|
jpayne@69
|
272
|
jpayne@69
|
273 /** Opcode for xcb_present_configure_notify. */
|
jpayne@69
|
274 #define XCB_PRESENT_CONFIGURE_NOTIFY 0
|
jpayne@69
|
275
|
jpayne@69
|
276 /**
|
jpayne@69
|
277 * @brief xcb_present_configure_notify_event_t
|
jpayne@69
|
278 **/
|
jpayne@69
|
279 typedef struct xcb_present_configure_notify_event_t {
|
jpayne@69
|
280 uint8_t response_type;
|
jpayne@69
|
281 uint8_t extension;
|
jpayne@69
|
282 uint16_t sequence;
|
jpayne@69
|
283 uint32_t length;
|
jpayne@69
|
284 uint16_t event_type;
|
jpayne@69
|
285 uint8_t pad0[2];
|
jpayne@69
|
286 xcb_present_event_t event;
|
jpayne@69
|
287 xcb_window_t window;
|
jpayne@69
|
288 int16_t x;
|
jpayne@69
|
289 int16_t y;
|
jpayne@69
|
290 uint16_t width;
|
jpayne@69
|
291 uint16_t height;
|
jpayne@69
|
292 int16_t off_x;
|
jpayne@69
|
293 int16_t off_y;
|
jpayne@69
|
294 uint32_t full_sequence;
|
jpayne@69
|
295 uint16_t pixmap_width;
|
jpayne@69
|
296 uint16_t pixmap_height;
|
jpayne@69
|
297 uint32_t pixmap_flags;
|
jpayne@69
|
298 } xcb_present_configure_notify_event_t;
|
jpayne@69
|
299
|
jpayne@69
|
300 /** Opcode for xcb_present_complete_notify. */
|
jpayne@69
|
301 #define XCB_PRESENT_COMPLETE_NOTIFY 1
|
jpayne@69
|
302
|
jpayne@69
|
303 /**
|
jpayne@69
|
304 * @brief xcb_present_complete_notify_event_t
|
jpayne@69
|
305 **/
|
jpayne@69
|
306 typedef struct xcb_present_complete_notify_event_t {
|
jpayne@69
|
307 uint8_t response_type;
|
jpayne@69
|
308 uint8_t extension;
|
jpayne@69
|
309 uint16_t sequence;
|
jpayne@69
|
310 uint32_t length;
|
jpayne@69
|
311 uint16_t event_type;
|
jpayne@69
|
312 uint8_t kind;
|
jpayne@69
|
313 uint8_t mode;
|
jpayne@69
|
314 xcb_present_event_t event;
|
jpayne@69
|
315 xcb_window_t window;
|
jpayne@69
|
316 uint32_t serial;
|
jpayne@69
|
317 uint64_t ust;
|
jpayne@69
|
318 uint32_t full_sequence;
|
jpayne@69
|
319 uint64_t msc;
|
jpayne@69
|
320 } XCB_PACKED xcb_present_complete_notify_event_t;
|
jpayne@69
|
321
|
jpayne@69
|
322 /** Opcode for xcb_present_idle_notify. */
|
jpayne@69
|
323 #define XCB_PRESENT_IDLE_NOTIFY 2
|
jpayne@69
|
324
|
jpayne@69
|
325 /**
|
jpayne@69
|
326 * @brief xcb_present_idle_notify_event_t
|
jpayne@69
|
327 **/
|
jpayne@69
|
328 typedef struct xcb_present_idle_notify_event_t {
|
jpayne@69
|
329 uint8_t response_type;
|
jpayne@69
|
330 uint8_t extension;
|
jpayne@69
|
331 uint16_t sequence;
|
jpayne@69
|
332 uint32_t length;
|
jpayne@69
|
333 uint16_t event_type;
|
jpayne@69
|
334 uint8_t pad0[2];
|
jpayne@69
|
335 xcb_present_event_t event;
|
jpayne@69
|
336 xcb_window_t window;
|
jpayne@69
|
337 uint32_t serial;
|
jpayne@69
|
338 xcb_pixmap_t pixmap;
|
jpayne@69
|
339 xcb_sync_fence_t idle_fence;
|
jpayne@69
|
340 uint32_t full_sequence;
|
jpayne@69
|
341 } xcb_present_idle_notify_event_t;
|
jpayne@69
|
342
|
jpayne@69
|
343 /** Opcode for xcb_present_redirect_notify. */
|
jpayne@69
|
344 #define XCB_PRESENT_REDIRECT_NOTIFY 3
|
jpayne@69
|
345
|
jpayne@69
|
346 /**
|
jpayne@69
|
347 * @brief xcb_present_redirect_notify_event_t
|
jpayne@69
|
348 **/
|
jpayne@69
|
349 typedef struct xcb_present_redirect_notify_event_t {
|
jpayne@69
|
350 uint8_t response_type;
|
jpayne@69
|
351 uint8_t extension;
|
jpayne@69
|
352 uint16_t sequence;
|
jpayne@69
|
353 uint32_t length;
|
jpayne@69
|
354 uint16_t event_type;
|
jpayne@69
|
355 uint8_t update_window;
|
jpayne@69
|
356 uint8_t pad0;
|
jpayne@69
|
357 xcb_present_event_t event;
|
jpayne@69
|
358 xcb_window_t event_window;
|
jpayne@69
|
359 xcb_window_t window;
|
jpayne@69
|
360 xcb_pixmap_t pixmap;
|
jpayne@69
|
361 uint32_t serial;
|
jpayne@69
|
362 uint32_t full_sequence;
|
jpayne@69
|
363 xcb_xfixes_region_t valid_region;
|
jpayne@69
|
364 xcb_xfixes_region_t update_region;
|
jpayne@69
|
365 xcb_rectangle_t valid_rect;
|
jpayne@69
|
366 xcb_rectangle_t update_rect;
|
jpayne@69
|
367 int16_t x_off;
|
jpayne@69
|
368 int16_t y_off;
|
jpayne@69
|
369 xcb_randr_crtc_t target_crtc;
|
jpayne@69
|
370 xcb_sync_fence_t wait_fence;
|
jpayne@69
|
371 xcb_sync_fence_t idle_fence;
|
jpayne@69
|
372 uint32_t options;
|
jpayne@69
|
373 uint8_t pad1[4];
|
jpayne@69
|
374 uint64_t target_msc;
|
jpayne@69
|
375 uint64_t divisor;
|
jpayne@69
|
376 uint64_t remainder;
|
jpayne@69
|
377 } XCB_PACKED xcb_present_redirect_notify_event_t;
|
jpayne@69
|
378
|
jpayne@69
|
379 /**
|
jpayne@69
|
380 * Get the next element of the iterator
|
jpayne@69
|
381 * @param i Pointer to a xcb_present_notify_iterator_t
|
jpayne@69
|
382 *
|
jpayne@69
|
383 * Get the next element in the iterator. The member rem is
|
jpayne@69
|
384 * decreased by one. The member data points to the next
|
jpayne@69
|
385 * element. The member index is increased by sizeof(xcb_present_notify_t)
|
jpayne@69
|
386 */
|
jpayne@69
|
387 void
|
jpayne@69
|
388 xcb_present_notify_next (xcb_present_notify_iterator_t *i);
|
jpayne@69
|
389
|
jpayne@69
|
390 /**
|
jpayne@69
|
391 * Return the iterator pointing to the last element
|
jpayne@69
|
392 * @param i An xcb_present_notify_iterator_t
|
jpayne@69
|
393 * @return The iterator pointing to the last element
|
jpayne@69
|
394 *
|
jpayne@69
|
395 * Set the current element in the iterator to the last element.
|
jpayne@69
|
396 * The member rem is set to 0. The member data points to the
|
jpayne@69
|
397 * last element.
|
jpayne@69
|
398 */
|
jpayne@69
|
399 xcb_generic_iterator_t
|
jpayne@69
|
400 xcb_present_notify_end (xcb_present_notify_iterator_t i);
|
jpayne@69
|
401
|
jpayne@69
|
402 /**
|
jpayne@69
|
403 *
|
jpayne@69
|
404 * @param c The connection
|
jpayne@69
|
405 * @return A cookie
|
jpayne@69
|
406 *
|
jpayne@69
|
407 * Delivers a request to the X server.
|
jpayne@69
|
408 *
|
jpayne@69
|
409 */
|
jpayne@69
|
410 xcb_present_query_version_cookie_t
|
jpayne@69
|
411 xcb_present_query_version (xcb_connection_t *c,
|
jpayne@69
|
412 uint32_t major_version,
|
jpayne@69
|
413 uint32_t minor_version);
|
jpayne@69
|
414
|
jpayne@69
|
415 /**
|
jpayne@69
|
416 *
|
jpayne@69
|
417 * @param c The connection
|
jpayne@69
|
418 * @return A cookie
|
jpayne@69
|
419 *
|
jpayne@69
|
420 * Delivers a request to the X server.
|
jpayne@69
|
421 *
|
jpayne@69
|
422 * This form can be used only if the request will cause
|
jpayne@69
|
423 * a reply to be generated. Any returned error will be
|
jpayne@69
|
424 * placed in the event queue.
|
jpayne@69
|
425 */
|
jpayne@69
|
426 xcb_present_query_version_cookie_t
|
jpayne@69
|
427 xcb_present_query_version_unchecked (xcb_connection_t *c,
|
jpayne@69
|
428 uint32_t major_version,
|
jpayne@69
|
429 uint32_t minor_version);
|
jpayne@69
|
430
|
jpayne@69
|
431 /**
|
jpayne@69
|
432 * Return the reply
|
jpayne@69
|
433 * @param c The connection
|
jpayne@69
|
434 * @param cookie The cookie
|
jpayne@69
|
435 * @param e The xcb_generic_error_t supplied
|
jpayne@69
|
436 *
|
jpayne@69
|
437 * Returns the reply of the request asked by
|
jpayne@69
|
438 *
|
jpayne@69
|
439 * The parameter @p e supplied to this function must be NULL if
|
jpayne@69
|
440 * xcb_present_query_version_unchecked(). is used.
|
jpayne@69
|
441 * Otherwise, it stores the error if any.
|
jpayne@69
|
442 *
|
jpayne@69
|
443 * The returned value must be freed by the caller using free().
|
jpayne@69
|
444 */
|
jpayne@69
|
445 xcb_present_query_version_reply_t *
|
jpayne@69
|
446 xcb_present_query_version_reply (xcb_connection_t *c,
|
jpayne@69
|
447 xcb_present_query_version_cookie_t cookie /**< */,
|
jpayne@69
|
448 xcb_generic_error_t **e);
|
jpayne@69
|
449
|
jpayne@69
|
450 int
|
jpayne@69
|
451 xcb_present_pixmap_sizeof (const void *_buffer,
|
jpayne@69
|
452 uint32_t notifies_len);
|
jpayne@69
|
453
|
jpayne@69
|
454 /**
|
jpayne@69
|
455 *
|
jpayne@69
|
456 * @param c The connection
|
jpayne@69
|
457 * @return A cookie
|
jpayne@69
|
458 *
|
jpayne@69
|
459 * Delivers a request to the X server.
|
jpayne@69
|
460 *
|
jpayne@69
|
461 * This form can be used only if the request will not cause
|
jpayne@69
|
462 * a reply to be generated. Any returned error will be
|
jpayne@69
|
463 * saved for handling by xcb_request_check().
|
jpayne@69
|
464 */
|
jpayne@69
|
465 xcb_void_cookie_t
|
jpayne@69
|
466 xcb_present_pixmap_checked (xcb_connection_t *c,
|
jpayne@69
|
467 xcb_window_t window,
|
jpayne@69
|
468 xcb_pixmap_t pixmap,
|
jpayne@69
|
469 uint32_t serial,
|
jpayne@69
|
470 xcb_xfixes_region_t valid,
|
jpayne@69
|
471 xcb_xfixes_region_t update,
|
jpayne@69
|
472 int16_t x_off,
|
jpayne@69
|
473 int16_t y_off,
|
jpayne@69
|
474 xcb_randr_crtc_t target_crtc,
|
jpayne@69
|
475 xcb_sync_fence_t wait_fence,
|
jpayne@69
|
476 xcb_sync_fence_t idle_fence,
|
jpayne@69
|
477 uint32_t options,
|
jpayne@69
|
478 uint64_t target_msc,
|
jpayne@69
|
479 uint64_t divisor,
|
jpayne@69
|
480 uint64_t remainder,
|
jpayne@69
|
481 uint32_t notifies_len,
|
jpayne@69
|
482 const xcb_present_notify_t *notifies);
|
jpayne@69
|
483
|
jpayne@69
|
484 /**
|
jpayne@69
|
485 *
|
jpayne@69
|
486 * @param c The connection
|
jpayne@69
|
487 * @return A cookie
|
jpayne@69
|
488 *
|
jpayne@69
|
489 * Delivers a request to the X server.
|
jpayne@69
|
490 *
|
jpayne@69
|
491 */
|
jpayne@69
|
492 xcb_void_cookie_t
|
jpayne@69
|
493 xcb_present_pixmap (xcb_connection_t *c,
|
jpayne@69
|
494 xcb_window_t window,
|
jpayne@69
|
495 xcb_pixmap_t pixmap,
|
jpayne@69
|
496 uint32_t serial,
|
jpayne@69
|
497 xcb_xfixes_region_t valid,
|
jpayne@69
|
498 xcb_xfixes_region_t update,
|
jpayne@69
|
499 int16_t x_off,
|
jpayne@69
|
500 int16_t y_off,
|
jpayne@69
|
501 xcb_randr_crtc_t target_crtc,
|
jpayne@69
|
502 xcb_sync_fence_t wait_fence,
|
jpayne@69
|
503 xcb_sync_fence_t idle_fence,
|
jpayne@69
|
504 uint32_t options,
|
jpayne@69
|
505 uint64_t target_msc,
|
jpayne@69
|
506 uint64_t divisor,
|
jpayne@69
|
507 uint64_t remainder,
|
jpayne@69
|
508 uint32_t notifies_len,
|
jpayne@69
|
509 const xcb_present_notify_t *notifies);
|
jpayne@69
|
510
|
jpayne@69
|
511 xcb_present_notify_t *
|
jpayne@69
|
512 xcb_present_pixmap_notifies (const xcb_present_pixmap_request_t *R);
|
jpayne@69
|
513
|
jpayne@69
|
514 int
|
jpayne@69
|
515 xcb_present_pixmap_notifies_length (const xcb_present_pixmap_request_t *R);
|
jpayne@69
|
516
|
jpayne@69
|
517 xcb_present_notify_iterator_t
|
jpayne@69
|
518 xcb_present_pixmap_notifies_iterator (const xcb_present_pixmap_request_t *R);
|
jpayne@69
|
519
|
jpayne@69
|
520 /**
|
jpayne@69
|
521 *
|
jpayne@69
|
522 * @param c The connection
|
jpayne@69
|
523 * @return A cookie
|
jpayne@69
|
524 *
|
jpayne@69
|
525 * Delivers a request to the X server.
|
jpayne@69
|
526 *
|
jpayne@69
|
527 * This form can be used only if the request will not cause
|
jpayne@69
|
528 * a reply to be generated. Any returned error will be
|
jpayne@69
|
529 * saved for handling by xcb_request_check().
|
jpayne@69
|
530 */
|
jpayne@69
|
531 xcb_void_cookie_t
|
jpayne@69
|
532 xcb_present_notify_msc_checked (xcb_connection_t *c,
|
jpayne@69
|
533 xcb_window_t window,
|
jpayne@69
|
534 uint32_t serial,
|
jpayne@69
|
535 uint64_t target_msc,
|
jpayne@69
|
536 uint64_t divisor,
|
jpayne@69
|
537 uint64_t remainder);
|
jpayne@69
|
538
|
jpayne@69
|
539 /**
|
jpayne@69
|
540 *
|
jpayne@69
|
541 * @param c The connection
|
jpayne@69
|
542 * @return A cookie
|
jpayne@69
|
543 *
|
jpayne@69
|
544 * Delivers a request to the X server.
|
jpayne@69
|
545 *
|
jpayne@69
|
546 */
|
jpayne@69
|
547 xcb_void_cookie_t
|
jpayne@69
|
548 xcb_present_notify_msc (xcb_connection_t *c,
|
jpayne@69
|
549 xcb_window_t window,
|
jpayne@69
|
550 uint32_t serial,
|
jpayne@69
|
551 uint64_t target_msc,
|
jpayne@69
|
552 uint64_t divisor,
|
jpayne@69
|
553 uint64_t remainder);
|
jpayne@69
|
554
|
jpayne@69
|
555 /**
|
jpayne@69
|
556 * Get the next element of the iterator
|
jpayne@69
|
557 * @param i Pointer to a xcb_present_event_iterator_t
|
jpayne@69
|
558 *
|
jpayne@69
|
559 * Get the next element in the iterator. The member rem is
|
jpayne@69
|
560 * decreased by one. The member data points to the next
|
jpayne@69
|
561 * element. The member index is increased by sizeof(xcb_present_event_t)
|
jpayne@69
|
562 */
|
jpayne@69
|
563 void
|
jpayne@69
|
564 xcb_present_event_next (xcb_present_event_iterator_t *i);
|
jpayne@69
|
565
|
jpayne@69
|
566 /**
|
jpayne@69
|
567 * Return the iterator pointing to the last element
|
jpayne@69
|
568 * @param i An xcb_present_event_iterator_t
|
jpayne@69
|
569 * @return The iterator pointing to the last element
|
jpayne@69
|
570 *
|
jpayne@69
|
571 * Set the current element in the iterator to the last element.
|
jpayne@69
|
572 * The member rem is set to 0. The member data points to the
|
jpayne@69
|
573 * last element.
|
jpayne@69
|
574 */
|
jpayne@69
|
575 xcb_generic_iterator_t
|
jpayne@69
|
576 xcb_present_event_end (xcb_present_event_iterator_t i);
|
jpayne@69
|
577
|
jpayne@69
|
578 /**
|
jpayne@69
|
579 *
|
jpayne@69
|
580 * @param c The connection
|
jpayne@69
|
581 * @return A cookie
|
jpayne@69
|
582 *
|
jpayne@69
|
583 * Delivers a request to the X server.
|
jpayne@69
|
584 *
|
jpayne@69
|
585 * This form can be used only if the request will not cause
|
jpayne@69
|
586 * a reply to be generated. Any returned error will be
|
jpayne@69
|
587 * saved for handling by xcb_request_check().
|
jpayne@69
|
588 */
|
jpayne@69
|
589 xcb_void_cookie_t
|
jpayne@69
|
590 xcb_present_select_input_checked (xcb_connection_t *c,
|
jpayne@69
|
591 xcb_present_event_t eid,
|
jpayne@69
|
592 xcb_window_t window,
|
jpayne@69
|
593 uint32_t event_mask);
|
jpayne@69
|
594
|
jpayne@69
|
595 /**
|
jpayne@69
|
596 *
|
jpayne@69
|
597 * @param c The connection
|
jpayne@69
|
598 * @return A cookie
|
jpayne@69
|
599 *
|
jpayne@69
|
600 * Delivers a request to the X server.
|
jpayne@69
|
601 *
|
jpayne@69
|
602 */
|
jpayne@69
|
603 xcb_void_cookie_t
|
jpayne@69
|
604 xcb_present_select_input (xcb_connection_t *c,
|
jpayne@69
|
605 xcb_present_event_t eid,
|
jpayne@69
|
606 xcb_window_t window,
|
jpayne@69
|
607 uint32_t event_mask);
|
jpayne@69
|
608
|
jpayne@69
|
609 /**
|
jpayne@69
|
610 *
|
jpayne@69
|
611 * @param c The connection
|
jpayne@69
|
612 * @return A cookie
|
jpayne@69
|
613 *
|
jpayne@69
|
614 * Delivers a request to the X server.
|
jpayne@69
|
615 *
|
jpayne@69
|
616 */
|
jpayne@69
|
617 xcb_present_query_capabilities_cookie_t
|
jpayne@69
|
618 xcb_present_query_capabilities (xcb_connection_t *c,
|
jpayne@69
|
619 uint32_t target);
|
jpayne@69
|
620
|
jpayne@69
|
621 /**
|
jpayne@69
|
622 *
|
jpayne@69
|
623 * @param c The connection
|
jpayne@69
|
624 * @return A cookie
|
jpayne@69
|
625 *
|
jpayne@69
|
626 * Delivers a request to the X server.
|
jpayne@69
|
627 *
|
jpayne@69
|
628 * This form can be used only if the request will cause
|
jpayne@69
|
629 * a reply to be generated. Any returned error will be
|
jpayne@69
|
630 * placed in the event queue.
|
jpayne@69
|
631 */
|
jpayne@69
|
632 xcb_present_query_capabilities_cookie_t
|
jpayne@69
|
633 xcb_present_query_capabilities_unchecked (xcb_connection_t *c,
|
jpayne@69
|
634 uint32_t target);
|
jpayne@69
|
635
|
jpayne@69
|
636 /**
|
jpayne@69
|
637 * Return the reply
|
jpayne@69
|
638 * @param c The connection
|
jpayne@69
|
639 * @param cookie The cookie
|
jpayne@69
|
640 * @param e The xcb_generic_error_t supplied
|
jpayne@69
|
641 *
|
jpayne@69
|
642 * Returns the reply of the request asked by
|
jpayne@69
|
643 *
|
jpayne@69
|
644 * The parameter @p e supplied to this function must be NULL if
|
jpayne@69
|
645 * xcb_present_query_capabilities_unchecked(). is used.
|
jpayne@69
|
646 * Otherwise, it stores the error if any.
|
jpayne@69
|
647 *
|
jpayne@69
|
648 * The returned value must be freed by the caller using free().
|
jpayne@69
|
649 */
|
jpayne@69
|
650 xcb_present_query_capabilities_reply_t *
|
jpayne@69
|
651 xcb_present_query_capabilities_reply (xcb_connection_t *c,
|
jpayne@69
|
652 xcb_present_query_capabilities_cookie_t cookie /**< */,
|
jpayne@69
|
653 xcb_generic_error_t **e);
|
jpayne@69
|
654
|
jpayne@69
|
655 int
|
jpayne@69
|
656 xcb_present_pixmap_synced_sizeof (const void *_buffer,
|
jpayne@69
|
657 uint32_t notifies_len);
|
jpayne@69
|
658
|
jpayne@69
|
659 /**
|
jpayne@69
|
660 *
|
jpayne@69
|
661 * @param c The connection
|
jpayne@69
|
662 * @return A cookie
|
jpayne@69
|
663 *
|
jpayne@69
|
664 * Delivers a request to the X server.
|
jpayne@69
|
665 *
|
jpayne@69
|
666 * This form can be used only if the request will not cause
|
jpayne@69
|
667 * a reply to be generated. Any returned error will be
|
jpayne@69
|
668 * saved for handling by xcb_request_check().
|
jpayne@69
|
669 */
|
jpayne@69
|
670 xcb_void_cookie_t
|
jpayne@69
|
671 xcb_present_pixmap_synced_checked (xcb_connection_t *c,
|
jpayne@69
|
672 xcb_window_t window,
|
jpayne@69
|
673 xcb_pixmap_t pixmap,
|
jpayne@69
|
674 uint32_t serial,
|
jpayne@69
|
675 xcb_xfixes_region_t valid,
|
jpayne@69
|
676 xcb_xfixes_region_t update,
|
jpayne@69
|
677 int16_t x_off,
|
jpayne@69
|
678 int16_t y_off,
|
jpayne@69
|
679 xcb_randr_crtc_t target_crtc,
|
jpayne@69
|
680 xcb_dri3_syncobj_t acquire_syncobj,
|
jpayne@69
|
681 xcb_dri3_syncobj_t release_syncobj,
|
jpayne@69
|
682 uint64_t acquire_point,
|
jpayne@69
|
683 uint64_t release_point,
|
jpayne@69
|
684 uint32_t options,
|
jpayne@69
|
685 uint64_t target_msc,
|
jpayne@69
|
686 uint64_t divisor,
|
jpayne@69
|
687 uint64_t remainder,
|
jpayne@69
|
688 uint32_t notifies_len,
|
jpayne@69
|
689 const xcb_present_notify_t *notifies);
|
jpayne@69
|
690
|
jpayne@69
|
691 /**
|
jpayne@69
|
692 *
|
jpayne@69
|
693 * @param c The connection
|
jpayne@69
|
694 * @return A cookie
|
jpayne@69
|
695 *
|
jpayne@69
|
696 * Delivers a request to the X server.
|
jpayne@69
|
697 *
|
jpayne@69
|
698 */
|
jpayne@69
|
699 xcb_void_cookie_t
|
jpayne@69
|
700 xcb_present_pixmap_synced (xcb_connection_t *c,
|
jpayne@69
|
701 xcb_window_t window,
|
jpayne@69
|
702 xcb_pixmap_t pixmap,
|
jpayne@69
|
703 uint32_t serial,
|
jpayne@69
|
704 xcb_xfixes_region_t valid,
|
jpayne@69
|
705 xcb_xfixes_region_t update,
|
jpayne@69
|
706 int16_t x_off,
|
jpayne@69
|
707 int16_t y_off,
|
jpayne@69
|
708 xcb_randr_crtc_t target_crtc,
|
jpayne@69
|
709 xcb_dri3_syncobj_t acquire_syncobj,
|
jpayne@69
|
710 xcb_dri3_syncobj_t release_syncobj,
|
jpayne@69
|
711 uint64_t acquire_point,
|
jpayne@69
|
712 uint64_t release_point,
|
jpayne@69
|
713 uint32_t options,
|
jpayne@69
|
714 uint64_t target_msc,
|
jpayne@69
|
715 uint64_t divisor,
|
jpayne@69
|
716 uint64_t remainder,
|
jpayne@69
|
717 uint32_t notifies_len,
|
jpayne@69
|
718 const xcb_present_notify_t *notifies);
|
jpayne@69
|
719
|
jpayne@69
|
720 xcb_present_notify_t *
|
jpayne@69
|
721 xcb_present_pixmap_synced_notifies (const xcb_present_pixmap_synced_request_t *R);
|
jpayne@69
|
722
|
jpayne@69
|
723 int
|
jpayne@69
|
724 xcb_present_pixmap_synced_notifies_length (const xcb_present_pixmap_synced_request_t *R);
|
jpayne@69
|
725
|
jpayne@69
|
726 xcb_present_notify_iterator_t
|
jpayne@69
|
727 xcb_present_pixmap_synced_notifies_iterator (const xcb_present_pixmap_synced_request_t *R);
|
jpayne@69
|
728
|
jpayne@69
|
729 int
|
jpayne@69
|
730 xcb_present_redirect_notify_sizeof (const void *_buffer,
|
jpayne@69
|
731 uint32_t notifies_len);
|
jpayne@69
|
732
|
jpayne@69
|
733 xcb_present_notify_t *
|
jpayne@69
|
734 xcb_present_redirect_notify_notifies (const xcb_present_redirect_notify_event_t *R);
|
jpayne@69
|
735
|
jpayne@69
|
736 int
|
jpayne@69
|
737 xcb_present_redirect_notify_notifies_length (const xcb_present_redirect_notify_event_t *R);
|
jpayne@69
|
738
|
jpayne@69
|
739 xcb_present_notify_iterator_t
|
jpayne@69
|
740 xcb_present_redirect_notify_notifies_iterator (const xcb_present_redirect_notify_event_t *R);
|
jpayne@69
|
741
|
jpayne@69
|
742
|
jpayne@69
|
743 #ifdef __cplusplus
|
jpayne@69
|
744 }
|
jpayne@69
|
745 #endif
|
jpayne@69
|
746
|
jpayne@69
|
747 #endif
|
jpayne@69
|
748
|
jpayne@69
|
749 /**
|
jpayne@69
|
750 * @}
|
jpayne@69
|
751 */
|