OLD | NEW |
1 /* Generated by wayland-scanner 1.11.0 */ | 1 /* |
2 | |
3 #ifndef REMOTE_SHELL_UNSTABLE_V1_SERVER_PROTOCOL_H | |
4 #define REMOTE_SHELL_UNSTABLE_V1_SERVER_PROTOCOL_H | |
5 | |
6 #include <stdint.h> | |
7 #include <stddef.h> | |
8 #include "wayland-server.h" | |
9 | |
10 #ifdef __cplusplus | |
11 extern "C" { | |
12 #endif | |
13 | |
14 struct wl_client; | |
15 struct wl_resource; | |
16 | |
17 /** | |
18 * @page page_remote_shell_unstable_v1 The remote_shell_unstable_v1 protocol | |
19 * Create remote desktop-style surfaces | |
20 * | |
21 * @section page_desc_remote_shell_unstable_v1 Description | |
22 * | |
23 * remote_shell allows clients to turn a wl_surface into a "real window" | |
24 * which can be stacked and activated by the user. | |
25 * | |
26 * Warning! The protocol described in this file is experimental and backward | |
27 * incompatible changes may be made. Backward compatible changes may be added | |
28 * together with the corresponding interface version bump. Backward | |
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 | |
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 | |
33 * reset. | |
34 * | |
35 * @section page_ifaces_remote_shell_unstable_v1 Interfaces | |
36 * - @subpage page_iface_zwp_remote_shell_v1 - remote_shell | |
37 * - @subpage page_iface_zwp_remote_surface_v1 - A desktop window | |
38 * @section page_copyright_remote_shell_unstable_v1 Copyright | |
39 * <pre> | |
40 * | |
41 * Copyright 2016 The Chromium Authors. | 2 * Copyright 2016 The Chromium Authors. |
42 * | 3 * |
43 * Permission is hereby granted, free of charge, to any person obtaining a | 4 * Permission is hereby granted, free of charge, to any person obtaining a |
44 * copy of this software and associated documentation files (the "Software"), | 5 * copy of this software and associated documentation files (the "Software"), |
45 * to deal in the Software without restriction, including without limitation | 6 * to deal in the Software without restriction, including without limitation |
46 * the rights to use, copy, modify, merge, publish, distribute, sublicense, | 7 * 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 | 8 * 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: | 9 * Software is furnished to do so, subject to the following conditions: |
49 * | 10 * |
50 * The above copyright notice and this permission notice (including the next | 11 * The above copyright notice and this permission notice (including the next |
51 * paragraph) shall be included in all copies or substantial portions of the | 12 * paragraph) shall be included in all copies or substantial portions of the |
52 * Software. | 13 * Software. |
53 * | 14 * |
54 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | 15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
55 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
56 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | 17 * 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 | 18 * 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 | 19 * 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 | 20 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
60 * DEALINGS IN THE SOFTWARE. | 21 * DEALINGS IN THE SOFTWARE. |
61 * </pre> | |
62 */ | 22 */ |
63 struct wl_surface; | 23 |
| 24 #ifndef REMOTE_SHELL_UNSTABLE_V1_SERVER_PROTOCOL_H |
| 25 #define REMOTE_SHELL_UNSTABLE_V1_SERVER_PROTOCOL_H |
| 26 |
| 27 #ifdef __cplusplus |
| 28 extern "C" { |
| 29 #endif |
| 30 |
| 31 #include <stdint.h> |
| 32 #include <stddef.h> |
| 33 #include "wayland-util.h" |
| 34 |
| 35 struct wl_client; |
| 36 struct wl_resource; |
| 37 |
64 struct zwp_remote_shell_v1; | 38 struct zwp_remote_shell_v1; |
65 struct zwp_remote_surface_v1; | 39 struct zwp_remote_surface_v1; |
| 40 struct zwp_notification_surface_v1; |
66 | 41 |
67 /** | |
68 * @page page_iface_zwp_remote_shell_v1 zwp_remote_shell_v1 | |
69 * @section page_iface_zwp_remote_shell_v1_desc Description | |
70 * | |
71 * The global interface that allows clients to turn a wl_surface into a | |
72 * "real window" which is remotely managed but can be stacked, activated | |
73 * and made fullscreen by the user. | |
74 * @section page_iface_zwp_remote_shell_v1_api API | |
75 * See @ref iface_zwp_remote_shell_v1. | |
76 */ | |
77 /** | |
78 * @defgroup iface_zwp_remote_shell_v1 The zwp_remote_shell_v1 interface | |
79 * | |
80 * The global interface that allows clients to turn a wl_surface into a | |
81 * "real window" which is remotely managed but can be stacked, activated | |
82 * and made fullscreen by the user. | |
83 */ | |
84 extern const struct wl_interface zwp_remote_shell_v1_interface; | 42 extern const struct wl_interface zwp_remote_shell_v1_interface; |
85 /** | |
86 * @page page_iface_zwp_remote_surface_v1 zwp_remote_surface_v1 | |
87 * @section page_iface_zwp_remote_surface_v1_desc Description | |
88 * | |
89 * An interface that may be implemented by a wl_surface, for | |
90 * implementations that provide a desktop-style user interface | |
91 * and allows for remotely managed windows. | |
92 * | |
93 * It provides requests to treat surfaces like windows, allowing to set | |
94 * properties like app id and geometry. | |
95 * | |
96 * The client must call wl_surface.commit on the corresponding wl_surface | |
97 * for the remote_surface state to take effect. | |
98 * | |
99 * For a surface to be mapped by the compositor the client must have | |
100 * committed both an remote_surface state and a buffer. | |
101 * @section page_iface_zwp_remote_surface_v1_api API | |
102 * See @ref iface_zwp_remote_surface_v1. | |
103 */ | |
104 /** | |
105 * @defgroup iface_zwp_remote_surface_v1 The zwp_remote_surface_v1 interface | |
106 * | |
107 * An interface that may be implemented by a wl_surface, for | |
108 * implementations that provide a desktop-style user interface | |
109 * and allows for remotely managed windows. | |
110 * | |
111 * It provides requests to treat surfaces like windows, allowing to set | |
112 * properties like app id and geometry. | |
113 * | |
114 * The client must call wl_surface.commit on the corresponding wl_surface | |
115 * for the remote_surface state to take effect. | |
116 * | |
117 * For a surface to be mapped by the compositor the client must have | |
118 * committed both an remote_surface state and a buffer. | |
119 */ | |
120 extern const struct wl_interface zwp_remote_surface_v1_interface; | 43 extern const struct wl_interface zwp_remote_surface_v1_interface; |
| 44 extern const struct wl_interface zwp_notification_surface_v1_interface; |
121 | 45 |
122 #ifndef ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM | 46 #ifndef ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM |
123 #define ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM | 47 #define ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM |
124 /** | 48 /** |
125 * @ingroup iface_zwp_remote_shell_v1 | 49 * zwp_remote_shell_v1_container - containers for remote surfaces |
126 * containers for remote surfaces | 50 * @ZWP_REMOTE_SHELL_V1_CONTAINER_DEFAULT: default container |
| 51 * @ZWP_REMOTE_SHELL_V1_CONTAINER_OVERLAY: system modal container |
127 * | 52 * |
128 * Determine how a remote surface should be stacked relative to other | 53 * Determine how a remote surface should be stacked relative to other |
129 * shell surfaces. | 54 * shell surfaces. |
130 */ | 55 */ |
131 enum zwp_remote_shell_v1_container { | 56 enum zwp_remote_shell_v1_container { |
132 /** | |
133 * default container | |
134 */ | |
135 ZWP_REMOTE_SHELL_V1_CONTAINER_DEFAULT = 1, | 57 ZWP_REMOTE_SHELL_V1_CONTAINER_DEFAULT = 1, |
136 /** | |
137 * system modal container | |
138 */ | |
139 ZWP_REMOTE_SHELL_V1_CONTAINER_OVERLAY = 2, | 58 ZWP_REMOTE_SHELL_V1_CONTAINER_OVERLAY = 2, |
140 }; | 59 }; |
141 #endif /* ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM */ | 60 #endif /* ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM */ |
142 | 61 |
143 #ifndef ZWP_REMOTE_SHELL_V1_ERROR_ENUM | 62 #ifndef ZWP_REMOTE_SHELL_V1_ERROR_ENUM |
144 #define ZWP_REMOTE_SHELL_V1_ERROR_ENUM | 63 #define ZWP_REMOTE_SHELL_V1_ERROR_ENUM |
145 enum zwp_remote_shell_v1_error { | 64 enum zwp_remote_shell_v1_error { |
146 /** | |
147 * given wl_surface has another role | |
148 */ | |
149 ZWP_REMOTE_SHELL_V1_ERROR_ROLE = 0, | 65 ZWP_REMOTE_SHELL_V1_ERROR_ROLE = 0, |
150 }; | 66 }; |
151 #endif /* ZWP_REMOTE_SHELL_V1_ERROR_ENUM */ | 67 #endif /* ZWP_REMOTE_SHELL_V1_ERROR_ENUM */ |
152 | 68 |
153 /** | 69 /** |
154 * @ingroup iface_zwp_remote_shell_v1 | 70 * zwp_remote_shell_v1 - remote_shell |
155 * @struct zwp_remote_shell_v1_interface | 71 * @destroy: destroy remote_shell |
| 72 * @get_remote_surface: create a remote shell surface from a surface |
| 73 * @get_notification_surface: create a notification surface from a |
| 74 *» surface |
| 75 * |
| 76 * The global interface that allows clients to turn a wl_surface into a |
| 77 * "real window" which is remotely managed but can be stacked, activated |
| 78 * and made fullscreen by the user. |
156 */ | 79 */ |
157 struct zwp_remote_shell_v1_interface { | 80 struct zwp_remote_shell_v1_interface { |
158 /** | 81 /** |
159 » * destroy remote_shell | 82 » * destroy - destroy remote_shell |
160 * | 83 * |
161 * Destroy this remote_shell object. | 84 * Destroy this remote_shell object. |
162 * | 85 * |
163 * Destroying a bound remote_shell object while there are surfaces | 86 * Destroying a bound remote_shell object while there are surfaces |
164 * still alive created by this remote_shell object instance is | 87 * still alive created by this remote_shell object instance is |
165 * illegal and will result in a protocol error. | 88 * illegal and will result in a protocol error. |
166 */ | 89 */ |
167 void (*destroy)(struct wl_client *client, | 90 void (*destroy)(struct wl_client *client, |
168 struct wl_resource *resource); | 91 struct wl_resource *resource); |
169 /** | 92 /** |
170 » * create a remote shell surface from a surface | 93 » * get_remote_surface - create a remote shell surface from a |
| 94 » *» surface |
| 95 » * @id: (none) |
| 96 » * @surface: (none) |
| 97 » * @container: (none) |
171 * | 98 * |
172 * This creates an remote_surface for the given surface and gives | 99 * This creates an remote_surface for the given surface and gives |
173 * it the remote_surface role. A wl_surface can only be given a | 100 * it the remote_surface role. A wl_surface can only be given a |
174 * remote_surface role once. If get_remote_surface is called with a | 101 * remote_surface role once. If get_remote_surface is called with a |
175 * wl_surface that already has an active remote_surface associated | 102 * wl_surface that already has an active remote_surface associated |
176 * with it, or if it had any other role, an error is raised. | 103 * with it, or if it had any other role, an error is raised. |
177 * | 104 * |
178 * See the documentation of remote_surface for more details about | 105 * See the documentation of remote_surface for more details about |
179 * what an remote_surface is and how it is used. | 106 * what an remote_surface is and how it is used. |
180 */ | 107 */ |
181 void (*get_remote_surface)(struct wl_client *client, | 108 void (*get_remote_surface)(struct wl_client *client, |
182 struct wl_resource *resource, | 109 struct wl_resource *resource, |
183 uint32_t id, | 110 uint32_t id, |
184 struct wl_resource *surface, | 111 struct wl_resource *surface, |
185 uint32_t container); | 112 uint32_t container); |
| 113 /** |
| 114 * get_notification_surface - create a notification surface from |
| 115 * a surface |
| 116 * @id: (none) |
| 117 * @surface: (none) |
| 118 * @notification_id: (none) |
| 119 * |
| 120 * Creates a notification_surface for the given surface, gives it |
| 121 * the notification_surface role and associated it with a |
| 122 * notification id. |
| 123 * @since: 4 |
| 124 */ |
| 125 void (*get_notification_surface)(struct wl_client *client, |
| 126 struct wl_resource *resource, |
| 127 uint32_t id, |
| 128 struct wl_resource *surface, |
| 129 const char *notification_id); |
186 }; | 130 }; |
187 | 131 |
188 #define ZWP_REMOTE_SHELL_V1_CONFIGURE 0 | 132 #define ZWP_REMOTE_SHELL_V1_CONFIGURE 0 |
189 #define ZWP_REMOTE_SHELL_V1_ACTIVATED 1 | 133 #define ZWP_REMOTE_SHELL_V1_ACTIVATED 1 |
190 | 134 |
191 /** | |
192 * @ingroup iface_zwp_remote_shell_v1 | |
193 */ | |
194 #define ZWP_REMOTE_SHELL_V1_CONFIGURE_SINCE_VERSION 1 | |
195 /** | |
196 * @ingroup iface_zwp_remote_shell_v1 | |
197 */ | |
198 #define ZWP_REMOTE_SHELL_V1_ACTIVATED_SINCE_VERSION 1 | |
199 | |
200 /** | |
201 * @ingroup iface_zwp_remote_shell_v1 | |
202 * Sends an configure event to the client owning the resource. | |
203 * @param resource_ The client's resource | |
204 */ | |
205 static inline void | 135 static inline void |
206 zwp_remote_shell_v1_send_configure(struct wl_resource *resource_, int32_t width,
int32_t height, int32_t work_area_inset_left, int32_t work_area_inset_top, int3
2_t work_area_inset_right, int32_t work_area_inset_bottom) | 136 zwp_remote_shell_v1_send_configure(struct wl_resource *resource_, int32_t width,
int32_t height, int32_t work_area_inset_left, int32_t work_area_inset_top, int3
2_t work_area_inset_right, int32_t work_area_inset_bottom) |
207 { | 137 { |
208 wl_resource_post_event(resource_, ZWP_REMOTE_SHELL_V1_CONFIGURE, width,
height, work_area_inset_left, work_area_inset_top, work_area_inset_right, work_a
rea_inset_bottom); | 138 wl_resource_post_event(resource_, ZWP_REMOTE_SHELL_V1_CONFIGURE, width,
height, work_area_inset_left, work_area_inset_top, work_area_inset_right, work_a
rea_inset_bottom); |
209 } | 139 } |
210 | 140 |
211 /** | |
212 * @ingroup iface_zwp_remote_shell_v1 | |
213 * Sends an activated event to the client owning the resource. | |
214 * @param resource_ The client's resource | |
215 */ | |
216 static inline void | 141 static inline void |
217 zwp_remote_shell_v1_send_activated(struct wl_resource *resource_, struct wl_reso
urce *gained_active, struct wl_resource *lost_active) | 142 zwp_remote_shell_v1_send_activated(struct wl_resource *resource_, struct wl_reso
urce *gained_active, struct wl_resource *lost_active) |
218 { | 143 { |
219 wl_resource_post_event(resource_, ZWP_REMOTE_SHELL_V1_ACTIVATED, gained_
active, lost_active); | 144 wl_resource_post_event(resource_, ZWP_REMOTE_SHELL_V1_ACTIVATED, gained_
active, lost_active); |
220 } | 145 } |
221 | 146 |
222 /** | 147 /** |
223 * @ingroup iface_zwp_remote_surface_v1 | 148 * zwp_remote_surface_v1 - A desktop window |
224 * @struct zwp_remote_surface_v1_interface | 149 * @destroy: Destroy the remote_surface |
| 150 * @set_app_id: set application ID |
| 151 * @set_window_geometry: set the new window geometry |
| 152 * @set_scale: set scale |
| 153 * @fullscreen: fullscreen |
| 154 * @maximize: maximize |
| 155 * @minimize: minimize |
| 156 * @restore: restore |
| 157 * @pin: pin |
| 158 * @unpin: unpin |
| 159 * @unfullscreen: unfullscreen |
| 160 * |
| 161 * An interface that may be implemented by a wl_surface, for |
| 162 * implementations that provide a desktop-style user interface and allows |
| 163 * for remotely managed windows. |
| 164 * |
| 165 * It provides requests to treat surfaces like windows, allowing to set |
| 166 * properties like app id and geometry. |
| 167 * |
| 168 * The client must call wl_surface.commit on the corresponding wl_surface |
| 169 * for the remote_surface state to take effect. |
| 170 * |
| 171 * For a surface to be mapped by the compositor the client must have |
| 172 * committed both an remote_surface state and a buffer. |
225 */ | 173 */ |
226 struct zwp_remote_surface_v1_interface { | 174 struct zwp_remote_surface_v1_interface { |
227 /** | 175 /** |
228 » * Destroy the remote_surface | 176 » * destroy - Destroy the remote_surface |
229 * | 177 * |
230 * Unmap and destroy the window. The window will be effectively | 178 * Unmap and destroy the window. The window will be effectively |
231 * hidden from the user's point of view, and all state will be | 179 * hidden from the user's point of view, and all state will be |
232 * lost. | 180 * lost. |
233 */ | 181 */ |
234 void (*destroy)(struct wl_client *client, | 182 void (*destroy)(struct wl_client *client, |
235 struct wl_resource *resource); | 183 struct wl_resource *resource); |
236 /** | 184 /** |
237 » * set application ID | 185 » * set_app_id - set application ID |
| 186 » * @app_id: (none) |
238 * | 187 * |
239 * Set an application identifier for the surface. | 188 * Set an application identifier for the surface. |
240 */ | 189 */ |
241 void (*set_app_id)(struct wl_client *client, | 190 void (*set_app_id)(struct wl_client *client, |
242 struct wl_resource *resource, | 191 struct wl_resource *resource, |
243 const char *app_id); | 192 const char *app_id); |
244 /** | 193 /** |
245 » * set the new window geometry | 194 » * set_window_geometry - set the new window geometry |
| 195 » * @x: (none) |
| 196 » * @y: (none) |
| 197 » * @width: (none) |
| 198 » * @height: (none) |
246 * | 199 * |
247 * The window geometry of a window is its "visible bounds" from | 200 * The window geometry of a window is its "visible bounds" from |
248 * the user's perspective. Client-side decorations often have | 201 * the user's perspective. Client-side decorations often have |
249 * invisible portions like drop-shadows which should be ignored for | 202 * invisible portions like drop-shadows which should be ignored for |
250 * the purposes of aligning, placing and constraining windows. | 203 * the purposes of aligning, placing and constraining windows. |
251 * | 204 * |
252 * The window geometry is double buffered, and will be applied at | 205 * The window geometry is double buffered, and will be applied at |
253 * the time wl_surface.commit of the corresponding wl_surface is | 206 * the time wl_surface.commit of the corresponding wl_surface is |
254 * called. | 207 * called. |
255 * | 208 * |
256 * Once the window geometry of the surface is set once, it is not | 209 * Once the window geometry of the surface is set once, it is not |
257 * possible to unset it, and it will remain the same until | 210 * possible to unset it, and it will remain the same until |
258 * set_window_geometry is called again, even if a new subsurface or | 211 * set_window_geometry is called again, even if a new subsurface or |
259 * buffer is attached. | 212 * buffer is attached. |
260 * | 213 * |
261 * If never set, the value is the full bounds of the output. This | 214 * If never set, the value is the full bounds of the output. This |
262 * updates dynamically on every commit. | 215 * updates dynamically on every commit. |
263 * | 216 * |
264 * The arguments are given in the output coordinate space. | 217 * The arguments are given in the output coordinate space. |
265 * | 218 * |
266 * The width and height must be greater than zero. | 219 * The width and height must be greater than zero. |
267 */ | 220 */ |
268 void (*set_window_geometry)(struct wl_client *client, | 221 void (*set_window_geometry)(struct wl_client *client, |
269 struct wl_resource *resource, | 222 struct wl_resource *resource, |
270 int32_t x, | 223 int32_t x, |
271 int32_t y, | 224 int32_t y, |
272 int32_t width, | 225 int32_t width, |
273 int32_t height); | 226 int32_t height); |
274 /** | 227 /** |
275 » * set scale | 228 » * set_scale - set scale |
| 229 » * @scale: (none) |
276 * | 230 * |
277 * Set a scale factor that will be applied to surface and all | 231 * Set a scale factor that will be applied to surface and all |
278 * descendants. | 232 * descendants. |
279 */ | 233 */ |
280 void (*set_scale)(struct wl_client *client, | 234 void (*set_scale)(struct wl_client *client, |
281 struct wl_resource *resource, | 235 struct wl_resource *resource, |
282 wl_fixed_t scale); | 236 wl_fixed_t scale); |
283 /** | 237 /** |
284 » * fullscreen | 238 » * fullscreen - fullscreen |
285 * | 239 * |
286 * Request that surface is made fullscreen. | 240 * Request that surface is made fullscreen. |
287 * | 241 * |
288 * This is only a request that the window should be made | 242 * This is only a request that the window should be made |
289 * fullscreen. The compositor may choose to ignore this request. | 243 * fullscreen. The compositor may choose to ignore this request. |
290 * The client should listen to set_fullscreen events to determine | 244 * The client should listen to set_fullscreen events to determine |
291 * if the window was made fullscreen or not. | 245 * if the window was made fullscreen or not. |
292 » * @since 2 | 246 » * @since: 2 |
293 */ | 247 */ |
294 void (*fullscreen)(struct wl_client *client, | 248 void (*fullscreen)(struct wl_client *client, |
295 struct wl_resource *resource); | 249 struct wl_resource *resource); |
296 /** | 250 /** |
297 » * maximize | 251 » * maximize - maximize |
298 * | 252 * |
299 * Request that surface is maximized. The window geometry will be | 253 * Request that surface is maximized. The window geometry will be |
300 * updated to whatever the compositor finds appropriate for a | 254 * updated to whatever the compositor finds appropriate for a |
301 * maximized window. | 255 * maximized window. |
302 * | 256 * |
303 * This is only a request that the window should be maximized. The | 257 * This is only a request that the window should be maximized. The |
304 * compositor may choose to ignore this request. The client should | 258 * compositor may choose to ignore this request. The client should |
305 * listen to set_maximized events to determine if the window was | 259 * listen to set_maximized events to determine if the window was |
306 * maximized or not. | 260 * maximized or not. |
307 » * @since 2 | 261 » * @since: 2 |
308 */ | 262 */ |
309 void (*maximize)(struct wl_client *client, | 263 void (*maximize)(struct wl_client *client, |
310 struct wl_resource *resource); | 264 struct wl_resource *resource); |
311 /** | 265 /** |
312 » * minimize | 266 » * minimize - minimize |
313 * | 267 * |
314 * Request that surface is minimized. | 268 * Request that surface is minimized. |
315 * | 269 * |
316 * This is only a request that the window should be minimized. The | 270 * This is only a request that the window should be minimized. The |
317 * compositor may choose to ignore this request. The client should | 271 * compositor may choose to ignore this request. The client should |
318 * listen to set_minimized events to determine if the window was | 272 * listen to set_minimized events to determine if the window was |
319 * minimized or not. | 273 * minimized or not. |
320 » * @since 2 | 274 » * @since: 2 |
321 */ | 275 */ |
322 void (*minimize)(struct wl_client *client, | 276 void (*minimize)(struct wl_client *client, |
323 struct wl_resource *resource); | 277 struct wl_resource *resource); |
324 /** | 278 /** |
325 » * restore | 279 » * restore - restore |
326 * | 280 * |
327 * Request that surface is restored. This restores the window | 281 * Request that surface is restored. This restores the window |
328 * geometry to what it was before the window was minimized, | 282 * geometry to what it was before the window was minimized, |
329 * maximized or made fullscreen. | 283 * maximized or made fullscreen. |
330 * | 284 * |
331 * This is only a request that the window should be restored. The | 285 * This is only a request that the window should be restored. The |
332 * compositor may choose to ignore this request. The client should | 286 * compositor may choose to ignore this request. The client should |
333 * listen to unset_maximized, unset_minimize and unset_fullscreen | 287 * listen to unset_maximized, unset_minimize and unset_fullscreen |
334 * events to determine if the window was restored or not. | 288 * events to determine if the window was restored or not. |
335 » * @since 2 | 289 » * @since: 2 |
336 */ | 290 */ |
337 void (*restore)(struct wl_client *client, | 291 void (*restore)(struct wl_client *client, |
338 struct wl_resource *resource); | 292 struct wl_resource *resource); |
339 /** | 293 /** |
340 » * pin | 294 » * pin - pin |
341 * | 295 * |
342 * Request that surface is pinned. | 296 * Request that surface is pinned. |
343 * | 297 * |
344 * This is only a request that the window should be pinned. The | 298 * This is only a request that the window should be pinned. The |
345 * compositor may choose to ignore this request. The client should | 299 * compositor may choose to ignore this request. The client should |
346 * listen to set_pinned events to determine if the window was | 300 * listen to set_pinned events to determine if the window was |
347 * pinned or not. | 301 * pinned or not. |
348 » * @since 3 | 302 » * @since: 3 |
349 */ | 303 */ |
350 void (*pin)(struct wl_client *client, | 304 void (*pin)(struct wl_client *client, |
351 struct wl_resource *resource); | 305 struct wl_resource *resource); |
352 /** | 306 /** |
353 » * unpin | 307 » * unpin - unpin |
354 * | 308 * |
355 * Request that surface is unpinned. | 309 * Request that surface is unpinned. |
356 * | 310 * |
357 * This is only a request that the window should be unpinned. The | 311 * This is only a request that the window should be unpinned. The |
358 * compositor may choose to ignore this request. The client should | 312 * compositor may choose to ignore this request. The client should |
359 * listen to unset_pinned events to determine if the window was | 313 * listen to unset_pinned events to determine if the window was |
360 * unpinned or not. | 314 * unpinned or not. |
361 » * @since 3 | 315 » * @since: 3 |
362 */ | 316 */ |
363 void (*unpin)(struct wl_client *client, | 317 void (*unpin)(struct wl_client *client, |
364 struct wl_resource *resource); | 318 struct wl_resource *resource); |
365 /** | 319 /** |
366 » * unfullscreen | 320 » * unfullscreen - unfullscreen |
367 * | 321 * |
368 * Request that surface is made unfullscreen. | 322 * Request that surface is made unfullscreen. |
369 * | 323 * |
370 * This is only a request that the window should be made | 324 * This is only a request that the window should be made |
371 * unfullscreen. The compositor may choose to ignore this request. | 325 * unfullscreen. The compositor may choose to ignore this request. |
372 * The client should listen to unset_fullscreen events to determine | 326 * The client should listen to unset_fullscreen events to determine |
373 * if the window was made unfullscreen or not. | 327 * if the window was made unfullscreen or not. |
374 » * @since 3 | 328 » * @since: 3 |
375 */ | 329 */ |
376 void (*unfullscreen)(struct wl_client *client, | 330 void (*unfullscreen)(struct wl_client *client, |
377 struct wl_resource *resource); | 331 struct wl_resource *resource); |
378 }; | 332 }; |
379 | 333 |
380 #define ZWP_REMOTE_SURFACE_V1_SET_FULLSCREEN 0 | 334 #define ZWP_REMOTE_SURFACE_V1_SET_FULLSCREEN 0 |
381 #define ZWP_REMOTE_SURFACE_V1_UNSET_FULLSCREEN 1 | 335 #define ZWP_REMOTE_SURFACE_V1_UNSET_FULLSCREEN 1 |
382 #define ZWP_REMOTE_SURFACE_V1_CLOSE 2 | 336 #define ZWP_REMOTE_SURFACE_V1_CLOSE 2 |
383 #define ZWP_REMOTE_SURFACE_V1_SET_MAXIMIZED 3 | 337 #define ZWP_REMOTE_SURFACE_V1_SET_MAXIMIZED 3 |
384 #define ZWP_REMOTE_SURFACE_V1_UNSET_MAXIMIZED 4 | 338 #define ZWP_REMOTE_SURFACE_V1_UNSET_MAXIMIZED 4 |
385 #define ZWP_REMOTE_SURFACE_V1_SET_MINIMIZED 5 | 339 #define ZWP_REMOTE_SURFACE_V1_SET_MINIMIZED 5 |
386 #define ZWP_REMOTE_SURFACE_V1_UNSET_MINIMIZED 6 | 340 #define ZWP_REMOTE_SURFACE_V1_UNSET_MINIMIZED 6 |
387 #define ZWP_REMOTE_SURFACE_V1_SET_PIN 7 | 341 #define ZWP_REMOTE_SURFACE_V1_SET_PIN 7 |
388 #define ZWP_REMOTE_SURFACE_V1_UNSET_PIN 8 | 342 #define ZWP_REMOTE_SURFACE_V1_UNSET_PIN 8 |
389 #define ZWP_REMOTE_SURFACE_V1_SET_PINNED 9 | 343 #define ZWP_REMOTE_SURFACE_V1_SET_PINNED 9 |
390 #define ZWP_REMOTE_SURFACE_V1_UNSET_PINNED 10 | 344 #define ZWP_REMOTE_SURFACE_V1_UNSET_PINNED 10 |
391 | 345 |
392 /** | |
393 * @ingroup iface_zwp_remote_surface_v1 | |
394 */ | |
395 #define ZWP_REMOTE_SURFACE_V1_SET_FULLSCREEN_SINCE_VERSION 1 | |
396 /** | |
397 * @ingroup iface_zwp_remote_surface_v1 | |
398 */ | |
399 #define ZWP_REMOTE_SURFACE_V1_UNSET_FULLSCREEN_SINCE_VERSION 1 | |
400 /** | |
401 * @ingroup iface_zwp_remote_surface_v1 | |
402 */ | |
403 #define ZWP_REMOTE_SURFACE_V1_CLOSE_SINCE_VERSION 1 | |
404 /** | |
405 * @ingroup iface_zwp_remote_surface_v1 | |
406 */ | |
407 #define ZWP_REMOTE_SURFACE_V1_SET_MAXIMIZED_SINCE_VERSION 2 | |
408 /** | |
409 * @ingroup iface_zwp_remote_surface_v1 | |
410 */ | |
411 #define ZWP_REMOTE_SURFACE_V1_UNSET_MAXIMIZED_SINCE_VERSION 2 | |
412 /** | |
413 * @ingroup iface_zwp_remote_surface_v1 | |
414 */ | |
415 #define ZWP_REMOTE_SURFACE_V1_SET_MINIMIZED_SINCE_VERSION 2 | |
416 /** | |
417 * @ingroup iface_zwp_remote_surface_v1 | |
418 */ | |
419 #define ZWP_REMOTE_SURFACE_V1_UNSET_MINIMIZED_SINCE_VERSION 2 | |
420 /** | |
421 * @ingroup iface_zwp_remote_surface_v1 | |
422 */ | |
423 #define ZWP_REMOTE_SURFACE_V1_SET_PIN_SINCE_VERSION 3 | |
424 /** | |
425 * @ingroup iface_zwp_remote_surface_v1 | |
426 */ | |
427 #define ZWP_REMOTE_SURFACE_V1_UNSET_PIN_SINCE_VERSION 3 | |
428 /** | |
429 * @ingroup iface_zwp_remote_surface_v1 | |
430 */ | |
431 #define ZWP_REMOTE_SURFACE_V1_SET_PINNED_SINCE_VERSION 3 | |
432 /** | |
433 * @ingroup iface_zwp_remote_surface_v1 | |
434 */ | |
435 #define ZWP_REMOTE_SURFACE_V1_UNSET_PINNED_SINCE_VERSION 3 | |
436 | |
437 /** | |
438 * @ingroup iface_zwp_remote_surface_v1 | |
439 * Sends an set_fullscreen event to the client owning the resource. | |
440 * @param resource_ The client's resource | |
441 */ | |
442 static inline void | 346 static inline void |
443 zwp_remote_surface_v1_send_set_fullscreen(struct wl_resource *resource_) | 347 zwp_remote_surface_v1_send_set_fullscreen(struct wl_resource *resource_) |
444 { | 348 { |
445 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_SET_FULLSCREEN); | 349 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_SET_FULLSCREEN); |
446 } | 350 } |
447 | 351 |
448 /** | |
449 * @ingroup iface_zwp_remote_surface_v1 | |
450 * Sends an unset_fullscreen event to the client owning the resource. | |
451 * @param resource_ The client's resource | |
452 */ | |
453 static inline void | 352 static inline void |
454 zwp_remote_surface_v1_send_unset_fullscreen(struct wl_resource *resource_) | 353 zwp_remote_surface_v1_send_unset_fullscreen(struct wl_resource *resource_) |
455 { | 354 { |
456 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_UNSET_FULLSCREEN
); | 355 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_UNSET_FULLSCREEN
); |
457 } | 356 } |
458 | 357 |
459 /** | |
460 * @ingroup iface_zwp_remote_surface_v1 | |
461 * Sends an close event to the client owning the resource. | |
462 * @param resource_ The client's resource | |
463 */ | |
464 static inline void | 358 static inline void |
465 zwp_remote_surface_v1_send_close(struct wl_resource *resource_) | 359 zwp_remote_surface_v1_send_close(struct wl_resource *resource_) |
466 { | 360 { |
467 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_CLOSE); | 361 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_CLOSE); |
468 } | 362 } |
469 | 363 |
470 /** | |
471 * @ingroup iface_zwp_remote_surface_v1 | |
472 * Sends an set_maximized event to the client owning the resource. | |
473 * @param resource_ The client's resource | |
474 */ | |
475 static inline void | 364 static inline void |
476 zwp_remote_surface_v1_send_set_maximized(struct wl_resource *resource_) | 365 zwp_remote_surface_v1_send_set_maximized(struct wl_resource *resource_) |
477 { | 366 { |
478 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_SET_MAXIMIZED); | 367 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_SET_MAXIMIZED); |
479 } | 368 } |
480 | 369 |
481 /** | |
482 * @ingroup iface_zwp_remote_surface_v1 | |
483 * Sends an unset_maximized event to the client owning the resource. | |
484 * @param resource_ The client's resource | |
485 */ | |
486 static inline void | 370 static inline void |
487 zwp_remote_surface_v1_send_unset_maximized(struct wl_resource *resource_) | 371 zwp_remote_surface_v1_send_unset_maximized(struct wl_resource *resource_) |
488 { | 372 { |
489 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_UNSET_MAXIMIZED)
; | 373 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_UNSET_MAXIMIZED)
; |
490 } | 374 } |
491 | 375 |
492 /** | |
493 * @ingroup iface_zwp_remote_surface_v1 | |
494 * Sends an set_minimized event to the client owning the resource. | |
495 * @param resource_ The client's resource | |
496 */ | |
497 static inline void | 376 static inline void |
498 zwp_remote_surface_v1_send_set_minimized(struct wl_resource *resource_) | 377 zwp_remote_surface_v1_send_set_minimized(struct wl_resource *resource_) |
499 { | 378 { |
500 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_SET_MINIMIZED); | 379 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_SET_MINIMIZED); |
501 } | 380 } |
502 | 381 |
503 /** | |
504 * @ingroup iface_zwp_remote_surface_v1 | |
505 * Sends an unset_minimized event to the client owning the resource. | |
506 * @param resource_ The client's resource | |
507 */ | |
508 static inline void | 382 static inline void |
509 zwp_remote_surface_v1_send_unset_minimized(struct wl_resource *resource_) | 383 zwp_remote_surface_v1_send_unset_minimized(struct wl_resource *resource_) |
510 { | 384 { |
511 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_UNSET_MINIMIZED)
; | 385 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_UNSET_MINIMIZED)
; |
512 } | 386 } |
513 | 387 |
514 /** | |
515 * @ingroup iface_zwp_remote_surface_v1 | |
516 * Sends an set_pin event to the client owning the resource. | |
517 * @param resource_ The client's resource | |
518 */ | |
519 static inline void | 388 static inline void |
520 zwp_remote_surface_v1_send_set_pin(struct wl_resource *resource_) | 389 zwp_remote_surface_v1_send_set_pin(struct wl_resource *resource_) |
521 { | 390 { |
522 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_SET_PIN); | 391 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_SET_PIN); |
523 } | 392 } |
524 | 393 |
525 /** | |
526 * @ingroup iface_zwp_remote_surface_v1 | |
527 * Sends an unset_pin event to the client owning the resource. | |
528 * @param resource_ The client's resource | |
529 */ | |
530 static inline void | 394 static inline void |
531 zwp_remote_surface_v1_send_unset_pin(struct wl_resource *resource_) | 395 zwp_remote_surface_v1_send_unset_pin(struct wl_resource *resource_) |
532 { | 396 { |
533 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_UNSET_PIN); | 397 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_UNSET_PIN); |
534 } | 398 } |
535 | 399 |
536 /** | |
537 * @ingroup iface_zwp_remote_surface_v1 | |
538 * Sends an set_pinned event to the client owning the resource. | |
539 * @param resource_ The client's resource | |
540 */ | |
541 static inline void | 400 static inline void |
542 zwp_remote_surface_v1_send_set_pinned(struct wl_resource *resource_) | 401 zwp_remote_surface_v1_send_set_pinned(struct wl_resource *resource_) |
543 { | 402 { |
544 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_SET_PINNED); | 403 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_SET_PINNED); |
545 } | 404 } |
546 | 405 |
547 /** | |
548 * @ingroup iface_zwp_remote_surface_v1 | |
549 * Sends an unset_pinned event to the client owning the resource. | |
550 * @param resource_ The client's resource | |
551 */ | |
552 static inline void | 406 static inline void |
553 zwp_remote_surface_v1_send_unset_pinned(struct wl_resource *resource_) | 407 zwp_remote_surface_v1_send_unset_pinned(struct wl_resource *resource_) |
554 { | 408 { |
555 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_UNSET_PINNED); | 409 wl_resource_post_event(resource_, ZWP_REMOTE_SURFACE_V1_UNSET_PINNED); |
556 } | 410 } |
557 | 411 |
| 412 /** |
| 413 * zwp_notification_surface_v1 - A notification window |
| 414 * @destroy: Destroy the notification_surface |
| 415 * |
| 416 * An interface that may be implemented by a wl_surface to host |
| 417 * notification contents. |
| 418 */ |
| 419 struct zwp_notification_surface_v1_interface { |
| 420 /** |
| 421 * destroy - Destroy the notification_surface |
| 422 * |
| 423 * Unmap and destroy the notification surface. |
| 424 */ |
| 425 void (*destroy)(struct wl_client *client, |
| 426 struct wl_resource *resource); |
| 427 }; |
| 428 |
558 #ifdef __cplusplus | 429 #ifdef __cplusplus |
559 } | 430 } |
560 #endif | 431 #endif |
561 | 432 |
562 #endif | 433 #endif |
OLD | NEW |