| 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 |