Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1702)

Side by Side Diff: third_party/wayland-protocols/include/protocol/remote-shell-unstable-v1-client-protocol.h

Issue 2062133002: third_party: Update to version 6 of remote_shell_protocol (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* Generated by wayland-scanner 1.11.0 */ 1 /*
2
3 #ifndef REMOTE_SHELL_UNSTABLE_V1_CLIENT_PROTOCOL_H
4 #define REMOTE_SHELL_UNSTABLE_V1_CLIENT_PROTOCOL_H
5
6 #include <stdint.h>
7 #include <stddef.h>
8 #include "wayland-client.h"
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 /**
15 * @page page_remote_shell_unstable_v1 The remote_shell_unstable_v1 protocol
16 * Create remote desktop-style surfaces
17 *
18 * @section page_desc_remote_shell_unstable_v1 Description
19 *
20 * remote_shell allows clients to turn a wl_surface into a "real window"
21 * which can be stacked and activated by the user.
22 *
23 * Warning! The protocol described in this file is experimental and backward
24 * incompatible changes may be made. Backward compatible changes may be added
25 * together with the corresponding interface version bump. Backward
26 * incompatible changes are done by bumping the version number in the protocol
27 * and interface names and resetting the interface version. Once the protocol
28 * is to be declared stable, the 'z' prefix and the version number in the
29 * protocol and interface names are removed and the interface version number is
30 * reset.
31 *
32 * @section page_ifaces_remote_shell_unstable_v1 Interfaces
33 * - @subpage page_iface_zwp_remote_shell_v1 - remote_shell
34 * - @subpage page_iface_zwp_remote_surface_v1 - A desktop window
35 * @section page_copyright_remote_shell_unstable_v1 Copyright
36 * <pre>
37 *
38 * Copyright 2016 The Chromium Authors. 2 * Copyright 2016 The Chromium Authors.
39 * 3 *
40 * 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
41 * copy of this software and associated documentation files (the "Software"), 5 * copy of this software and associated documentation files (the "Software"),
42 * to deal in the Software without restriction, including without limitation 6 * to deal in the Software without restriction, including without limitation
43 * the rights to use, copy, modify, merge, publish, distribute, sublicense, 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
44 * 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
45 * Software is furnished to do so, subject to the following conditions: 9 * Software is furnished to do so, subject to the following conditions:
46 * 10 *
47 * The above copyright notice and this permission notice (including the next 11 * The above copyright notice and this permission notice (including the next
48 * 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
49 * Software. 13 * Software.
50 * 14 *
51 * 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
52 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
53 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
54 * 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
55 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 19 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
56 * 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
57 * DEALINGS IN THE SOFTWARE. 21 * DEALINGS IN THE SOFTWARE.
58 * </pre>
59 */ 22 */
60 struct wl_surface; 23
24 #ifndef REMOTE_SHELL_UNSTABLE_V1_CLIENT_PROTOCOL_H
25 #define REMOTE_SHELL_UNSTABLE_V1_CLIENT_PROTOCOL_H
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 #include <stdint.h>
32 #include <stddef.h>
33 #include "wayland-client.h"
34
35 struct wl_client;
36 struct wl_resource;
37
61 struct zwp_remote_shell_v1; 38 struct zwp_remote_shell_v1;
62 struct zwp_remote_surface_v1; 39 struct zwp_remote_surface_v1;
40 struct zwp_notification_surface_v1;
63 41
64 /**
65 * @page page_iface_zwp_remote_shell_v1 zwp_remote_shell_v1
66 * @section page_iface_zwp_remote_shell_v1_desc Description
67 *
68 * The global interface that allows clients to turn a wl_surface into a
69 * "real window" which is remotely managed but can be stacked, activated
70 * and made fullscreen by the user.
71 * @section page_iface_zwp_remote_shell_v1_api API
72 * See @ref iface_zwp_remote_shell_v1.
73 */
74 /**
75 * @defgroup iface_zwp_remote_shell_v1 The zwp_remote_shell_v1 interface
76 *
77 * The global interface that allows clients to turn a wl_surface into a
78 * "real window" which is remotely managed but can be stacked, activated
79 * and made fullscreen by the user.
80 */
81 extern const struct wl_interface zwp_remote_shell_v1_interface; 42 extern const struct wl_interface zwp_remote_shell_v1_interface;
82 /**
83 * @page page_iface_zwp_remote_surface_v1 zwp_remote_surface_v1
84 * @section page_iface_zwp_remote_surface_v1_desc Description
85 *
86 * An interface that may be implemented by a wl_surface, for
87 * implementations that provide a desktop-style user interface
88 * and allows for remotely managed windows.
89 *
90 * It provides requests to treat surfaces like windows, allowing to set
91 * properties like app id and geometry.
92 *
93 * The client must call wl_surface.commit on the corresponding wl_surface
94 * for the remote_surface state to take effect.
95 *
96 * For a surface to be mapped by the compositor the client must have
97 * committed both an remote_surface state and a buffer.
98 * @section page_iface_zwp_remote_surface_v1_api API
99 * See @ref iface_zwp_remote_surface_v1.
100 */
101 /**
102 * @defgroup iface_zwp_remote_surface_v1 The zwp_remote_surface_v1 interface
103 *
104 * An interface that may be implemented by a wl_surface, for
105 * implementations that provide a desktop-style user interface
106 * and allows for remotely managed windows.
107 *
108 * It provides requests to treat surfaces like windows, allowing to set
109 * properties like app id and geometry.
110 *
111 * The client must call wl_surface.commit on the corresponding wl_surface
112 * for the remote_surface state to take effect.
113 *
114 * For a surface to be mapped by the compositor the client must have
115 * committed both an remote_surface state and a buffer.
116 */
117 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;
118 45
119 #ifndef ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM 46 #ifndef ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM
120 #define ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM 47 #define ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM
121 /** 48 /**
122 * @ingroup iface_zwp_remote_shell_v1 49 * zwp_remote_shell_v1_container - containers for remote surfaces
123 * containers for remote surfaces 50 * @ZWP_REMOTE_SHELL_V1_CONTAINER_DEFAULT: default container
51 * @ZWP_REMOTE_SHELL_V1_CONTAINER_OVERLAY: system modal container
124 * 52 *
125 * Determine how a remote surface should be stacked relative to other 53 * Determine how a remote surface should be stacked relative to other
126 * shell surfaces. 54 * shell surfaces.
127 */ 55 */
128 enum zwp_remote_shell_v1_container { 56 enum zwp_remote_shell_v1_container {
129 /**
130 * default container
131 */
132 ZWP_REMOTE_SHELL_V1_CONTAINER_DEFAULT = 1, 57 ZWP_REMOTE_SHELL_V1_CONTAINER_DEFAULT = 1,
133 /**
134 * system modal container
135 */
136 ZWP_REMOTE_SHELL_V1_CONTAINER_OVERLAY = 2, 58 ZWP_REMOTE_SHELL_V1_CONTAINER_OVERLAY = 2,
137 }; 59 };
138 #endif /* ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM */ 60 #endif /* ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM */
139 61
140 #ifndef ZWP_REMOTE_SHELL_V1_ERROR_ENUM 62 #ifndef ZWP_REMOTE_SHELL_V1_ERROR_ENUM
141 #define ZWP_REMOTE_SHELL_V1_ERROR_ENUM 63 #define ZWP_REMOTE_SHELL_V1_ERROR_ENUM
142 enum zwp_remote_shell_v1_error { 64 enum zwp_remote_shell_v1_error {
143 /**
144 * given wl_surface has another role
145 */
146 ZWP_REMOTE_SHELL_V1_ERROR_ROLE = 0, 65 ZWP_REMOTE_SHELL_V1_ERROR_ROLE = 0,
147 }; 66 };
148 #endif /* ZWP_REMOTE_SHELL_V1_ERROR_ENUM */ 67 #endif /* ZWP_REMOTE_SHELL_V1_ERROR_ENUM */
149 68
150 /** 69 /**
151 * @ingroup iface_zwp_remote_shell_v1 70 * zwp_remote_shell_v1 - remote_shell
152 * @struct zwp_remote_shell_v1_listener 71 * @configure: suggests a re-layout of remote shell
72 * @activated: activated surface changed
73 *
74 * The global interface that allows clients to turn a wl_surface into a
75 * "real window" which is remotely managed but can be stacked, activated
76 * and made fullscreen by the user.
153 */ 77 */
154 struct zwp_remote_shell_v1_listener { 78 struct zwp_remote_shell_v1_listener {
155 /** 79 /**
156 » * suggests a re-layout of remote shell 80 » * configure - suggests a re-layout of remote shell
81 » * @width: (none)
82 » * @height: (none)
83 » * @work_area_inset_left: (none)
84 » * @work_area_inset_top: (none)
85 » * @work_area_inset_right: (none)
86 » * @work_area_inset_bottom: (none)
157 * 87 *
158 * Suggests a re-layout of remote surface geometry. 88 * Suggests a re-layout of remote surface geometry.
89 * @since: 4
159 */ 90 */
160 void (*configure)(void *data, 91 void (*configure)(void *data,
161 struct zwp_remote_shell_v1 *zwp_remote_shell_v1, 92 struct zwp_remote_shell_v1 *zwp_remote_shell_v1,
162 int32_t width, 93 int32_t width,
163 int32_t height, 94 int32_t height,
164 int32_t work_area_inset_left, 95 int32_t work_area_inset_left,
165 int32_t work_area_inset_top, 96 int32_t work_area_inset_top,
166 int32_t work_area_inset_right, 97 int32_t work_area_inset_right,
167 int32_t work_area_inset_bottom); 98 int32_t work_area_inset_bottom);
168 /** 99 /**
169 » * activated surface changed 100 » * activated - activated surface changed
101 » * @gained_active: (none)
102 » * @lost_active: (none)
170 * 103 *
171 * Notifies client that the activated surface changed. 104 * Notifies client that the activated surface changed.
105 * @since: 4
172 */ 106 */
173 void (*activated)(void *data, 107 void (*activated)(void *data,
174 struct zwp_remote_shell_v1 *zwp_remote_shell_v1, 108 struct zwp_remote_shell_v1 *zwp_remote_shell_v1,
175 struct wl_surface *gained_active, 109 struct wl_surface *gained_active,
176 struct wl_surface *lost_active); 110 struct wl_surface *lost_active);
177 }; 111 };
178 112
179 /**
180 * @ingroup zwp_remote_shell_v1_iface
181 */
182 static inline int 113 static inline int
183 zwp_remote_shell_v1_add_listener(struct zwp_remote_shell_v1 *zwp_remote_shell_v1 , 114 zwp_remote_shell_v1_add_listener(struct zwp_remote_shell_v1 *zwp_remote_shell_v1 ,
184 const struct zwp_remote_shell_v1_listener *list ener, void *data) 115 const struct zwp_remote_shell_v1_listener *list ener, void *data)
185 { 116 {
186 return wl_proxy_add_listener((struct wl_proxy *) zwp_remote_shell_v1, 117 return wl_proxy_add_listener((struct wl_proxy *) zwp_remote_shell_v1,
187 (void (**)(void)) listener, data); 118 (void (**)(void)) listener, data);
188 } 119 }
189 120
190 #define ZWP_REMOTE_SHELL_V1_DESTROY 0 121 #define ZWP_REMOTE_SHELL_V1_DESTROY 0
191 #define ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE 1 122 #define ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE 1
123 #define ZWP_REMOTE_SHELL_V1_GET_NOTIFICATION_SURFACE 2
192 124
193 /**
194 * @ingroup iface_zwp_remote_shell_v1
195 */
196 #define ZWP_REMOTE_SHELL_V1_DESTROY_SINCE_VERSION 1
197 /**
198 * @ingroup iface_zwp_remote_shell_v1
199 */
200 #define ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE_SINCE_VERSION 1
201
202 /** @ingroup iface_zwp_remote_shell_v1 */
203 static inline void 125 static inline void
204 zwp_remote_shell_v1_set_user_data(struct zwp_remote_shell_v1 *zwp_remote_shell_v 1, void *user_data) 126 zwp_remote_shell_v1_set_user_data(struct zwp_remote_shell_v1 *zwp_remote_shell_v 1, void *user_data)
205 { 127 {
206 wl_proxy_set_user_data((struct wl_proxy *) zwp_remote_shell_v1, user_dat a); 128 wl_proxy_set_user_data((struct wl_proxy *) zwp_remote_shell_v1, user_dat a);
207 } 129 }
208 130
209 /** @ingroup iface_zwp_remote_shell_v1 */
210 static inline void * 131 static inline void *
211 zwp_remote_shell_v1_get_user_data(struct zwp_remote_shell_v1 *zwp_remote_shell_v 1) 132 zwp_remote_shell_v1_get_user_data(struct zwp_remote_shell_v1 *zwp_remote_shell_v 1)
212 { 133 {
213 return wl_proxy_get_user_data((struct wl_proxy *) zwp_remote_shell_v1); 134 return wl_proxy_get_user_data((struct wl_proxy *) zwp_remote_shell_v1);
214 } 135 }
215 136
216 static inline uint32_t
217 zwp_remote_shell_v1_get_version(struct zwp_remote_shell_v1 *zwp_remote_shell_v1)
218 {
219 return wl_proxy_get_version((struct wl_proxy *) zwp_remote_shell_v1);
220 }
221
222 /**
223 * @ingroup iface_zwp_remote_shell_v1
224 *
225 * Destroy this remote_shell object.
226 *
227 * Destroying a bound remote_shell object while there are surfaces
228 * still alive created by this remote_shell object instance is illegal
229 * and will result in a protocol error.
230 */
231 static inline void 137 static inline void
232 zwp_remote_shell_v1_destroy(struct zwp_remote_shell_v1 *zwp_remote_shell_v1) 138 zwp_remote_shell_v1_destroy(struct zwp_remote_shell_v1 *zwp_remote_shell_v1)
233 { 139 {
234 wl_proxy_marshal((struct wl_proxy *) zwp_remote_shell_v1, 140 wl_proxy_marshal((struct wl_proxy *) zwp_remote_shell_v1,
235 ZWP_REMOTE_SHELL_V1_DESTROY); 141 ZWP_REMOTE_SHELL_V1_DESTROY);
236 142
237 wl_proxy_destroy((struct wl_proxy *) zwp_remote_shell_v1); 143 wl_proxy_destroy((struct wl_proxy *) zwp_remote_shell_v1);
238 } 144 }
239 145
240 /**
241 * @ingroup iface_zwp_remote_shell_v1
242 *
243 * This creates an remote_surface for the given surface and gives it the
244 * remote_surface role. A wl_surface can only be given a remote_surface
245 * role once. If get_remote_surface is called with a wl_surface that
246 * already has an active remote_surface associated with it, or if it had
247 * any other role, an error is raised.
248 *
249 * See the documentation of remote_surface for more details about what an
250 * remote_surface is and how it is used.
251 */
252 static inline struct zwp_remote_surface_v1 * 146 static inline struct zwp_remote_surface_v1 *
253 zwp_remote_shell_v1_get_remote_surface(struct zwp_remote_shell_v1 *zwp_remote_sh ell_v1, struct wl_surface *surface, uint32_t container) 147 zwp_remote_shell_v1_get_remote_surface(struct zwp_remote_shell_v1 *zwp_remote_sh ell_v1, struct wl_surface *surface, uint32_t container)
254 { 148 {
255 struct wl_proxy *id; 149 struct wl_proxy *id;
256 150
257 id = wl_proxy_marshal_constructor((struct wl_proxy *) zwp_remote_shell_v 1, 151 id = wl_proxy_marshal_constructor((struct wl_proxy *) zwp_remote_shell_v 1,
258 ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE, &zwp_remote_sur face_v1_interface, NULL, surface, container); 152 ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE, &zwp_remote_sur face_v1_interface, NULL, surface, container);
259 153
260 return (struct zwp_remote_surface_v1 *) id; 154 return (struct zwp_remote_surface_v1 *) id;
261 } 155 }
262 156
157 static inline struct zwp_notification_surface_v1 *
158 zwp_remote_shell_v1_get_notification_surface(struct zwp_remote_shell_v1 *zwp_rem ote_shell_v1, struct wl_surface *surface, const char *notification_id)
159 {
160 struct wl_proxy *id;
161
162 id = wl_proxy_marshal_constructor((struct wl_proxy *) zwp_remote_shell_v 1,
163 ZWP_REMOTE_SHELL_V1_GET_NOTIFICATION_SURFACE, &zwp_noti fication_surface_v1_interface, NULL, surface, notification_id);
164
165 return (struct zwp_notification_surface_v1 *) id;
166 }
167
263 /** 168 /**
264 * @ingroup iface_zwp_remote_surface_v1 169 * zwp_remote_surface_v1 - A desktop window
265 * @struct zwp_remote_surface_v1_listener 170 * @set_fullscreen: surface wants to be fullscreen
171 * @unset_fullscreen: surface wants to be non-fullscreen
172 * @close: surface wants to be closed
173 * @set_maximized: surface wants to be maximized
174 * @unset_maximized: surface wants to be restored
175 * @set_minimized: surface wants to be minimized
176 * @unset_minimized: surface wants to be restored
177 * @set_pin: surface wants to be pinned
178 * @unset_pin: surface wants to be unpinned
179 * @set_pinned: surface was pinned
180 * @unset_pinned: surface was unpinned
181 *
182 * An interface that may be implemented by a wl_surface, for
183 * implementations that provide a desktop-style user interface and allows
184 * for remotely managed windows.
185 *
186 * It provides requests to treat surfaces like windows, allowing to set
187 * properties like app id and geometry.
188 *
189 * The client must call wl_surface.commit on the corresponding wl_surface
190 * for the remote_surface state to take effect.
191 *
192 * For a surface to be mapped by the compositor the client must have
193 * committed both an remote_surface state and a buffer.
266 */ 194 */
267 struct zwp_remote_surface_v1_listener { 195 struct zwp_remote_surface_v1_listener {
268 /** 196 /**
269 » * surface wants to be fullscreen 197 » * set_fullscreen - surface wants to be fullscreen
270 * 198 *
271 * The set_fullscreen event is sent by the compositor when the 199 * The set_fullscreen event is sent by the compositor when the
272 * user wants the surface to be made fullscreen. 200 * user wants the surface to be made fullscreen.
273 * 201 *
274 * This is only a request that the user intends to make your window 202 * This is only a request that the user intends to make your window
275 * fullscreen. The client may choose to ignore this request. 203 * fullscreen. The client may choose to ignore this request.
276 */ 204 */
277 void (*set_fullscreen)(void *data, 205 void (*set_fullscreen)(void *data,
278 struct zwp_remote_surface_v1 *zwp_remote_surface_ v1); 206 struct zwp_remote_surface_v1 *zwp_remote_surface_ v1);
279 /** 207 /**
280 » * surface wants to be non-fullscreen 208 » * unset_fullscreen - surface wants to be non-fullscreen
281 * 209 *
282 * The unset_fullscreen event is sent by the compositor when the 210 * The unset_fullscreen event is sent by the compositor when the
283 * user wants the surface to be made non-fullscreen. 211 * user wants the surface to be made non-fullscreen.
284 * 212 *
285 * This is only a request that the user intends to make your window 213 * This is only a request that the user intends to make your window
286 * non-fullscreen. The client may choose to ignore this request. 214 * non-fullscreen. The client may choose to ignore this request.
287 */ 215 */
288 void (*unset_fullscreen)(void *data, 216 void (*unset_fullscreen)(void *data,
289 struct zwp_remote_surface_v1 *zwp_remote_surfac e_v1); 217 struct zwp_remote_surface_v1 *zwp_remote_surfac e_v1);
290 /** 218 /**
291 » * surface wants to be closed 219 » * close - surface wants to be closed
292 * 220 *
293 * The close event is sent by the compositor when the user wants 221 * The close event is sent by the compositor when the user wants
294 * the surface to be closed. This should be equivalent to the user 222 * the surface to be closed. This should be equivalent to the user
295 * clicking the close button in client-side decorations, if your 223 * clicking the close button in client-side decorations, if your
296 * application has any... 224 * application has any...
297 * 225 *
298 * This is only a request that the user intends to close your 226 * This is only a request that the user intends to close your
299 * window. The client may choose to ignore this request, or show a 227 * window. The client may choose to ignore this request, or show a
300 * dialog to ask the user to save their data... 228 * dialog to ask the user to save their data...
301 */ 229 */
302 void (*close)(void *data, 230 void (*close)(void *data,
303 struct zwp_remote_surface_v1 *zwp_remote_surface_v1); 231 struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
304 /** 232 /**
305 » * surface wants to be maximized 233 » * set_maximized - surface wants to be maximized
306 * 234 *
307 * The set_maximized event is sent by the compositor when the 235 * The set_maximized event is sent by the compositor when the
308 * user wants the surface to be maximized. 236 * user wants the surface to be maximized.
309 * 237 *
310 * This is only a request that the user intends to maximized the 238 * This is only a request that the user intends to maximized the
311 * window. The client may choose to ignore this request. 239 * window. The client may choose to ignore this request.
312 » * @since 2 240 » * @since: 2
313 */ 241 */
314 void (*set_maximized)(void *data, 242 void (*set_maximized)(void *data,
315 struct zwp_remote_surface_v1 *zwp_remote_surface_v 1); 243 struct zwp_remote_surface_v1 *zwp_remote_surface_v 1);
316 /** 244 /**
317 » * surface wants to be restored 245 » * unset_maximized - surface wants to be restored
318 * 246 *
319 * The unset_maximized event is sent by the compositor when the 247 * The unset_maximized event is sent by the compositor when the
320 * user wants the surface to be made visible. 248 * user wants the surface to be made visible.
321 * 249 *
322 * This is only a request that the user intends to make your window 250 * This is only a request that the user intends to make your window
323 * visible. The client may choose to ignore this request. 251 * visible. The client may choose to ignore this request.
324 » * @since 2 252 » * @since: 2
325 */ 253 */
326 void (*unset_maximized)(void *data, 254 void (*unset_maximized)(void *data,
327 struct zwp_remote_surface_v1 *zwp_remote_surface _v1); 255 struct zwp_remote_surface_v1 *zwp_remote_surface _v1);
328 /** 256 /**
329 » * surface wants to be minimized 257 » * set_minimized - surface wants to be minimized
330 * 258 *
331 * The set_minimized event is sent by the compositor when the 259 * The set_minimized event is sent by the compositor when the
332 * user wants the surface to be minimized. 260 * user wants the surface to be minimized.
333 * 261 *
334 * This is only a request that the user intends to minimize the 262 * This is only a request that the user intends to minimize the
335 * window. The client may choose to ignore this request. 263 * window. The client may choose to ignore this request.
336 » * @since 2 264 » * @since: 2
337 */ 265 */
338 void (*set_minimized)(void *data, 266 void (*set_minimized)(void *data,
339 struct zwp_remote_surface_v1 *zwp_remote_surface_v 1); 267 struct zwp_remote_surface_v1 *zwp_remote_surface_v 1);
340 /** 268 /**
341 » * surface wants to be restored 269 » * unset_minimized - surface wants to be restored
342 * 270 *
343 * The unset_minimized event is sent by the compositor when the 271 * The unset_minimized event is sent by the compositor when the
344 * user wants the surface to be made visible. 272 * user wants the surface to be made visible.
345 * 273 *
346 * This is only a request that the user intends to make your window 274 * This is only a request that the user intends to make your window
347 * visible. The client may choose to ignore this request. 275 * visible. The client may choose to ignore this request.
348 » * @since 2 276 » * @since: 2
349 */ 277 */
350 void (*unset_minimized)(void *data, 278 void (*unset_minimized)(void *data,
351 struct zwp_remote_surface_v1 *zwp_remote_surface _v1); 279 struct zwp_remote_surface_v1 *zwp_remote_surface _v1);
352 /** 280 /**
353 » * surface wants to be pinned 281 » * set_pin - surface wants to be pinned
354 * 282 *
355 * The set_pin event is sent by the compositor when the user 283 * The set_pin event is sent by the compositor when the user
356 * wants the surface to be pinned. 284 * wants the surface to be pinned.
357 * 285 *
358 * This is only a request that the user intends to make your window 286 * This is only a request that the user intends to make your window
359 * pinned. The client may choose to ignore this request. 287 * pinned. The client may choose to ignore this request.
360 » * @since 3 288 » * @since: 3
361 */ 289 */
362 void (*set_pin)(void *data, 290 void (*set_pin)(void *data,
363 struct zwp_remote_surface_v1 *zwp_remote_surface_v1); 291 struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
364 /** 292 /**
365 » * surface wants to be unpinned 293 » * unset_pin - surface wants to be unpinned
366 * 294 *
367 * The unset_pin event is sent by the compositor when the user 295 * The unset_pin event is sent by the compositor when the user
368 * wants the surface to be unpinned. 296 * wants the surface to be unpinned.
369 * 297 *
370 * This is only a request that the user intends to make your window 298 * This is only a request that the user intends to make your window
371 * unpinned. The client may choose to ignore this request. 299 * unpinned. The client may choose to ignore this request.
372 » * @since 3 300 » * @since: 3
373 */ 301 */
374 void (*unset_pin)(void *data, 302 void (*unset_pin)(void *data,
375 struct zwp_remote_surface_v1 *zwp_remote_surface_v1); 303 struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
376 /** 304 /**
377 » * surface was pinned 305 » * set_pinned - surface was pinned
378 * 306 *
379 * The set_pinned event is sent by the compositor when the 307 * The set_pinned event is sent by the compositor when the
380 * surface was pinned. 308 * surface was pinned.
381 * 309 *
382 * This is only an event that the pin request was successfully 310 * This is only an event that the pin request was successfully
383 * done. The client may choose to ignore this event. 311 * done. The client may choose to ignore this event.
384 » * @since 3 312 » * @since: 3
385 */ 313 */
386 void (*set_pinned)(void *data, 314 void (*set_pinned)(void *data,
387 struct zwp_remote_surface_v1 *zwp_remote_surface_v1); 315 struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
388 /** 316 /**
389 » * surface was unpinned 317 » * unset_pinned - surface was unpinned
390 * 318 *
391 * The unset_pinned event is sent by the compositor when the 319 * The unset_pinned event is sent by the compositor when the
392 * surface was unpinned. 320 * surface was unpinned.
393 * 321 *
394 * This is only an event that the unpin request was successfully 322 * This is only an event that the unpin request was successfully
395 * done. The client may choose to ignore this event. 323 * done. The client may choose to ignore this event.
396 » * @since 3 324 » * @since: 3
397 */ 325 */
398 void (*unset_pinned)(void *data, 326 void (*unset_pinned)(void *data,
399 struct zwp_remote_surface_v1 *zwp_remote_surface_v1 ); 327 struct zwp_remote_surface_v1 *zwp_remote_surface_v1 );
400 }; 328 };
401 329
402 /**
403 * @ingroup zwp_remote_surface_v1_iface
404 */
405 static inline int 330 static inline int
406 zwp_remote_surface_v1_add_listener(struct zwp_remote_surface_v1 *zwp_remote_surf ace_v1, 331 zwp_remote_surface_v1_add_listener(struct zwp_remote_surface_v1 *zwp_remote_surf ace_v1,
407 const struct zwp_remote_surface_v1_listener * listener, void *data) 332 const struct zwp_remote_surface_v1_listener * listener, void *data)
408 { 333 {
409 return wl_proxy_add_listener((struct wl_proxy *) zwp_remote_surface_v1, 334 return wl_proxy_add_listener((struct wl_proxy *) zwp_remote_surface_v1,
410 (void (**)(void)) listener, data); 335 (void (**)(void)) listener, data);
411 } 336 }
412 337
413 #define ZWP_REMOTE_SURFACE_V1_DESTROY 0 338 #define ZWP_REMOTE_SURFACE_V1_DESTROY 0
414 #define ZWP_REMOTE_SURFACE_V1_SET_APP_ID 1 339 #define ZWP_REMOTE_SURFACE_V1_SET_APP_ID 1
415 #define ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY 2 340 #define ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY 2
416 #define ZWP_REMOTE_SURFACE_V1_SET_SCALE 3 341 #define ZWP_REMOTE_SURFACE_V1_SET_SCALE 3
417 #define ZWP_REMOTE_SURFACE_V1_FULLSCREEN 4 342 #define ZWP_REMOTE_SURFACE_V1_FULLSCREEN 4
418 #define ZWP_REMOTE_SURFACE_V1_MAXIMIZE 5 343 #define ZWP_REMOTE_SURFACE_V1_MAXIMIZE 5
419 #define ZWP_REMOTE_SURFACE_V1_MINIMIZE 6 344 #define ZWP_REMOTE_SURFACE_V1_MINIMIZE 6
420 #define ZWP_REMOTE_SURFACE_V1_RESTORE 7 345 #define ZWP_REMOTE_SURFACE_V1_RESTORE 7
421 #define ZWP_REMOTE_SURFACE_V1_PIN 8 346 #define ZWP_REMOTE_SURFACE_V1_PIN 8
422 #define ZWP_REMOTE_SURFACE_V1_UNPIN 9 347 #define ZWP_REMOTE_SURFACE_V1_UNPIN 9
423 #define ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN 10 348 #define ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN 10
424 349
425 /**
426 * @ingroup iface_zwp_remote_surface_v1
427 */
428 #define ZWP_REMOTE_SURFACE_V1_DESTROY_SINCE_VERSION 1
429 /**
430 * @ingroup iface_zwp_remote_surface_v1
431 */
432 #define ZWP_REMOTE_SURFACE_V1_SET_APP_ID_SINCE_VERSION 1
433 /**
434 * @ingroup iface_zwp_remote_surface_v1
435 */
436 #define ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY_SINCE_VERSION 1
437 /**
438 * @ingroup iface_zwp_remote_surface_v1
439 */
440 #define ZWP_REMOTE_SURFACE_V1_SET_SCALE_SINCE_VERSION 1
441 /**
442 * @ingroup iface_zwp_remote_surface_v1
443 */
444 #define ZWP_REMOTE_SURFACE_V1_FULLSCREEN_SINCE_VERSION 2
445 /**
446 * @ingroup iface_zwp_remote_surface_v1
447 */
448 #define ZWP_REMOTE_SURFACE_V1_MAXIMIZE_SINCE_VERSION 2
449 /**
450 * @ingroup iface_zwp_remote_surface_v1
451 */
452 #define ZWP_REMOTE_SURFACE_V1_MINIMIZE_SINCE_VERSION 2
453 /**
454 * @ingroup iface_zwp_remote_surface_v1
455 */
456 #define ZWP_REMOTE_SURFACE_V1_RESTORE_SINCE_VERSION 2
457 /**
458 * @ingroup iface_zwp_remote_surface_v1
459 */
460 #define ZWP_REMOTE_SURFACE_V1_PIN_SINCE_VERSION 3
461 /**
462 * @ingroup iface_zwp_remote_surface_v1
463 */
464 #define ZWP_REMOTE_SURFACE_V1_UNPIN_SINCE_VERSION 3
465 /**
466 * @ingroup iface_zwp_remote_surface_v1
467 */
468 #define ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN_SINCE_VERSION 3
469
470 /** @ingroup iface_zwp_remote_surface_v1 */
471 static inline void 350 static inline void
472 zwp_remote_surface_v1_set_user_data(struct zwp_remote_surface_v1 *zwp_remote_sur face_v1, void *user_data) 351 zwp_remote_surface_v1_set_user_data(struct zwp_remote_surface_v1 *zwp_remote_sur face_v1, void *user_data)
473 { 352 {
474 wl_proxy_set_user_data((struct wl_proxy *) zwp_remote_surface_v1, user_d ata); 353 wl_proxy_set_user_data((struct wl_proxy *) zwp_remote_surface_v1, user_d ata);
475 } 354 }
476 355
477 /** @ingroup iface_zwp_remote_surface_v1 */
478 static inline void * 356 static inline void *
479 zwp_remote_surface_v1_get_user_data(struct zwp_remote_surface_v1 *zwp_remote_sur face_v1) 357 zwp_remote_surface_v1_get_user_data(struct zwp_remote_surface_v1 *zwp_remote_sur face_v1)
480 { 358 {
481 return wl_proxy_get_user_data((struct wl_proxy *) zwp_remote_surface_v1) ; 359 return wl_proxy_get_user_data((struct wl_proxy *) zwp_remote_surface_v1) ;
482 } 360 }
483 361
484 static inline uint32_t
485 zwp_remote_surface_v1_get_version(struct zwp_remote_surface_v1 *zwp_remote_surfa ce_v1)
486 {
487 return wl_proxy_get_version((struct wl_proxy *) zwp_remote_surface_v1);
488 }
489
490 /**
491 * @ingroup iface_zwp_remote_surface_v1
492 *
493 * Unmap and destroy the window. The window will be effectively
494 * hidden from the user's point of view, and all state will be lost.
495 */
496 static inline void 362 static inline void
497 zwp_remote_surface_v1_destroy(struct zwp_remote_surface_v1 *zwp_remote_surface_v 1) 363 zwp_remote_surface_v1_destroy(struct zwp_remote_surface_v1 *zwp_remote_surface_v 1)
498 { 364 {
499 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 365 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
500 ZWP_REMOTE_SURFACE_V1_DESTROY); 366 ZWP_REMOTE_SURFACE_V1_DESTROY);
501 367
502 wl_proxy_destroy((struct wl_proxy *) zwp_remote_surface_v1); 368 wl_proxy_destroy((struct wl_proxy *) zwp_remote_surface_v1);
503 } 369 }
504 370
505 /**
506 * @ingroup iface_zwp_remote_surface_v1
507 *
508 * Set an application identifier for the surface.
509 */
510 static inline void 371 static inline void
511 zwp_remote_surface_v1_set_app_id(struct zwp_remote_surface_v1 *zwp_remote_surfac e_v1, const char *app_id) 372 zwp_remote_surface_v1_set_app_id(struct zwp_remote_surface_v1 *zwp_remote_surfac e_v1, const char *app_id)
512 { 373 {
513 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 374 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
514 ZWP_REMOTE_SURFACE_V1_SET_APP_ID, app_id); 375 ZWP_REMOTE_SURFACE_V1_SET_APP_ID, app_id);
515 } 376 }
516 377
517 /**
518 * @ingroup iface_zwp_remote_surface_v1
519 *
520 * The window geometry of a window is its "visible bounds" from the
521 * user's perspective. Client-side decorations often have invisible
522 * portions like drop-shadows which should be ignored for the
523 * purposes of aligning, placing and constraining windows.
524 *
525 * The window geometry is double buffered, and will be applied at the
526 * time wl_surface.commit of the corresponding wl_surface is called.
527 *
528 * Once the window geometry of the surface is set once, it is not
529 * possible to unset it, and it will remain the same until
530 * set_window_geometry is called again, even if a new subsurface or
531 * buffer is attached.
532 *
533 * If never set, the value is the full bounds of the output. This
534 * updates dynamically on every commit.
535 *
536 * The arguments are given in the output coordinate space.
537 *
538 * The width and height must be greater than zero.
539 */
540 static inline void 378 static inline void
541 zwp_remote_surface_v1_set_window_geometry(struct zwp_remote_surface_v1 *zwp_remo te_surface_v1, int32_t x, int32_t y, int32_t width, int32_t height) 379 zwp_remote_surface_v1_set_window_geometry(struct zwp_remote_surface_v1 *zwp_remo te_surface_v1, int32_t x, int32_t y, int32_t width, int32_t height)
542 { 380 {
543 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 381 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
544 ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY, x, y, width, height); 382 ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY, x, y, width, height);
545 } 383 }
546 384
547 /**
548 * @ingroup iface_zwp_remote_surface_v1
549 *
550 * Set a scale factor that will be applied to surface and all descendants.
551 */
552 static inline void 385 static inline void
553 zwp_remote_surface_v1_set_scale(struct zwp_remote_surface_v1 *zwp_remote_surface _v1, wl_fixed_t scale) 386 zwp_remote_surface_v1_set_scale(struct zwp_remote_surface_v1 *zwp_remote_surface _v1, wl_fixed_t scale)
554 { 387 {
555 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 388 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
556 ZWP_REMOTE_SURFACE_V1_SET_SCALE, scale); 389 ZWP_REMOTE_SURFACE_V1_SET_SCALE, scale);
557 } 390 }
558 391
559 /**
560 * @ingroup iface_zwp_remote_surface_v1
561 *
562 * Request that surface is made fullscreen.
563 *
564 * This is only a request that the window should be made fullscreen.
565 * The compositor may choose to ignore this request. The client should
566 * listen to set_fullscreen events to determine if the window was
567 * made fullscreen or not.
568 */
569 static inline void 392 static inline void
570 zwp_remote_surface_v1_fullscreen(struct zwp_remote_surface_v1 *zwp_remote_surfac e_v1) 393 zwp_remote_surface_v1_fullscreen(struct zwp_remote_surface_v1 *zwp_remote_surfac e_v1)
571 { 394 {
572 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 395 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
573 ZWP_REMOTE_SURFACE_V1_FULLSCREEN); 396 ZWP_REMOTE_SURFACE_V1_FULLSCREEN);
574 } 397 }
575 398
576 /**
577 * @ingroup iface_zwp_remote_surface_v1
578 *
579 * Request that surface is maximized. The window geometry will be updated
580 * to whatever the compositor finds appropriate for a maximized window.
581 *
582 * This is only a request that the window should be maximized. The
583 * compositor may choose to ignore this request. The client should
584 * listen to set_maximized events to determine if the window was
585 * maximized or not.
586 */
587 static inline void 399 static inline void
588 zwp_remote_surface_v1_maximize(struct zwp_remote_surface_v1 *zwp_remote_surface_ v1) 400 zwp_remote_surface_v1_maximize(struct zwp_remote_surface_v1 *zwp_remote_surface_ v1)
589 { 401 {
590 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 402 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
591 ZWP_REMOTE_SURFACE_V1_MAXIMIZE); 403 ZWP_REMOTE_SURFACE_V1_MAXIMIZE);
592 } 404 }
593 405
594 /**
595 * @ingroup iface_zwp_remote_surface_v1
596 *
597 * Request that surface is minimized.
598 *
599 * This is only a request that the window should be minimized. The
600 * compositor may choose to ignore this request. The client should
601 * listen to set_minimized events to determine if the window was
602 * minimized or not.
603 */
604 static inline void 406 static inline void
605 zwp_remote_surface_v1_minimize(struct zwp_remote_surface_v1 *zwp_remote_surface_ v1) 407 zwp_remote_surface_v1_minimize(struct zwp_remote_surface_v1 *zwp_remote_surface_ v1)
606 { 408 {
607 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 409 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
608 ZWP_REMOTE_SURFACE_V1_MINIMIZE); 410 ZWP_REMOTE_SURFACE_V1_MINIMIZE);
609 } 411 }
610 412
611 /**
612 * @ingroup iface_zwp_remote_surface_v1
613 *
614 * Request that surface is restored. This restores the window geometry
615 * to what it was before the window was minimized, maximized or made
616 * fullscreen.
617 *
618 * This is only a request that the window should be restored. The
619 * compositor may choose to ignore this request. The client should
620 * listen to unset_maximized, unset_minimize and unset_fullscreen
621 * events to determine if the window was restored or not.
622 */
623 static inline void 413 static inline void
624 zwp_remote_surface_v1_restore(struct zwp_remote_surface_v1 *zwp_remote_surface_v 1) 414 zwp_remote_surface_v1_restore(struct zwp_remote_surface_v1 *zwp_remote_surface_v 1)
625 { 415 {
626 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 416 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
627 ZWP_REMOTE_SURFACE_V1_RESTORE); 417 ZWP_REMOTE_SURFACE_V1_RESTORE);
628 } 418 }
629 419
630 /**
631 * @ingroup iface_zwp_remote_surface_v1
632 *
633 * Request that surface is pinned.
634 *
635 * This is only a request that the window should be pinned.
636 * The compositor may choose to ignore this request. The client should
637 * listen to set_pinned events to determine if the window was
638 * pinned or not.
639 */
640 static inline void 420 static inline void
641 zwp_remote_surface_v1_pin(struct zwp_remote_surface_v1 *zwp_remote_surface_v1) 421 zwp_remote_surface_v1_pin(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
642 { 422 {
643 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 423 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
644 ZWP_REMOTE_SURFACE_V1_PIN); 424 ZWP_REMOTE_SURFACE_V1_PIN);
645 } 425 }
646 426
647 /**
648 * @ingroup iface_zwp_remote_surface_v1
649 *
650 * Request that surface is unpinned.
651 *
652 * This is only a request that the window should be unpinned.
653 * The compositor may choose to ignore this request. The client should
654 * listen to unset_pinned events to determine if the window was
655 * unpinned or not.
656 */
657 static inline void 427 static inline void
658 zwp_remote_surface_v1_unpin(struct zwp_remote_surface_v1 *zwp_remote_surface_v1) 428 zwp_remote_surface_v1_unpin(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
659 { 429 {
660 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 430 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
661 ZWP_REMOTE_SURFACE_V1_UNPIN); 431 ZWP_REMOTE_SURFACE_V1_UNPIN);
662 } 432 }
663 433
664 /**
665 * @ingroup iface_zwp_remote_surface_v1
666 *
667 * Request that surface is made unfullscreen.
668 *
669 * This is only a request that the window should be made unfullscreen.
670 * The compositor may choose to ignore this request. The client should
671 * listen to unset_fullscreen events to determine if the window was
672 * made unfullscreen or not.
673 */
674 static inline void 434 static inline void
675 zwp_remote_surface_v1_unfullscreen(struct zwp_remote_surface_v1 *zwp_remote_surf ace_v1) 435 zwp_remote_surface_v1_unfullscreen(struct zwp_remote_surface_v1 *zwp_remote_surf ace_v1)
676 { 436 {
677 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1, 437 wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
678 ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN); 438 ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN);
679 } 439 }
680 440
441 #define ZWP_NOTIFICATION_SURFACE_V1_DESTROY 0
442
443 static inline void
444 zwp_notification_surface_v1_set_user_data(struct zwp_notification_surface_v1 *zw p_notification_surface_v1, void *user_data)
445 {
446 wl_proxy_set_user_data((struct wl_proxy *) zwp_notification_surface_v1, user_data);
447 }
448
449 static inline void *
450 zwp_notification_surface_v1_get_user_data(struct zwp_notification_surface_v1 *zw p_notification_surface_v1)
451 {
452 return wl_proxy_get_user_data((struct wl_proxy *) zwp_notification_surfa ce_v1);
453 }
454
455 static inline void
456 zwp_notification_surface_v1_destroy(struct zwp_notification_surface_v1 *zwp_noti fication_surface_v1)
457 {
458 wl_proxy_marshal((struct wl_proxy *) zwp_notification_surface_v1,
459 ZWP_NOTIFICATION_SURFACE_V1_DESTROY);
460
461 wl_proxy_destroy((struct wl_proxy *) zwp_notification_surface_v1);
462 }
463
681 #ifdef __cplusplus 464 #ifdef __cplusplus
682 } 465 }
683 #endif 466 #endif
684 467
685 #endif 468 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698