OLD | NEW |
1 /* Generated by wayland-scanner 1.11.0 */ | 1 /* Generated by wayland-scanner 1.11.0 */ |
2 | 2 |
3 #ifndef VSYNC_FEEDBACK_UNSTABLE_V1_SERVER_PROTOCOL_H | 3 #ifndef VSYNC_FEEDBACK_UNSTABLE_V1_SERVER_PROTOCOL_H |
4 #define VSYNC_FEEDBACK_UNSTABLE_V1_SERVER_PROTOCOL_H | 4 #define VSYNC_FEEDBACK_UNSTABLE_V1_SERVER_PROTOCOL_H |
5 | 5 |
6 #include <stdint.h> | 6 #include <stdint.h> |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 #include "wayland-server.h" | 8 #include "wayland-server.h" |
9 | 9 |
10 #ifdef __cplusplus | 10 #ifdef __cplusplus |
(...skipping 17 matching lines...) Expand all Loading... |
28 * incompatible changes may be made. Backward compatible changes may be added | 28 * incompatible changes may be made. Backward compatible changes may be added |
29 * together with the corresponding interface version bump. Backward | 29 * together with the corresponding interface version bump. Backward |
30 * incompatible changes are done by bumping the version number in the protocol | 30 * incompatible changes are done by bumping the version number in the protocol |
31 * and interface names and resetting the interface version. Once the protocol | 31 * and interface names and resetting the interface version. Once the protocol |
32 * is to be declared stable, the version number in the protocol is removed and | 32 * is to be declared stable, the version number in the protocol is removed and |
33 * the interface version number is reset. | 33 * the interface version number is reset. |
34 * | 34 * |
35 * @section page_ifaces_vsync_feedback_unstable_v1 Interfaces | 35 * @section page_ifaces_vsync_feedback_unstable_v1 Interfaces |
36 * - @subpage page_iface_zcr_vsync_feedback_v1 - Protocol for providing vertical
synchronization timing | 36 * - @subpage page_iface_zcr_vsync_feedback_v1 - Protocol for providing vertical
synchronization timing |
37 * - @subpage page_iface_zcr_vsync_timing_v1 - | 37 * - @subpage page_iface_zcr_vsync_timing_v1 - |
38 * - @subpage page_iface_zwp_vsync_feedback_v1 - DEPRECATED | |
39 * - @subpage page_iface_zwp_vsync_timing_v1 - | |
40 * @section page_copyright_vsync_feedback_unstable_v1 Copyright | 38 * @section page_copyright_vsync_feedback_unstable_v1 Copyright |
41 * <pre> | 39 * <pre> |
42 * | 40 * |
43 * Copyright 2016 The Chromium Authors. | 41 * Copyright 2016 The Chromium Authors. |
44 * | 42 * |
45 * Permission is hereby granted, free of charge, to any person obtaining a | 43 * Permission is hereby granted, free of charge, to any person obtaining a |
46 * copy of this software and associated documentation files (the "Software"), | 44 * copy of this software and associated documentation files (the "Software"), |
47 * to deal in the Software without restriction, including without limitation | 45 * to deal in the Software without restriction, including without limitation |
48 * the rights to use, copy, modify, merge, publish, distribute, sublicense, | 46 * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
49 * and/or sell copies of the Software, and to permit persons to whom the | 47 * and/or sell copies of the Software, and to permit persons to whom the |
50 * Software is furnished to do so, subject to the following conditions: | 48 * Software is furnished to do so, subject to the following conditions: |
51 * | 49 * |
52 * The above copyright notice and this permission notice (including the next | 50 * The above copyright notice and this permission notice (including the next |
53 * paragraph) shall be included in all copies or substantial portions of the | 51 * paragraph) shall be included in all copies or substantial portions of the |
54 * Software. | 52 * Software. |
55 * | 53 * |
56 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 54 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
57 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 55 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
58 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | 56 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
59 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 57 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
60 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 58 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
61 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 59 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
62 * DEALINGS IN THE SOFTWARE. | 60 * DEALINGS IN THE SOFTWARE. |
63 * </pre> | 61 * </pre> |
64 */ | 62 */ |
65 struct wl_output; | 63 struct wl_output; |
66 struct zcr_vsync_feedback_v1; | 64 struct zcr_vsync_feedback_v1; |
67 struct zcr_vsync_timing_v1; | 65 struct zcr_vsync_timing_v1; |
68 struct zwp_vsync_feedback_v1; | |
69 struct zwp_vsync_timing_v1; | |
70 | 66 |
71 /** | 67 /** |
72 * @page page_iface_zcr_vsync_feedback_v1 zcr_vsync_feedback_v1 | 68 * @page page_iface_zcr_vsync_feedback_v1 zcr_vsync_feedback_v1 |
73 * @section page_iface_zcr_vsync_feedback_v1_desc Description | 69 * @section page_iface_zcr_vsync_feedback_v1_desc Description |
74 * | 70 * |
75 * The global interface that allows clients to subscribe for vertical | 71 * The global interface that allows clients to subscribe for vertical |
76 * synchronization timing data for given wl_output. | 72 * synchronization timing data for given wl_output. |
77 * @section page_iface_zcr_vsync_feedback_v1_api API | 73 * @section page_iface_zcr_vsync_feedback_v1_api API |
78 * See @ref iface_zcr_vsync_feedback_v1. | 74 * See @ref iface_zcr_vsync_feedback_v1. |
79 */ | 75 */ |
80 /** | 76 /** |
81 * @defgroup iface_zcr_vsync_feedback_v1 The zcr_vsync_feedback_v1 interface | 77 * @defgroup iface_zcr_vsync_feedback_v1 The zcr_vsync_feedback_v1 interface |
82 * | 78 * |
83 * The global interface that allows clients to subscribe for vertical | 79 * The global interface that allows clients to subscribe for vertical |
84 * synchronization timing data for given wl_output. | 80 * synchronization timing data for given wl_output. |
85 */ | 81 */ |
86 extern const struct wl_interface zcr_vsync_feedback_v1_interface; | 82 extern const struct wl_interface zcr_vsync_feedback_v1_interface; |
87 /** | 83 /** |
88 * @page page_iface_zcr_vsync_timing_v1 zcr_vsync_timing_v1 | 84 * @page page_iface_zcr_vsync_timing_v1 zcr_vsync_timing_v1 |
89 * @section page_iface_zcr_vsync_timing_v1_api API | 85 * @section page_iface_zcr_vsync_timing_v1_api API |
90 * See @ref iface_zcr_vsync_timing_v1. | 86 * See @ref iface_zcr_vsync_timing_v1. |
91 */ | 87 */ |
92 /** | 88 /** |
93 * @defgroup iface_zcr_vsync_timing_v1 The zcr_vsync_timing_v1 interface | 89 * @defgroup iface_zcr_vsync_timing_v1 The zcr_vsync_timing_v1 interface |
94 */ | 90 */ |
95 extern const struct wl_interface zcr_vsync_timing_v1_interface; | 91 extern const struct wl_interface zcr_vsync_timing_v1_interface; |
96 /** | |
97 * @page page_iface_zwp_vsync_feedback_v1 zwp_vsync_feedback_v1 | |
98 * @section page_iface_zwp_vsync_feedback_v1_desc Description | |
99 * | |
100 * The global interface that allows clients to subscribe for vertical | |
101 * synchronization timing data for given wl_output. | |
102 * @section page_iface_zwp_vsync_feedback_v1_api API | |
103 * See @ref iface_zwp_vsync_feedback_v1. | |
104 */ | |
105 /** | |
106 * @defgroup iface_zwp_vsync_feedback_v1 The zwp_vsync_feedback_v1 interface | |
107 * | |
108 * The global interface that allows clients to subscribe for vertical | |
109 * synchronization timing data for given wl_output. | |
110 */ | |
111 extern const struct wl_interface zwp_vsync_feedback_v1_interface; | |
112 /** | |
113 * @page page_iface_zwp_vsync_timing_v1 zwp_vsync_timing_v1 | |
114 * @section page_iface_zwp_vsync_timing_v1_api API | |
115 * See @ref iface_zwp_vsync_timing_v1. | |
116 */ | |
117 /** | |
118 * @defgroup iface_zwp_vsync_timing_v1 The zwp_vsync_timing_v1 interface | |
119 */ | |
120 extern const struct wl_interface zwp_vsync_timing_v1_interface; | |
121 | 92 |
122 /** | 93 /** |
123 * @ingroup iface_zcr_vsync_feedback_v1 | 94 * @ingroup iface_zcr_vsync_feedback_v1 |
124 * @struct zcr_vsync_feedback_v1_interface | 95 * @struct zcr_vsync_feedback_v1_interface |
125 */ | 96 */ |
126 struct zcr_vsync_feedback_v1_interface { | 97 struct zcr_vsync_feedback_v1_interface { |
127 /** | 98 /** |
128 * destroy vsync feedback object | 99 * destroy vsync feedback object |
129 * | 100 * |
130 * Destroy this vsync feedback object. Existing vsync timing | 101 * Destroy this vsync feedback object. Existing vsync timing |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
180 * @param timebase_h new vsync timebase (upper 32 bits) | 151 * @param timebase_h new vsync timebase (upper 32 bits) |
181 * @param interval_l new vsync interval (lower 32 bits) | 152 * @param interval_l new vsync interval (lower 32 bits) |
182 * @param interval_h new vsync interval (upper 32 bits) | 153 * @param interval_h new vsync interval (upper 32 bits) |
183 */ | 154 */ |
184 static inline void | 155 static inline void |
185 zcr_vsync_timing_v1_send_update(struct wl_resource *resource_, uint32_t timebase
_l, uint32_t timebase_h, uint32_t interval_l, uint32_t interval_h) | 156 zcr_vsync_timing_v1_send_update(struct wl_resource *resource_, uint32_t timebase
_l, uint32_t timebase_h, uint32_t interval_l, uint32_t interval_h) |
186 { | 157 { |
187 wl_resource_post_event(resource_, ZCR_VSYNC_TIMING_V1_UPDATE, timebase_l
, timebase_h, interval_l, interval_h); | 158 wl_resource_post_event(resource_, ZCR_VSYNC_TIMING_V1_UPDATE, timebase_l
, timebase_h, interval_l, interval_h); |
188 } | 159 } |
189 | 160 |
190 /** | |
191 * @ingroup iface_zwp_vsync_feedback_v1 | |
192 * @struct zwp_vsync_feedback_v1_interface | |
193 */ | |
194 struct zwp_vsync_feedback_v1_interface { | |
195 /** | |
196 * destroy vsync feedback object | |
197 * | |
198 * Destroy this vsync feedback object. Existing vsync timing | |
199 * objects shall not be affected by this request. | |
200 */ | |
201 void (*destroy)(struct wl_client *client, | |
202 struct wl_resource *resource); | |
203 /** | |
204 * get vsync timing object for given wl_output | |
205 * | |
206 * Create a new vsync timing object that represents a | |
207 * subscription to vertical synchronization timing updates of given | |
208 * wl_output object. | |
209 * | |
210 * The newly created object will immediately signal an update to | |
211 * notify the subscriber of initial timing parameters. | |
212 * @param id the new vsync timing interface id | |
213 * @param output the wl_output object to subscribe for timings of | |
214 */ | |
215 void (*get_vsync_timing)(struct wl_client *client, | |
216 struct wl_resource *resource, | |
217 uint32_t id, | |
218 struct wl_resource *output); | |
219 }; | |
220 | |
221 | |
222 /** | |
223 * @ingroup iface_zwp_vsync_timing_v1 | |
224 * @struct zwp_vsync_timing_v1_interface | |
225 */ | |
226 struct zwp_vsync_timing_v1_interface { | |
227 /** | |
228 * destroy vsync timing object | |
229 * | |
230 * Destroy this vsync timing object. | |
231 */ | |
232 void (*destroy)(struct wl_client *client, | |
233 struct wl_resource *resource); | |
234 }; | |
235 | |
236 #define ZWP_VSYNC_TIMING_V1_UPDATE 0 | |
237 | |
238 /** | |
239 * @ingroup iface_zwp_vsync_timing_v1 | |
240 */ | |
241 #define ZWP_VSYNC_TIMING_V1_UPDATE_SINCE_VERSION 1 | |
242 | |
243 /** | |
244 * @ingroup iface_zwp_vsync_timing_v1 | |
245 * Sends an update event to the client owning the resource. | |
246 * @param resource_ The client's resource | |
247 * @param timebase_l new vsync timebase (lower 32 bits) | |
248 * @param timebase_h new vsync timebase (upper 32 bits) | |
249 * @param interval_l new vsync interval (lower 32 bits) | |
250 * @param interval_h new vsync interval (upper 32 bits) | |
251 */ | |
252 static inline void | |
253 zwp_vsync_timing_v1_send_update(struct wl_resource *resource_, uint32_t timebase
_l, uint32_t timebase_h, uint32_t interval_l, uint32_t interval_h) | |
254 { | |
255 wl_resource_post_event(resource_, ZWP_VSYNC_TIMING_V1_UPDATE, timebase_l
, timebase_h, interval_l, interval_h); | |
256 } | |
257 | |
258 #ifdef __cplusplus | 161 #ifdef __cplusplus |
259 } | 162 } |
260 #endif | 163 #endif |
261 | 164 |
262 #endif | 165 #endif |
OLD | NEW |