SDL  2.0
org-kde-kwin-server-decoration-manager-client-protocol.h
Go to the documentation of this file.
1 /* Generated by wayland-scanner 1.20.0 */
2 
3 #ifndef SERVER_DECORATION_CLIENT_PROTOCOL_H
4 #define SERVER_DECORATION_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_server_decoration The server_decoration protocol
16  * @section page_ifaces_server_decoration Interfaces
17  * - @subpage page_iface_org_kde_kwin_server_decoration_manager - Server side window decoration manager
18  * - @subpage page_iface_org_kde_kwin_server_decoration -
19  * @section page_copyright_server_decoration Copyright
20  * <pre>
21  *
22  * Copyright (C) 2015 Martin Gräßlin
23  *
24  * This program is free software: you can redistribute it and/or modify
25  * it under the terms of the GNU Lesser General Public License as published by
26  * the Free Software Foundation, either version 2.1 of the License, or
27  * (at your option) any later version.
28  *
29  * This program is distributed in the hope that it will be useful,
30  * but WITHOUT ANY WARRANTY; without even the implied warranty of
31  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32  * GNU Lesser General Public License for more details.
33  *
34  * You should have received a copy of the GNU Lesser General Public License
35  * along with this program. If not, see <http://www.gnu.org/licenses/>.
36  * </pre>
37  */
38 struct org_kde_kwin_server_decoration;
39 struct org_kde_kwin_server_decoration_manager;
40 struct wl_surface;
41 
42 #ifndef ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_INTERFACE
43 #define ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_INTERFACE
44 /**
45  * @page page_iface_org_kde_kwin_server_decoration_manager org_kde_kwin_server_decoration_manager
46  * @section page_iface_org_kde_kwin_server_decoration_manager_desc Description
47  *
48  * This interface allows to coordinate whether the server should create
49  * a server-side window decoration around a wl_surface representing a
50  * shell surface (wl_shell_surface or similar). By announcing support
51  * for this interface the server indicates that it supports server
52  * side decorations.
53  * @section page_iface_org_kde_kwin_server_decoration_manager_api API
54  * See @ref iface_org_kde_kwin_server_decoration_manager.
55  */
56 /**
57  * @defgroup iface_org_kde_kwin_server_decoration_manager The org_kde_kwin_server_decoration_manager interface
58  *
59  * This interface allows to coordinate whether the server should create
60  * a server-side window decoration around a wl_surface representing a
61  * shell surface (wl_shell_surface or similar). By announcing support
62  * for this interface the server indicates that it supports server
63  * side decorations.
64  */
65 extern const struct wl_interface org_kde_kwin_server_decoration_manager_interface;
66 #endif
67 #ifndef ORG_KDE_KWIN_SERVER_DECORATION_INTERFACE
68 #define ORG_KDE_KWIN_SERVER_DECORATION_INTERFACE
69 /**
70  * @page page_iface_org_kde_kwin_server_decoration org_kde_kwin_server_decoration
71  * @section page_iface_org_kde_kwin_server_decoration_api API
72  * See @ref iface_org_kde_kwin_server_decoration.
73  */
74 /**
75  * @defgroup iface_org_kde_kwin_server_decoration The org_kde_kwin_server_decoration interface
76  */
77 extern const struct wl_interface org_kde_kwin_server_decoration_interface;
78 #endif
79 
80 #ifndef ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_ENUM
81 #define ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_ENUM
82 /**
83  * @ingroup iface_org_kde_kwin_server_decoration_manager
84  * Possible values to use in request_mode and the event mode.
85  */
87  /**
88  * Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated.
89  */
91  /**
92  * Client-side decoration: The decoration is part of the surface and the client.
93  */
95  /**
96  * Server-side decoration: The server embeds the surface into a decoration frame.
97  */
99 };
100 #endif /* ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_ENUM */
101 
102 /**
103  * @ingroup iface_org_kde_kwin_server_decoration_manager
104  * @struct org_kde_kwin_server_decoration_manager_listener
105  */
107  /**
108  * The default mode used on the server
109  *
110  * This event is emitted directly after binding the interface. It
111  * contains the default mode for the decoration. When a new server
112  * decoration object is created this new object will be in the
113  * default mode until the first request_mode is requested.
114  *
115  * The server may change the default mode at any time.
116  * @param mode The default decoration mode applied to newly created server decorations.
117  */
119  struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager,
120  uint32_t mode);
121 };
122 
123 /**
124  * @ingroup iface_org_kde_kwin_server_decoration_manager
125  */
126 static inline int
127 org_kde_kwin_server_decoration_manager_add_listener(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager,
128  const struct org_kde_kwin_server_decoration_manager_listener *listener, void *data)
129 {
130  return wl_proxy_add_listener((struct wl_proxy *) org_kde_kwin_server_decoration_manager,
131  (void (**)(void)) listener, data);
132 }
133 
134 #define ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE 0
135 
136 /**
137  * @ingroup iface_org_kde_kwin_server_decoration_manager
138  */
139 #define ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_DEFAULT_MODE_SINCE_VERSION 1
140 
141 /**
142  * @ingroup iface_org_kde_kwin_server_decoration_manager
143  */
144 #define ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE_SINCE_VERSION 1
145 
146 /** @ingroup iface_org_kde_kwin_server_decoration_manager */
147 static inline void
148 org_kde_kwin_server_decoration_manager_set_user_data(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager, void *user_data)
149 {
150  wl_proxy_set_user_data((struct wl_proxy *) org_kde_kwin_server_decoration_manager, user_data);
151 }
152 
153 /** @ingroup iface_org_kde_kwin_server_decoration_manager */
154 static inline void *
155 org_kde_kwin_server_decoration_manager_get_user_data(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
156 {
157  return wl_proxy_get_user_data((struct wl_proxy *) org_kde_kwin_server_decoration_manager);
158 }
159 
160 static inline uint32_t
161 org_kde_kwin_server_decoration_manager_get_version(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
162 {
163  return wl_proxy_get_version((struct wl_proxy *) org_kde_kwin_server_decoration_manager);
164 }
165 
166 /** @ingroup iface_org_kde_kwin_server_decoration_manager */
167 static inline void
168 org_kde_kwin_server_decoration_manager_destroy(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
169 {
170  wl_proxy_destroy((struct wl_proxy *) org_kde_kwin_server_decoration_manager);
171 }
172 
173 /**
174  * @ingroup iface_org_kde_kwin_server_decoration_manager
175  *
176  * When a client creates a server-side decoration object it indicates
177  * that it supports the protocol. The client is supposed to tell the
178  * server whether it wants server-side decorations or will provide
179  * client-side decorations.
180  *
181  * If the client does not create a server-side decoration object for
182  * a surface the server interprets this as lack of support for this
183  * protocol and considers it as client-side decorated. Nevertheless a
184  * client-side decorated surface should use this protocol to indicate
185  * to the server that it does not want a server-side deco.
186  */
187 static inline struct org_kde_kwin_server_decoration *
188 org_kde_kwin_server_decoration_manager_create(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager, struct wl_surface *surface)
189 {
190  struct wl_proxy *id;
191 
192  id = wl_proxy_marshal_flags((struct wl_proxy *) org_kde_kwin_server_decoration_manager,
193  ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE, &org_kde_kwin_server_decoration_interface, wl_proxy_get_version((struct wl_proxy *) org_kde_kwin_server_decoration_manager), 0, NULL, surface);
194 
195  return (struct org_kde_kwin_server_decoration *) id;
196 }
197 
198 #ifndef ORG_KDE_KWIN_SERVER_DECORATION_MODE_ENUM
199 #define ORG_KDE_KWIN_SERVER_DECORATION_MODE_ENUM
200 /**
201  * @ingroup iface_org_kde_kwin_server_decoration
202  * Possible values to use in request_mode and the event mode.
203  */
205  /**
206  * Undecorated: The surface is not decorated at all, neither server nor client-side. An example is a popup surface which should not be decorated.
207  */
209  /**
210  * Client-side decoration: The decoration is part of the surface and the client.
211  */
213  /**
214  * Server-side decoration: The server embeds the surface into a decoration frame.
215  */
217 };
218 #endif /* ORG_KDE_KWIN_SERVER_DECORATION_MODE_ENUM */
219 
220 /**
221  * @ingroup iface_org_kde_kwin_server_decoration
222  * @struct org_kde_kwin_server_decoration_listener
223  */
225  /**
226  * The new decoration mode applied by the server
227  *
228  * This event is emitted directly after the decoration is created
229  * and represents the base decoration policy by the server. E.g. a
230  * server which wants all surfaces to be client-side decorated will
231  * send Client, a server which wants server-side decoration will
232  * send Server.
233  *
234  * The client can request a different mode through the decoration
235  * request. The server will acknowledge this by another event with
236  * the same mode. So even if a server prefers server-side
237  * decoration it's possible to force a client-side decoration.
238  *
239  * The server may emit this event at any time. In this case the
240  * client can again request a different mode. It's the
241  * responsibility of the server to prevent a feedback loop.
242  * @param mode The decoration mode applied to the surface by the server.
243  */
244  void (*mode)(void *data,
245  struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration,
246  uint32_t mode);
247 };
248 
249 /**
250  * @ingroup iface_org_kde_kwin_server_decoration
251  */
252 static inline int
253 org_kde_kwin_server_decoration_add_listener(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration,
254  const struct org_kde_kwin_server_decoration_listener *listener, void *data)
255 {
256  return wl_proxy_add_listener((struct wl_proxy *) org_kde_kwin_server_decoration,
257  (void (**)(void)) listener, data);
258 }
259 
260 #define ORG_KDE_KWIN_SERVER_DECORATION_RELEASE 0
261 #define ORG_KDE_KWIN_SERVER_DECORATION_REQUEST_MODE 1
262 
263 /**
264  * @ingroup iface_org_kde_kwin_server_decoration
265  */
266 #define ORG_KDE_KWIN_SERVER_DECORATION_MODE_SINCE_VERSION 1
267 
268 /**
269  * @ingroup iface_org_kde_kwin_server_decoration
270  */
271 #define ORG_KDE_KWIN_SERVER_DECORATION_RELEASE_SINCE_VERSION 1
272 /**
273  * @ingroup iface_org_kde_kwin_server_decoration
274  */
275 #define ORG_KDE_KWIN_SERVER_DECORATION_REQUEST_MODE_SINCE_VERSION 1
276 
277 /** @ingroup iface_org_kde_kwin_server_decoration */
278 static inline void
279 org_kde_kwin_server_decoration_set_user_data(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration, void *user_data)
280 {
281  wl_proxy_set_user_data((struct wl_proxy *) org_kde_kwin_server_decoration, user_data);
282 }
283 
284 /** @ingroup iface_org_kde_kwin_server_decoration */
285 static inline void *
286 org_kde_kwin_server_decoration_get_user_data(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
287 {
288  return wl_proxy_get_user_data((struct wl_proxy *) org_kde_kwin_server_decoration);
289 }
290 
291 static inline uint32_t
292 org_kde_kwin_server_decoration_get_version(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
293 {
294  return wl_proxy_get_version((struct wl_proxy *) org_kde_kwin_server_decoration);
295 }
296 
297 /** @ingroup iface_org_kde_kwin_server_decoration */
298 static inline void
299 org_kde_kwin_server_decoration_destroy(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
300 {
301  wl_proxy_destroy((struct wl_proxy *) org_kde_kwin_server_decoration);
302 }
303 
304 /**
305  * @ingroup iface_org_kde_kwin_server_decoration
306  */
307 static inline void
308 org_kde_kwin_server_decoration_release(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
309 {
310  wl_proxy_marshal_flags((struct wl_proxy *) org_kde_kwin_server_decoration,
311  ORG_KDE_KWIN_SERVER_DECORATION_RELEASE, NULL, wl_proxy_get_version((struct wl_proxy *) org_kde_kwin_server_decoration), WL_MARSHAL_FLAG_DESTROY);
312 }
313 
314 /**
315  * @ingroup iface_org_kde_kwin_server_decoration
316  */
317 static inline void
318 org_kde_kwin_server_decoration_request_mode(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration, uint32_t mode)
319 {
320  wl_proxy_marshal_flags((struct wl_proxy *) org_kde_kwin_server_decoration,
321  ORG_KDE_KWIN_SERVER_DECORATION_REQUEST_MODE, NULL, wl_proxy_get_version((struct wl_proxy *) org_kde_kwin_server_decoration), 0, mode);
322 }
323 
324 #ifdef __cplusplus
325 }
326 #endif
327 
328 #endif
ORG_KDE_KWIN_SERVER_DECORATION_MODE_CLIENT
@ ORG_KDE_KWIN_SERVER_DECORATION_MODE_CLIENT
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:212
org_kde_kwin_server_decoration_listener::mode
void(* mode)(void *data, struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration, uint32_t mode)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:244
org_kde_kwin_server_decoration_listener
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:224
NULL
#define NULL
Definition: begin_code.h:167
surface
EGLSurface surface
Definition: eglext.h:248
ORG_KDE_KWIN_SERVER_DECORATION_MODE_SERVER
@ ORG_KDE_KWIN_SERVER_DECORATION_MODE_SERVER
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:216
mode
GLenum mode
Definition: SDL_opengl_glext.h:1122
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_SERVER
@ ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_SERVER
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:98
org_kde_kwin_server_decoration_manager_listener
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:106
org_kde_kwin_server_decoration_manager_destroy
static void org_kde_kwin_server_decoration_manager_destroy(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:168
org_kde_kwin_server_decoration_manager_get_version
static uint32_t org_kde_kwin_server_decoration_manager_get_version(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:161
org_kde_kwin_server_decoration_set_user_data
static void org_kde_kwin_server_decoration_set_user_data(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration, void *user_data)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:279
org_kde_kwin_server_decoration_manager_mode
org_kde_kwin_server_decoration_manager_mode
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:86
org_kde_kwin_server_decoration_destroy
static void org_kde_kwin_server_decoration_destroy(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:299
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_NONE
@ ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_NONE
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:90
data
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE
#define ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_CREATE
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:134
org_kde_kwin_server_decoration_mode
org_kde_kwin_server_decoration_mode
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:204
ORG_KDE_KWIN_SERVER_DECORATION_REQUEST_MODE
#define ORG_KDE_KWIN_SERVER_DECORATION_REQUEST_MODE
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:261
org_kde_kwin_server_decoration_manager_create
static struct org_kde_kwin_server_decoration * org_kde_kwin_server_decoration_manager_create(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager, struct wl_surface *surface)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:188
org_kde_kwin_server_decoration_get_user_data
static void * org_kde_kwin_server_decoration_get_user_data(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:286
ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_CLIENT
@ ORG_KDE_KWIN_SERVER_DECORATION_MANAGER_MODE_CLIENT
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:94
ORG_KDE_KWIN_SERVER_DECORATION_MODE_NONE
@ ORG_KDE_KWIN_SERVER_DECORATION_MODE_NONE
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:208
id
GLuint id
Definition: SDL_opengl_glext.h:528
org_kde_kwin_server_decoration_release
static void org_kde_kwin_server_decoration_release(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:308
uint32_t
unsigned int uint32_t
Definition: SDL_config_windows.h:63
org_kde_kwin_server_decoration_manager_add_listener
static int org_kde_kwin_server_decoration_manager_add_listener(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager, const struct org_kde_kwin_server_decoration_manager_listener *listener, void *data)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:127
org_kde_kwin_server_decoration_get_version
static uint32_t org_kde_kwin_server_decoration_get_version(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:292
org_kde_kwin_server_decoration_interface
const struct wl_interface org_kde_kwin_server_decoration_interface
Definition: org-kde-kwin-server-decoration-manager-protocol.c:56
org_kde_kwin_server_decoration_manager_interface
const struct wl_interface org_kde_kwin_server_decoration_manager_interface
Definition: org-kde-kwin-server-decoration-manager-protocol.c:41
org_kde_kwin_server_decoration_manager_listener::default_mode
void(* default_mode)(void *data, struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager, uint32_t mode)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:118
ORG_KDE_KWIN_SERVER_DECORATION_RELEASE
#define ORG_KDE_KWIN_SERVER_DECORATION_RELEASE
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:260
org_kde_kwin_server_decoration_manager_get_user_data
static void * org_kde_kwin_server_decoration_manager_get_user_data(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:155
void
const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char int const SDL_PRINTF_FORMAT_STRING char const char const SDL_SCANF_FORMAT_STRING char return SDL_ThreadFunction const char void return Uint32 return Uint32 void
Definition: SDL_dynapi_procs.h:89
org_kde_kwin_server_decoration_add_listener
static int org_kde_kwin_server_decoration_add_listener(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration, const struct org_kde_kwin_server_decoration_listener *listener, void *data)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:253
org_kde_kwin_server_decoration_manager_set_user_data
static void org_kde_kwin_server_decoration_manager_set_user_data(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager, void *user_data)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:148
org_kde_kwin_server_decoration_request_mode
static void org_kde_kwin_server_decoration_request_mode(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration, uint32_t mode)
Definition: org-kde-kwin-server-decoration-manager-client-protocol.h:318