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
11extern "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 */
38struct org_kde_kwin_server_decoration;
39struct org_kde_kwin_server_decoration_manager;
40struct 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 */
65extern 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 */
77extern 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 */
126static inline int
127org_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 */
147static inline void
148org_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 */
154static inline void *
155org_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
160static inline uint32_t
161org_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 */
167static inline void
168org_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 */
187static inline struct org_kde_kwin_server_decoration *
188org_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 */
252static inline int
253org_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 */
278static inline void
279org_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 */
285static inline void *
286org_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
291static inline uint32_t
292org_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 */
298static inline void
299org_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 */
307static inline void
308org_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 */
317static inline void
318org_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
unsigned int uint32_t
SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char int SDL_PRINTF_FORMAT_STRING const char const char SDL_SCANF_FORMAT_STRING const char return SDL_ThreadFunction const char void return Uint32 return Uint32 void
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: SDL_opengl.h:1974
GLenum mode
GLuint id
#define NULL
Definition: begin_code.h:167
EGLSurface surface
Definition: eglext.h:248
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)
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)
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)
static void org_kde_kwin_server_decoration_manager_destroy(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
static void * org_kde_kwin_server_decoration_manager_get_user_data(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
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)
static void org_kde_kwin_server_decoration_request_mode(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration, uint32_t mode)
static void org_kde_kwin_server_decoration_set_user_data(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration, void *user_data)
static void * org_kde_kwin_server_decoration_get_user_data(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
static void org_kde_kwin_server_decoration_release(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
static void org_kde_kwin_server_decoration_destroy(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
static uint32_t org_kde_kwin_server_decoration_manager_get_version(struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager)
const struct wl_interface org_kde_kwin_server_decoration_manager_interface
const struct wl_interface org_kde_kwin_server_decoration_interface
static uint32_t org_kde_kwin_server_decoration_get_version(struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration)
void(* mode)(void *data, struct org_kde_kwin_server_decoration *org_kde_kwin_server_decoration, uint32_t mode)
void(* default_mode)(void *data, struct org_kde_kwin_server_decoration_manager *org_kde_kwin_server_decoration_manager, uint32_t mode)