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 15 matching lines...) Expand all Loading... |
26 * Warning! The protocol described in this file is experimental and backward | 26 * Warning! The protocol described in this file is experimental and backward |
27 * incompatible changes may be made. Backward compatible changes may be added | 27 * incompatible changes may be made. Backward compatible changes may be added |
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_zwp_alpha_compositing_v1 - alpha_compositing | 36 * - @subpage page_iface_zcr_alpha_compositing_v1 - alpha_compositing |
37 * - @subpage page_iface_zwp_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 |
38 * @section page_copyright_alpha_compositing_unstable_v1 Copyright | 40 * @section page_copyright_alpha_compositing_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_surface; | 65 struct wl_surface; |
| 66 struct zcr_alpha_compositing_v1; |
| 67 struct zcr_blending_v1; |
64 struct zwp_alpha_compositing_v1; | 68 struct zwp_alpha_compositing_v1; |
65 struct zwp_blending_v1; | 69 struct zwp_blending_v1; |
66 | 70 |
67 /** | 71 /** |
| 72 * @page page_iface_zcr_alpha_compositing_v1 zcr_alpha_compositing_v1 |
| 73 * @section page_iface_zcr_alpha_compositing_v1_desc Description |
| 74 * |
| 75 * The global interface exposing compositing and blending capabilities is |
| 76 * used to instantiate an interface extension for a wl_surface object. |
| 77 * This extended interface will then allow the client to specify the |
| 78 * blending equation and alpha value used for compositing the wl_surface. |
| 79 * @section page_iface_zcr_alpha_compositing_v1_api API |
| 80 * See @ref iface_zcr_alpha_compositing_v1. |
| 81 */ |
| 82 /** |
| 83 * @defgroup iface_zcr_alpha_compositing_v1 The zcr_alpha_compositing_v1 interfa
ce |
| 84 * |
| 85 * The global interface exposing compositing and blending capabilities is |
| 86 * used to instantiate an interface extension for a wl_surface object. |
| 87 * This extended interface will then allow the client to specify the |
| 88 * blending equation and alpha value used for compositing the wl_surface. |
| 89 */ |
| 90 extern const struct wl_interface zcr_alpha_compositing_v1_interface; |
| 91 /** |
| 92 * @page page_iface_zcr_blending_v1 zcr_blending_v1 |
| 93 * @section page_iface_zcr_blending_v1_desc Description |
| 94 * |
| 95 * An additional interface to a wl_surface object, which allows the |
| 96 * client to specify the blending equation used for compositing and |
| 97 * an alpha value applied to the whole surface. |
| 98 * |
| 99 * If the wl_surface associated with the bledning object is destroyed, |
| 100 * the blending object becomes inert. |
| 101 * |
| 102 * If the blending object is destroyed, the blending state is removed |
| 103 * from the wl_surface. The change will be applied on the next |
| 104 * wl_surface.commit. |
| 105 * @section page_iface_zcr_blending_v1_api API |
| 106 * See @ref iface_zcr_blending_v1. |
| 107 */ |
| 108 /** |
| 109 * @defgroup iface_zcr_blending_v1 The zcr_blending_v1 interface |
| 110 * |
| 111 * An additional interface to a wl_surface object, which allows the |
| 112 * client to specify the blending equation used for compositing and |
| 113 * an alpha value applied to the whole surface. |
| 114 * |
| 115 * If the wl_surface associated with the bledning object is destroyed, |
| 116 * the blending object becomes inert. |
| 117 * |
| 118 * If the blending object is destroyed, the blending state is removed |
| 119 * from the wl_surface. The change will be applied on the next |
| 120 * wl_surface.commit. |
| 121 */ |
| 122 extern const struct wl_interface zcr_blending_v1_interface; |
| 123 /** |
68 * @page page_iface_zwp_alpha_compositing_v1 zwp_alpha_compositing_v1 | 124 * @page page_iface_zwp_alpha_compositing_v1 zwp_alpha_compositing_v1 |
69 * @section page_iface_zwp_alpha_compositing_v1_desc Description | 125 * @section page_iface_zwp_alpha_compositing_v1_desc Description |
70 * | 126 * |
71 * The global interface exposing compositing and blending capabilities is | 127 * The global interface exposing compositing and blending capabilities is |
72 * used to instantiate an interface extension for a wl_surface object. | 128 * used to instantiate an interface extension for a wl_surface object. |
73 * This extended interface will then allow the client to specify the | 129 * This extended interface will then allow the client to specify the |
74 * blending equation and alpha value used for compositing the wl_surface. | 130 * blending equation and alpha value used for compositing the wl_surface. |
75 * @section page_iface_zwp_alpha_compositing_v1_api API | 131 * @section page_iface_zwp_alpha_compositing_v1_api API |
76 * See @ref iface_zwp_alpha_compositing_v1. | 132 * See @ref iface_zwp_alpha_compositing_v1. |
77 */ | 133 */ |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 * | 166 * |
111 * If the wl_surface associated with the bledning object is destroyed, | 167 * If the wl_surface associated with the bledning object is destroyed, |
112 * the blending object becomes inert. | 168 * the blending object becomes inert. |
113 * | 169 * |
114 * If the blending object is destroyed, the blending state is removed | 170 * If the blending object is destroyed, the blending state is removed |
115 * from the wl_surface. The change will be applied on the next | 171 * from the wl_surface. The change will be applied on the next |
116 * wl_surface.commit. | 172 * wl_surface.commit. |
117 */ | 173 */ |
118 extern const struct wl_interface zwp_blending_v1_interface; | 174 extern const struct wl_interface zwp_blending_v1_interface; |
119 | 175 |
| 176 #ifndef ZCR_ALPHA_COMPOSITING_V1_ERROR_ENUM |
| 177 #define ZCR_ALPHA_COMPOSITING_V1_ERROR_ENUM |
| 178 enum zcr_alpha_compositing_v1_error { |
| 179 /** |
| 180 * the surface already has a blending object associated |
| 181 */ |
| 182 ZCR_ALPHA_COMPOSITING_V1_ERROR_BLENDING_EXISTS = 0, |
| 183 }; |
| 184 #endif /* ZCR_ALPHA_COMPOSITING_V1_ERROR_ENUM */ |
| 185 |
| 186 /** |
| 187 * @ingroup iface_zcr_alpha_compositing_v1 |
| 188 * @struct zcr_alpha_compositing_v1_interface |
| 189 */ |
| 190 struct zcr_alpha_compositing_v1_interface { |
| 191 /** |
| 192 * unbind from the blending interface |
| 193 * |
| 194 * Informs the server that the client will not be using this |
| 195 * protocol object anymore. This does not affect any other objects, |
| 196 * blending objects included. |
| 197 */ |
| 198 void (*destroy)(struct wl_client *client, |
| 199 struct wl_resource *resource); |
| 200 /** |
| 201 * extend surface interface for blending |
| 202 * |
| 203 * Instantiate an interface extension for the given wl_surface to |
| 204 * provide surface blending. If the given wl_surface already has a |
| 205 * blending object associated, the blending_exists protocol error |
| 206 * is raised. |
| 207 * @param id the new blending interface id |
| 208 * @param surface the surface |
| 209 */ |
| 210 void (*get_blending)(struct wl_client *client, |
| 211 struct wl_resource *resource, |
| 212 uint32_t id, |
| 213 struct wl_resource *surface); |
| 214 }; |
| 215 |
| 216 |
| 217 #ifndef ZCR_BLENDING_V1_BLENDING_EQUATION_ENUM |
| 218 #define ZCR_BLENDING_V1_BLENDING_EQUATION_ENUM |
| 219 /** |
| 220 * @ingroup iface_zcr_blending_v1 |
| 221 * different blending equations for compositing |
| 222 * |
| 223 * Blending equations that can be used when compositing a surface. |
| 224 */ |
| 225 enum zcr_blending_v1_blending_equation { |
| 226 /** |
| 227 * no blending |
| 228 */ |
| 229 ZCR_BLENDING_V1_BLENDING_EQUATION_NONE = 0, |
| 230 /** |
| 231 * one / one_minus_src_alpha |
| 232 */ |
| 233 ZCR_BLENDING_V1_BLENDING_EQUATION_PREMULT = 1, |
| 234 /** |
| 235 * src_alpha / one_minus_src_alpha |
| 236 */ |
| 237 ZCR_BLENDING_V1_BLENDING_EQUATION_COVERAGE = 2, |
| 238 }; |
| 239 #endif /* ZCR_BLENDING_V1_BLENDING_EQUATION_ENUM */ |
| 240 |
| 241 /** |
| 242 * @ingroup iface_zcr_blending_v1 |
| 243 * @struct zcr_blending_v1_interface |
| 244 */ |
| 245 struct zcr_blending_v1_interface { |
| 246 /** |
| 247 * remove blending from the surface |
| 248 * |
| 249 * The associated wl_surface's blending state is removed. The |
| 250 * change is applied on the next wl_surface.commit. |
| 251 */ |
| 252 void (*destroy)(struct wl_client *client, |
| 253 struct wl_resource *resource); |
| 254 /** |
| 255 * set the blending equation |
| 256 * |
| 257 * Set the blending equation for compositing the wl_surface. See |
| 258 * wp_alpha_compositing for the description. |
| 259 * |
| 260 * The blending equation state is double-buffered state, and will |
| 261 * be applied on the next wl_surface.commit. |
| 262 * @param equation the new blending equation |
| 263 */ |
| 264 void (*set_blending)(struct wl_client *client, |
| 265 struct wl_resource *resource, |
| 266 uint32_t equation); |
| 267 /** |
| 268 * set the alpha value |
| 269 * |
| 270 * Set the alpha value applied to the whole surface for |
| 271 * compositing. See wp_alpha_compositing for the description. |
| 272 * |
| 273 * The alpha value state is double-buffered state, and will be |
| 274 * applied on the next wl_surface.commit. |
| 275 * @param value the new alpha value |
| 276 */ |
| 277 void (*set_alpha)(struct wl_client *client, |
| 278 struct wl_resource *resource, |
| 279 wl_fixed_t value); |
| 280 }; |
| 281 |
| 282 |
120 #ifndef ZWP_ALPHA_COMPOSITING_V1_ERROR_ENUM | 283 #ifndef ZWP_ALPHA_COMPOSITING_V1_ERROR_ENUM |
121 #define ZWP_ALPHA_COMPOSITING_V1_ERROR_ENUM | 284 #define ZWP_ALPHA_COMPOSITING_V1_ERROR_ENUM |
122 enum zwp_alpha_compositing_v1_error { | 285 enum zwp_alpha_compositing_v1_error { |
123 /** | 286 /** |
124 * the surface already has a blending object associated | 287 * the surface already has a blending object associated |
125 */ | 288 */ |
126 ZWP_ALPHA_COMPOSITING_V1_ERROR_BLENDING_EXISTS = 0, | 289 ZWP_ALPHA_COMPOSITING_V1_ERROR_BLENDING_EXISTS = 0, |
127 }; | 290 }; |
128 #endif /* ZWP_ALPHA_COMPOSITING_V1_ERROR_ENUM */ | 291 #endif /* ZWP_ALPHA_COMPOSITING_V1_ERROR_ENUM */ |
129 | 292 |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 struct wl_resource *resource, | 385 struct wl_resource *resource, |
223 wl_fixed_t value); | 386 wl_fixed_t value); |
224 }; | 387 }; |
225 | 388 |
226 | 389 |
227 #ifdef __cplusplus | 390 #ifdef __cplusplus |
228 } | 391 } |
229 #endif | 392 #endif |
230 | 393 |
231 #endif | 394 #endif |
OLD | NEW |