OLD | NEW |
1 /* Generated by wayland-scanner 1.11.0 */ | 1 /* Generated by wayland-scanner 1.11.0 */ |
2 | 2 |
3 #ifndef ALPHA_COMPOSITING_UNSTABLE_V1_SERVER_PROTOCOL_H | 3 #ifndef ALPHA_COMPOSITING_UNSTABLE_V1_SERVER_PROTOCOL_H |
4 #define ALPHA_COMPOSITING_UNSTABLE_V1_SERVER_PROTOCOL_H | 4 #define ALPHA_COMPOSITING_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 * together with the corresponding interface version bump. Backward | 28 * together with the corresponding interface version bump. Backward |
29 * incompatible changes are done by bumping the version number in the protocol | 29 * incompatible changes are done by bumping the version number in the protocol |
30 * and interface names and resetting the interface version. Once the protocol | 30 * and interface names and resetting the interface version. Once the protocol |
31 * is to be declared stable, the 'z' prefix and the version number in the | 31 * is to be declared stable, the 'z' prefix and the version number in the |
32 * protocol and interface names are removed and the interface version number is | 32 * protocol and interface names are removed and the interface version number is |
33 * reset. | 33 * reset. |
34 * | 34 * |
35 * @section page_ifaces_alpha_compositing_unstable_v1 Interfaces | 35 * @section page_ifaces_alpha_compositing_unstable_v1 Interfaces |
36 * - @subpage page_iface_zcr_alpha_compositing_v1 - alpha_compositing | 36 * - @subpage page_iface_zcr_alpha_compositing_v1 - alpha_compositing |
37 * - @subpage page_iface_zcr_blending_v1 - blending interface to a wl_surface | 37 * - @subpage page_iface_zcr_blending_v1 - blending interface to a wl_surface |
38 * - @subpage page_iface_zwp_alpha_compositing_v1 - DEPRECATED | |
39 * - @subpage page_iface_zwp_blending_v1 - DEPRECATED | |
40 * @section page_copyright_alpha_compositing_unstable_v1 Copyright | 38 * @section page_copyright_alpha_compositing_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_surface; | 63 struct wl_surface; |
66 struct zcr_alpha_compositing_v1; | 64 struct zcr_alpha_compositing_v1; |
67 struct zcr_blending_v1; | 65 struct zcr_blending_v1; |
68 struct zwp_alpha_compositing_v1; | |
69 struct zwp_blending_v1; | |
70 | 66 |
71 /** | 67 /** |
72 * @page page_iface_zcr_alpha_compositing_v1 zcr_alpha_compositing_v1 | 68 * @page page_iface_zcr_alpha_compositing_v1 zcr_alpha_compositing_v1 |
73 * @section page_iface_zcr_alpha_compositing_v1_desc Description | 69 * @section page_iface_zcr_alpha_compositing_v1_desc Description |
74 * | 70 * |
75 * The global interface exposing compositing and blending capabilities is | 71 * The global interface exposing compositing and blending capabilities is |
76 * used to instantiate an interface extension for a wl_surface object. | 72 * used to instantiate an interface extension for a wl_surface object. |
77 * This extended interface will then allow the client to specify the | 73 * This extended interface will then allow the client to specify the |
78 * blending equation and alpha value used for compositing the wl_surface. | 74 * blending equation and alpha value used for compositing the wl_surface. |
79 * @section page_iface_zcr_alpha_compositing_v1_api API | 75 * @section page_iface_zcr_alpha_compositing_v1_api API |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
113 * an alpha value applied to the whole surface. | 109 * an alpha value applied to the whole surface. |
114 * | 110 * |
115 * If the wl_surface associated with the bledning object is destroyed, | 111 * If the wl_surface associated with the bledning object is destroyed, |
116 * the blending object becomes inert. | 112 * the blending object becomes inert. |
117 * | 113 * |
118 * If the blending object is destroyed, the blending state is removed | 114 * If the blending object is destroyed, the blending state is removed |
119 * from the wl_surface. The change will be applied on the next | 115 * from the wl_surface. The change will be applied on the next |
120 * wl_surface.commit. | 116 * wl_surface.commit. |
121 */ | 117 */ |
122 extern const struct wl_interface zcr_blending_v1_interface; | 118 extern const struct wl_interface zcr_blending_v1_interface; |
123 /** | |
124 * @page page_iface_zwp_alpha_compositing_v1 zwp_alpha_compositing_v1 | |
125 * @section page_iface_zwp_alpha_compositing_v1_desc Description | |
126 * | |
127 * The global interface exposing compositing and blending capabilities is | |
128 * used to instantiate an interface extension for a wl_surface object. | |
129 * This extended interface will then allow the client to specify the | |
130 * blending equation and alpha value used for compositing the wl_surface. | |
131 * @section page_iface_zwp_alpha_compositing_v1_api API | |
132 * See @ref iface_zwp_alpha_compositing_v1. | |
133 */ | |
134 /** | |
135 * @defgroup iface_zwp_alpha_compositing_v1 The zwp_alpha_compositing_v1 interfa
ce | |
136 * | |
137 * The global interface exposing compositing and blending capabilities is | |
138 * used to instantiate an interface extension for a wl_surface object. | |
139 * This extended interface will then allow the client to specify the | |
140 * blending equation and alpha value used for compositing the wl_surface. | |
141 */ | |
142 extern const struct wl_interface zwp_alpha_compositing_v1_interface; | |
143 /** | |
144 * @page page_iface_zwp_blending_v1 zwp_blending_v1 | |
145 * @section page_iface_zwp_blending_v1_desc Description | |
146 * | |
147 * An additional interface to a wl_surface object, which allows the | |
148 * client to specify the blending equation used for compositing and | |
149 * an alpha value applied to the whole surface. | |
150 * | |
151 * If the wl_surface associated with the bledning object is destroyed, | |
152 * the blending object becomes inert. | |
153 * | |
154 * If the blending object is destroyed, the blending state is removed | |
155 * from the wl_surface. The change will be applied on the next | |
156 * wl_surface.commit. | |
157 * @section page_iface_zwp_blending_v1_api API | |
158 * See @ref iface_zwp_blending_v1. | |
159 */ | |
160 /** | |
161 * @defgroup iface_zwp_blending_v1 The zwp_blending_v1 interface | |
162 * | |
163 * An additional interface to a wl_surface object, which allows the | |
164 * client to specify the blending equation used for compositing and | |
165 * an alpha value applied to the whole surface. | |
166 * | |
167 * If the wl_surface associated with the bledning object is destroyed, | |
168 * the blending object becomes inert. | |
169 * | |
170 * If the blending object is destroyed, the blending state is removed | |
171 * from the wl_surface. The change will be applied on the next | |
172 * wl_surface.commit. | |
173 */ | |
174 extern const struct wl_interface zwp_blending_v1_interface; | |
175 | 119 |
176 #ifndef ZCR_ALPHA_COMPOSITING_V1_ERROR_ENUM | 120 #ifndef ZCR_ALPHA_COMPOSITING_V1_ERROR_ENUM |
177 #define ZCR_ALPHA_COMPOSITING_V1_ERROR_ENUM | 121 #define ZCR_ALPHA_COMPOSITING_V1_ERROR_ENUM |
178 enum zcr_alpha_compositing_v1_error { | 122 enum zcr_alpha_compositing_v1_error { |
179 /** | 123 /** |
180 * the surface already has a blending object associated | 124 * the surface already has a blending object associated |
181 */ | 125 */ |
182 ZCR_ALPHA_COMPOSITING_V1_ERROR_BLENDING_EXISTS = 0, | 126 ZCR_ALPHA_COMPOSITING_V1_ERROR_BLENDING_EXISTS = 0, |
183 }; | 127 }; |
184 #endif /* ZCR_ALPHA_COMPOSITING_V1_ERROR_ENUM */ | 128 #endif /* ZCR_ALPHA_COMPOSITING_V1_ERROR_ENUM */ |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
273 * The alpha value state is double-buffered state, and will be | 217 * The alpha value state is double-buffered state, and will be |
274 * applied on the next wl_surface.commit. | 218 * applied on the next wl_surface.commit. |
275 * @param value the new alpha value | 219 * @param value the new alpha value |
276 */ | 220 */ |
277 void (*set_alpha)(struct wl_client *client, | 221 void (*set_alpha)(struct wl_client *client, |
278 struct wl_resource *resource, | 222 struct wl_resource *resource, |
279 wl_fixed_t value); | 223 wl_fixed_t value); |
280 }; | 224 }; |
281 | 225 |
282 | 226 |
283 #ifndef ZWP_ALPHA_COMPOSITING_V1_ERROR_ENUM | |
284 #define ZWP_ALPHA_COMPOSITING_V1_ERROR_ENUM | |
285 enum zwp_alpha_compositing_v1_error { | |
286 /** | |
287 * the surface already has a blending object associated | |
288 */ | |
289 ZWP_ALPHA_COMPOSITING_V1_ERROR_BLENDING_EXISTS = 0, | |
290 }; | |
291 #endif /* ZWP_ALPHA_COMPOSITING_V1_ERROR_ENUM */ | |
292 | |
293 /** | |
294 * @ingroup iface_zwp_alpha_compositing_v1 | |
295 * @struct zwp_alpha_compositing_v1_interface | |
296 */ | |
297 struct zwp_alpha_compositing_v1_interface { | |
298 /** | |
299 * unbind from the blending interface | |
300 * | |
301 * Informs the server that the client will not be using this | |
302 * protocol object anymore. This does not affect any other objects, | |
303 * blending objects included. | |
304 */ | |
305 void (*destroy)(struct wl_client *client, | |
306 struct wl_resource *resource); | |
307 /** | |
308 * extend surface interface for blending | |
309 * | |
310 * Instantiate an interface extension for the given wl_surface to | |
311 * provide surface blending. If the given wl_surface already has a | |
312 * blending object associated, the blending_exists protocol error | |
313 * is raised. | |
314 * @param id the new blending interface id | |
315 * @param surface the surface | |
316 */ | |
317 void (*get_blending)(struct wl_client *client, | |
318 struct wl_resource *resource, | |
319 uint32_t id, | |
320 struct wl_resource *surface); | |
321 }; | |
322 | |
323 | |
324 #ifndef ZWP_BLENDING_V1_BLENDING_EQUATION_ENUM | |
325 #define ZWP_BLENDING_V1_BLENDING_EQUATION_ENUM | |
326 /** | |
327 * @ingroup iface_zwp_blending_v1 | |
328 * different blending equations for compositing | |
329 * | |
330 * Blending equations that can be used when compositing a surface. | |
331 */ | |
332 enum zwp_blending_v1_blending_equation { | |
333 /** | |
334 * no blending | |
335 */ | |
336 ZWP_BLENDING_V1_BLENDING_EQUATION_NONE = 0, | |
337 /** | |
338 * one / one_minus_src_alpha | |
339 */ | |
340 ZWP_BLENDING_V1_BLENDING_EQUATION_PREMULT = 1, | |
341 /** | |
342 * src_alpha / one_minus_src_alpha | |
343 */ | |
344 ZWP_BLENDING_V1_BLENDING_EQUATION_COVERAGE = 2, | |
345 }; | |
346 #endif /* ZWP_BLENDING_V1_BLENDING_EQUATION_ENUM */ | |
347 | |
348 /** | |
349 * @ingroup iface_zwp_blending_v1 | |
350 * @struct zwp_blending_v1_interface | |
351 */ | |
352 struct zwp_blending_v1_interface { | |
353 /** | |
354 * remove blending from the surface | |
355 * | |
356 * The associated wl_surface's blending state is removed. The | |
357 * change is applied on the next wl_surface.commit. | |
358 */ | |
359 void (*destroy)(struct wl_client *client, | |
360 struct wl_resource *resource); | |
361 /** | |
362 * set the blending equation | |
363 * | |
364 * Set the blending equation for compositing the wl_surface. See | |
365 * wp_alpha_compositing for the description. | |
366 * | |
367 * The blending equation state is double-buffered state, and will | |
368 * be applied on the next wl_surface.commit. | |
369 * @param equation the new blending equation | |
370 */ | |
371 void (*set_blending)(struct wl_client *client, | |
372 struct wl_resource *resource, | |
373 uint32_t equation); | |
374 /** | |
375 * set the alpha value | |
376 * | |
377 * Set the alpha value applied to the whole surface for | |
378 * compositing. See wp_alpha_compositing for the description. | |
379 * | |
380 * The alpha value state is double-buffered state, and will be | |
381 * applied on the next wl_surface.commit. | |
382 * @param value the new alpha value | |
383 */ | |
384 void (*set_alpha)(struct wl_client *client, | |
385 struct wl_resource *resource, | |
386 wl_fixed_t value); | |
387 }; | |
388 | |
389 | |
390 #ifdef __cplusplus | 227 #ifdef __cplusplus |
391 } | 228 } |
392 #endif | 229 #endif |
393 | 230 |
394 #endif | 231 #endif |
OLD | NEW |