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 15 matching lines...) Expand all Loading... |
26 * | 26 * |
27 * Warning! The protocol described in this file is experimental and backward | 27 * Warning! The protocol described in this file is experimental and backward |
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_zwp_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 - |
| 38 * - @subpage page_iface_zwp_vsync_feedback_v1 - DEPRECATED |
37 * - @subpage page_iface_zwp_vsync_timing_v1 - | 39 * - @subpage page_iface_zwp_vsync_timing_v1 - |
38 * @section page_copyright_vsync_feedback_unstable_v1 Copyright | 40 * @section page_copyright_vsync_feedback_unstable_v1 Copyright |
39 * <pre> | 41 * <pre> |
40 * | 42 * |
41 * Copyright 2016 The Chromium Authors. | 43 * Copyright 2016 The Chromium Authors. |
42 * | 44 * |
43 * Permission is hereby granted, free of charge, to any person obtaining a | 45 * Permission is hereby granted, free of charge, to any person obtaining a |
44 * copy of this software and associated documentation files (the "Software"), | 46 * copy of this software and associated documentation files (the "Software"), |
45 * to deal in the Software without restriction, including without limitation | 47 * to deal in the Software without restriction, including without limitation |
46 * the rights to use, copy, modify, merge, publish, distribute, sublicense, | 48 * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
47 * and/or sell copies of the Software, and to permit persons to whom the | 49 * and/or sell copies of the Software, and to permit persons to whom the |
48 * Software is furnished to do so, subject to the following conditions: | 50 * Software is furnished to do so, subject to the following conditions: |
49 * | 51 * |
50 * The above copyright notice and this permission notice (including the next | 52 * The above copyright notice and this permission notice (including the next |
51 * paragraph) shall be included in all copies or substantial portions of the | 53 * paragraph) shall be included in all copies or substantial portions of the |
52 * Software. | 54 * Software. |
53 * | 55 * |
54 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 56 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
55 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 57 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
56 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | 58 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
57 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | 59 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
58 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | 60 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
59 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | 61 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
60 * DEALINGS IN THE SOFTWARE. | 62 * DEALINGS IN THE SOFTWARE. |
61 * </pre> | 63 * </pre> |
62 */ | 64 */ |
63 struct wl_output; | 65 struct wl_output; |
| 66 struct zcr_vsync_feedback_v1; |
| 67 struct zcr_vsync_timing_v1; |
64 struct zwp_vsync_feedback_v1; | 68 struct zwp_vsync_feedback_v1; |
65 struct zwp_vsync_timing_v1; | 69 struct zwp_vsync_timing_v1; |
66 | 70 |
67 /** | 71 /** |
| 72 * @page page_iface_zcr_vsync_feedback_v1 zcr_vsync_feedback_v1 |
| 73 * @section page_iface_zcr_vsync_feedback_v1_desc Description |
| 74 * |
| 75 * The global interface that allows clients to subscribe for vertical |
| 76 * synchronization timing data for given wl_output. |
| 77 * @section page_iface_zcr_vsync_feedback_v1_api API |
| 78 * See @ref iface_zcr_vsync_feedback_v1. |
| 79 */ |
| 80 /** |
| 81 * @defgroup iface_zcr_vsync_feedback_v1 The zcr_vsync_feedback_v1 interface |
| 82 * |
| 83 * The global interface that allows clients to subscribe for vertical |
| 84 * synchronization timing data for given wl_output. |
| 85 */ |
| 86 extern const struct wl_interface zcr_vsync_feedback_v1_interface; |
| 87 /** |
| 88 * @page page_iface_zcr_vsync_timing_v1 zcr_vsync_timing_v1 |
| 89 * @section page_iface_zcr_vsync_timing_v1_api API |
| 90 * See @ref iface_zcr_vsync_timing_v1. |
| 91 */ |
| 92 /** |
| 93 * @defgroup iface_zcr_vsync_timing_v1 The zcr_vsync_timing_v1 interface |
| 94 */ |
| 95 extern const struct wl_interface zcr_vsync_timing_v1_interface; |
| 96 /** |
68 * @page page_iface_zwp_vsync_feedback_v1 zwp_vsync_feedback_v1 | 97 * @page page_iface_zwp_vsync_feedback_v1 zwp_vsync_feedback_v1 |
69 * @section page_iface_zwp_vsync_feedback_v1_desc Description | 98 * @section page_iface_zwp_vsync_feedback_v1_desc Description |
70 * | 99 * |
71 * The global interface that allows clients to subscribe for vertical | 100 * The global interface that allows clients to subscribe for vertical |
72 * synchronization timing data for given wl_output. | 101 * synchronization timing data for given wl_output. |
73 * @section page_iface_zwp_vsync_feedback_v1_api API | 102 * @section page_iface_zwp_vsync_feedback_v1_api API |
74 * See @ref iface_zwp_vsync_feedback_v1. | 103 * See @ref iface_zwp_vsync_feedback_v1. |
75 */ | 104 */ |
76 /** | 105 /** |
77 * @defgroup iface_zwp_vsync_feedback_v1 The zwp_vsync_feedback_v1 interface | 106 * @defgroup iface_zwp_vsync_feedback_v1 The zwp_vsync_feedback_v1 interface |
78 * | 107 * |
79 * The global interface that allows clients to subscribe for vertical | 108 * The global interface that allows clients to subscribe for vertical |
80 * synchronization timing data for given wl_output. | 109 * synchronization timing data for given wl_output. |
81 */ | 110 */ |
82 extern const struct wl_interface zwp_vsync_feedback_v1_interface; | 111 extern const struct wl_interface zwp_vsync_feedback_v1_interface; |
83 /** | 112 /** |
84 * @page page_iface_zwp_vsync_timing_v1 zwp_vsync_timing_v1 | 113 * @page page_iface_zwp_vsync_timing_v1 zwp_vsync_timing_v1 |
85 * @section page_iface_zwp_vsync_timing_v1_api API | 114 * @section page_iface_zwp_vsync_timing_v1_api API |
86 * See @ref iface_zwp_vsync_timing_v1. | 115 * See @ref iface_zwp_vsync_timing_v1. |
87 */ | 116 */ |
88 /** | 117 /** |
89 * @defgroup iface_zwp_vsync_timing_v1 The zwp_vsync_timing_v1 interface | 118 * @defgroup iface_zwp_vsync_timing_v1 The zwp_vsync_timing_v1 interface |
90 */ | 119 */ |
91 extern const struct wl_interface zwp_vsync_timing_v1_interface; | 120 extern const struct wl_interface zwp_vsync_timing_v1_interface; |
92 | 121 |
93 /** | 122 /** |
| 123 * @ingroup iface_zcr_vsync_feedback_v1 |
| 124 * @struct zcr_vsync_feedback_v1_interface |
| 125 */ |
| 126 struct zcr_vsync_feedback_v1_interface { |
| 127 /** |
| 128 * destroy vsync feedback object |
| 129 * |
| 130 * Destroy this vsync feedback object. Existing vsync timing |
| 131 * objects shall not be affected by this request. |
| 132 */ |
| 133 void (*destroy)(struct wl_client *client, |
| 134 struct wl_resource *resource); |
| 135 /** |
| 136 * get vsync timing object for given wl_output |
| 137 * |
| 138 * Create a new vsync timing object that represents a |
| 139 * subscription to vertical synchronization timing updates of given |
| 140 * wl_output object. |
| 141 * |
| 142 * The newly created object will immediately signal an update to |
| 143 * notify the subscriber of initial timing parameters. |
| 144 * @param id the new vsync timing interface id |
| 145 * @param output the wl_output object to subscribe for timings of |
| 146 */ |
| 147 void (*get_vsync_timing)(struct wl_client *client, |
| 148 struct wl_resource *resource, |
| 149 uint32_t id, |
| 150 struct wl_resource *output); |
| 151 }; |
| 152 |
| 153 |
| 154 /** |
| 155 * @ingroup iface_zcr_vsync_timing_v1 |
| 156 * @struct zcr_vsync_timing_v1_interface |
| 157 */ |
| 158 struct zcr_vsync_timing_v1_interface { |
| 159 /** |
| 160 * destroy vsync timing object |
| 161 * |
| 162 * Destroy this vsync timing object. |
| 163 */ |
| 164 void (*destroy)(struct wl_client *client, |
| 165 struct wl_resource *resource); |
| 166 }; |
| 167 |
| 168 #define ZCR_VSYNC_TIMING_V1_UPDATE 0 |
| 169 |
| 170 /** |
| 171 * @ingroup iface_zcr_vsync_timing_v1 |
| 172 */ |
| 173 #define ZCR_VSYNC_TIMING_V1_UPDATE_SINCE_VERSION 1 |
| 174 |
| 175 /** |
| 176 * @ingroup iface_zcr_vsync_timing_v1 |
| 177 * Sends an update event to the client owning the resource. |
| 178 * @param resource_ The client's resource |
| 179 * @param timebase_l new vsync timebase (lower 32 bits) |
| 180 * @param timebase_h new vsync timebase (upper 32 bits) |
| 181 * @param interval_l new vsync interval (lower 32 bits) |
| 182 * @param interval_h new vsync interval (upper 32 bits) |
| 183 */ |
| 184 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) |
| 186 { |
| 187 wl_resource_post_event(resource_, ZCR_VSYNC_TIMING_V1_UPDATE, timebase_l
, timebase_h, interval_l, interval_h); |
| 188 } |
| 189 |
| 190 /** |
94 * @ingroup iface_zwp_vsync_feedback_v1 | 191 * @ingroup iface_zwp_vsync_feedback_v1 |
95 * @struct zwp_vsync_feedback_v1_interface | 192 * @struct zwp_vsync_feedback_v1_interface |
96 */ | 193 */ |
97 struct zwp_vsync_feedback_v1_interface { | 194 struct zwp_vsync_feedback_v1_interface { |
98 /** | 195 /** |
99 * destroy vsync feedback object | 196 * destroy vsync feedback object |
100 * | 197 * |
101 * Destroy this vsync feedback object. Existing vsync timing | 198 * Destroy this vsync feedback object. Existing vsync timing |
102 * objects shall not be affected by this request. | 199 * objects shall not be affected by this request. |
103 */ | 200 */ |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
156 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) | 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) |
157 { | 254 { |
158 wl_resource_post_event(resource_, ZWP_VSYNC_TIMING_V1_UPDATE, timebase_l
, timebase_h, interval_l, interval_h); | 255 wl_resource_post_event(resource_, ZWP_VSYNC_TIMING_V1_UPDATE, timebase_l
, timebase_h, interval_l, interval_h); |
159 } | 256 } |
160 | 257 |
161 #ifdef __cplusplus | 258 #ifdef __cplusplus |
162 } | 259 } |
163 #endif | 260 #endif |
164 | 261 |
165 #endif | 262 #endif |
OLD | NEW |