blob: 2dd1d700274237bee137c1641883d5cc235c6f2a [file] [log] [blame]
/* Generated by wayland-scanner 1.11.0 */
#ifndef REMOTE_SHELL_UNSTABLE_V1_CLIENT_PROTOCOL_H
#define REMOTE_SHELL_UNSTABLE_V1_CLIENT_PROTOCOL_H
#include <stdint.h>
#include <stddef.h>
#include "wayland-client.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @page page_remote_shell_unstable_v1 The remote_shell_unstable_v1 protocol
* Create remote desktop-style surfaces
*
* @section page_desc_remote_shell_unstable_v1 Description
*
* remote_shell allows clients to turn a wl_surface into a "real window"
* which can be stacked and activated by the user.
*
* Warning! The protocol described in this file is experimental and backward
* incompatible changes may be made. Backward compatible changes may be added
* together with the corresponding interface version bump. Backward
* incompatible changes are done by bumping the version number in the protocol
* and interface names and resetting the interface version. Once the protocol
* is to be declared stable, the 'z' prefix and the version number in the
* protocol and interface names are removed and the interface version number is
* reset.
*
* @section page_ifaces_remote_shell_unstable_v1 Interfaces
* - @subpage page_iface_zwp_remote_shell_v1 - remote_shell
* - @subpage page_iface_zwp_remote_surface_v1 - A desktop window
* - @subpage page_iface_zwp_notification_surface_v1 - A notification window
* @section page_copyright_remote_shell_unstable_v1 Copyright
* <pre>
*
* Copyright 2016 The Chromium Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the "Software"),
* to deal in the Software without restriction, including without limitation
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
* and/or sell copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice (including the next
* paragraph) shall be included in all copies or substantial portions of the
* Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
* </pre>
*/
struct wl_surface;
struct zwp_notification_surface_v1;
struct zwp_remote_shell_v1;
struct zwp_remote_surface_v1;
/**
* @page page_iface_zwp_remote_shell_v1 zwp_remote_shell_v1
* @section page_iface_zwp_remote_shell_v1_desc Description
*
* The global interface that allows clients to turn a wl_surface into a
* "real window" which is remotely managed but can be stacked, activated
* and made fullscreen by the user.
* @section page_iface_zwp_remote_shell_v1_api API
* See @ref iface_zwp_remote_shell_v1.
*/
/**
* @defgroup iface_zwp_remote_shell_v1 The zwp_remote_shell_v1 interface
*
* The global interface that allows clients to turn a wl_surface into a
* "real window" which is remotely managed but can be stacked, activated
* and made fullscreen by the user.
*/
extern const struct wl_interface zwp_remote_shell_v1_interface;
/**
* @page page_iface_zwp_remote_surface_v1 zwp_remote_surface_v1
* @section page_iface_zwp_remote_surface_v1_desc Description
*
* An interface that may be implemented by a wl_surface, for
* implementations that provide a desktop-style user interface
* and allows for remotely managed windows.
*
* It provides requests to treat surfaces like windows, allowing to set
* properties like app id and geometry.
*
* The client must call wl_surface.commit on the corresponding wl_surface
* for the remote_surface state to take effect.
*
* For a surface to be mapped by the compositor the client must have
* committed both an remote_surface state and a buffer.
* @section page_iface_zwp_remote_surface_v1_api API
* See @ref iface_zwp_remote_surface_v1.
*/
/**
* @defgroup iface_zwp_remote_surface_v1 The zwp_remote_surface_v1 interface
*
* An interface that may be implemented by a wl_surface, for
* implementations that provide a desktop-style user interface
* and allows for remotely managed windows.
*
* It provides requests to treat surfaces like windows, allowing to set
* properties like app id and geometry.
*
* The client must call wl_surface.commit on the corresponding wl_surface
* for the remote_surface state to take effect.
*
* For a surface to be mapped by the compositor the client must have
* committed both an remote_surface state and a buffer.
*/
extern const struct wl_interface zwp_remote_surface_v1_interface;
/**
* @page page_iface_zwp_notification_surface_v1 zwp_notification_surface_v1
* @section page_iface_zwp_notification_surface_v1_desc Description
*
* An interface that may be implemented by a wl_surface to host
* notification contents.
* @section page_iface_zwp_notification_surface_v1_api API
* See @ref iface_zwp_notification_surface_v1.
*/
/**
* @defgroup iface_zwp_notification_surface_v1 The zwp_notification_surface_v1 interface
*
* An interface that may be implemented by a wl_surface to host
* notification contents.
*/
extern const struct wl_interface zwp_notification_surface_v1_interface;
#ifndef ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM
#define ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM
/**
* @ingroup iface_zwp_remote_shell_v1
* containers for remote surfaces
*
* Determine how a remote surface should be stacked relative to other
* shell surfaces.
*/
enum zwp_remote_shell_v1_container {
/**
* default container
*/
ZWP_REMOTE_SHELL_V1_CONTAINER_DEFAULT = 1,
/**
* system modal container
*/
ZWP_REMOTE_SHELL_V1_CONTAINER_OVERLAY = 2,
};
#endif /* ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM */
#ifndef ZWP_REMOTE_SHELL_V1_ERROR_ENUM
#define ZWP_REMOTE_SHELL_V1_ERROR_ENUM
enum zwp_remote_shell_v1_error {
/**
* given wl_surface has another role
*/
ZWP_REMOTE_SHELL_V1_ERROR_ROLE = 0,
/**
* invalid notification id
*/
ZWP_REMOTE_SHELL_V1_ERROR_INVALID_NOTIFICATION_ID = 1,
};
#endif /* ZWP_REMOTE_SHELL_V1_ERROR_ENUM */
/**
* @ingroup iface_zwp_remote_shell_v1
* @struct zwp_remote_shell_v1_listener
*/
struct zwp_remote_shell_v1_listener {
/**
* suggests a re-layout of remote shell
*
* Suggests a re-layout of remote surface geometry.
*/
void (*configure)(void *data,
struct zwp_remote_shell_v1 *zwp_remote_shell_v1,
int32_t width,
int32_t height,
int32_t work_area_inset_left,
int32_t work_area_inset_top,
int32_t work_area_inset_right,
int32_t work_area_inset_bottom);
/**
* activated surface changed
*
* Notifies client that the activated surface changed.
*/
void (*activated)(void *data,
struct zwp_remote_shell_v1 *zwp_remote_shell_v1,
struct wl_surface *gained_active,
struct wl_surface *lost_active);
};
/**
* @ingroup zwp_remote_shell_v1_iface
*/
static inline int
zwp_remote_shell_v1_add_listener(struct zwp_remote_shell_v1 *zwp_remote_shell_v1,
const struct zwp_remote_shell_v1_listener *listener, void *data)
{
return wl_proxy_add_listener((struct wl_proxy *) zwp_remote_shell_v1,
(void (**)(void)) listener, data);
}
#define ZWP_REMOTE_SHELL_V1_DESTROY 0
#define ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE 1
#define ZWP_REMOTE_SHELL_V1_GET_NOTIFICATION_SURFACE 2
/**
* @ingroup iface_zwp_remote_shell_v1
*/
#define ZWP_REMOTE_SHELL_V1_DESTROY_SINCE_VERSION 1
/**
* @ingroup iface_zwp_remote_shell_v1
*/
#define ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE_SINCE_VERSION 1
/**
* @ingroup iface_zwp_remote_shell_v1
*/
#define ZWP_REMOTE_SHELL_V1_GET_NOTIFICATION_SURFACE_SINCE_VERSION 6
/** @ingroup iface_zwp_remote_shell_v1 */
static inline void
zwp_remote_shell_v1_set_user_data(struct zwp_remote_shell_v1 *zwp_remote_shell_v1, void *user_data)
{
wl_proxy_set_user_data((struct wl_proxy *) zwp_remote_shell_v1, user_data);
}
/** @ingroup iface_zwp_remote_shell_v1 */
static inline void *
zwp_remote_shell_v1_get_user_data(struct zwp_remote_shell_v1 *zwp_remote_shell_v1)
{
return wl_proxy_get_user_data((struct wl_proxy *) zwp_remote_shell_v1);
}
static inline uint32_t
zwp_remote_shell_v1_get_version(struct zwp_remote_shell_v1 *zwp_remote_shell_v1)
{
return wl_proxy_get_version((struct wl_proxy *) zwp_remote_shell_v1);
}
/**
* @ingroup iface_zwp_remote_shell_v1
*
* Destroy this remote_shell object.
*
* Destroying a bound remote_shell object while there are surfaces
* still alive created by this remote_shell object instance is illegal
* and will result in a protocol error.
*/
static inline void
zwp_remote_shell_v1_destroy(struct zwp_remote_shell_v1 *zwp_remote_shell_v1)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_shell_v1,
ZWP_REMOTE_SHELL_V1_DESTROY);
wl_proxy_destroy((struct wl_proxy *) zwp_remote_shell_v1);
}
/**
* @ingroup iface_zwp_remote_shell_v1
*
* This creates an remote_surface for the given surface and gives it the
* remote_surface role. A wl_surface can only be given a remote_surface
* role once. If get_remote_surface is called with a wl_surface that
* already has an active remote_surface associated with it, or if it had
* any other role, an error is raised.
*
* See the documentation of remote_surface for more details about what an
* remote_surface is and how it is used.
*/
static inline struct zwp_remote_surface_v1 *
zwp_remote_shell_v1_get_remote_surface(struct zwp_remote_shell_v1 *zwp_remote_shell_v1, struct wl_surface *surface, uint32_t container)
{
struct wl_proxy *id;
id = wl_proxy_marshal_constructor((struct wl_proxy *) zwp_remote_shell_v1,
ZWP_REMOTE_SHELL_V1_GET_REMOTE_SURFACE, &zwp_remote_surface_v1_interface, NULL, surface, container);
return (struct zwp_remote_surface_v1 *) id;
}
/**
* @ingroup iface_zwp_remote_shell_v1
*
* Creates a notification_surface for the given surface, gives it the
* notification_surface role and associated it with a notification id.
*/
static inline struct zwp_notification_surface_v1 *
zwp_remote_shell_v1_get_notification_surface(struct zwp_remote_shell_v1 *zwp_remote_shell_v1, struct wl_surface *surface, const char *notification_id)
{
struct wl_proxy *id;
id = wl_proxy_marshal_constructor((struct wl_proxy *) zwp_remote_shell_v1,
ZWP_REMOTE_SHELL_V1_GET_NOTIFICATION_SURFACE, &zwp_notification_surface_v1_interface, NULL, surface, notification_id);
return (struct zwp_notification_surface_v1 *) id;
}
/**
* @ingroup iface_zwp_remote_surface_v1
* @struct zwp_remote_surface_v1_listener
*/
struct zwp_remote_surface_v1_listener {
/**
* surface wants to be fullscreen
*
* The set_fullscreen event is sent by the compositor when the
* user wants the surface to be made fullscreen.
*
* This is only a request that the user intends to make your window
* fullscreen. The client may choose to ignore this request.
*/
void (*set_fullscreen)(void *data,
struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
/**
* surface wants to be non-fullscreen
*
* The unset_fullscreen event is sent by the compositor when the
* user wants the surface to be made non-fullscreen.
*
* This is only a request that the user intends to make your window
* non-fullscreen. The client may choose to ignore this request.
*/
void (*unset_fullscreen)(void *data,
struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
/**
* surface wants to be closed
*
* The close event is sent by the compositor when the user wants
* the surface to be closed. This should be equivalent to the user
* clicking the close button in client-side decorations, if your
* application has any...
*
* This is only a request that the user intends to close your
* window. The client may choose to ignore this request, or show a
* dialog to ask the user to save their data...
*/
void (*close)(void *data,
struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
/**
* surface wants to be maximized
*
* The set_maximized event is sent by the compositor when the
* user wants the surface to be maximized.
*
* This is only a request that the user intends to maximized the
* window. The client may choose to ignore this request.
* @since 2
*/
void (*set_maximized)(void *data,
struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
/**
* surface wants to be restored
*
* The unset_maximized event is sent by the compositor when the
* user wants the surface to be made visible.
*
* This is only a request that the user intends to make your window
* visible. The client may choose to ignore this request.
* @since 2
*/
void (*unset_maximized)(void *data,
struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
/**
* surface wants to be minimized
*
* The set_minimized event is sent by the compositor when the
* user wants the surface to be minimized.
*
* This is only a request that the user intends to minimize the
* window. The client may choose to ignore this request.
* @since 2
*/
void (*set_minimized)(void *data,
struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
/**
* surface wants to be restored
*
* The unset_minimized event is sent by the compositor when the
* user wants the surface to be made visible.
*
* This is only a request that the user intends to make your window
* visible. The client may choose to ignore this request.
* @since 2
*/
void (*unset_minimized)(void *data,
struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
/**
* surface was pinned
*
* The set_pinned event is sent by the compositor when the
* surface was pinned.
*
* This is an event to notify that the window is pinned in
* compositor. The pin may be triggered by a client's request, or
* some user action directly handled by the compositor. The client
* may choose to ignore this event.
* @since 3
*/
void (*set_pinned)(void *data,
struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
/**
* surface was unpinned
*
* The unset_pinned event is sent by the compositor when the
* surface was unpinned.
*
* This is an event to notify that the window is unpinned in
* compositor. The unpin may be triggered by a client's request, or
* some user action directly handled by the compositor. The client
* may choose to ignore this event.
* @since 3
*/
void (*unset_pinned)(void *data,
struct zwp_remote_surface_v1 *zwp_remote_surface_v1);
};
/**
* @ingroup zwp_remote_surface_v1_iface
*/
static inline int
zwp_remote_surface_v1_add_listener(struct zwp_remote_surface_v1 *zwp_remote_surface_v1,
const struct zwp_remote_surface_v1_listener *listener, void *data)
{
return wl_proxy_add_listener((struct wl_proxy *) zwp_remote_surface_v1,
(void (**)(void)) listener, data);
}
#define ZWP_REMOTE_SURFACE_V1_DESTROY 0
#define ZWP_REMOTE_SURFACE_V1_SET_APP_ID 1
#define ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY 2
#define ZWP_REMOTE_SURFACE_V1_SET_SCALE 3
#define ZWP_REMOTE_SURFACE_V1_FULLSCREEN 4
#define ZWP_REMOTE_SURFACE_V1_MAXIMIZE 5
#define ZWP_REMOTE_SURFACE_V1_MINIMIZE 6
#define ZWP_REMOTE_SURFACE_V1_RESTORE 7
#define ZWP_REMOTE_SURFACE_V1_PIN 8
#define ZWP_REMOTE_SURFACE_V1_UNPIN 9
#define ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN 10
#define ZWP_REMOTE_SURFACE_V1_SET_RECTANGULAR_SHADOW 11
#define ZWP_REMOTE_SURFACE_V1_SET_TITLE 12
#define ZWP_REMOTE_SURFACE_V1_SET_TOP_INSET 13
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_DESTROY_SINCE_VERSION 1
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_SET_APP_ID_SINCE_VERSION 1
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY_SINCE_VERSION 1
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_SET_SCALE_SINCE_VERSION 1
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_FULLSCREEN_SINCE_VERSION 2
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_MAXIMIZE_SINCE_VERSION 2
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_MINIMIZE_SINCE_VERSION 2
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_RESTORE_SINCE_VERSION 2
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_PIN_SINCE_VERSION 3
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_UNPIN_SINCE_VERSION 3
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN_SINCE_VERSION 3
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_SET_RECTANGULAR_SHADOW_SINCE_VERSION 4
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_SET_TITLE_SINCE_VERSION 5
/**
* @ingroup iface_zwp_remote_surface_v1
*/
#define ZWP_REMOTE_SURFACE_V1_SET_TOP_INSET_SINCE_VERSION 5
/** @ingroup iface_zwp_remote_surface_v1 */
static inline void
zwp_remote_surface_v1_set_user_data(struct zwp_remote_surface_v1 *zwp_remote_surface_v1, void *user_data)
{
wl_proxy_set_user_data((struct wl_proxy *) zwp_remote_surface_v1, user_data);
}
/** @ingroup iface_zwp_remote_surface_v1 */
static inline void *
zwp_remote_surface_v1_get_user_data(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
{
return wl_proxy_get_user_data((struct wl_proxy *) zwp_remote_surface_v1);
}
static inline uint32_t
zwp_remote_surface_v1_get_version(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
{
return wl_proxy_get_version((struct wl_proxy *) zwp_remote_surface_v1);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Unmap and destroy the window. The window will be effectively
* hidden from the user's point of view, and all state will be lost.
*/
static inline void
zwp_remote_surface_v1_destroy(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_DESTROY);
wl_proxy_destroy((struct wl_proxy *) zwp_remote_surface_v1);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Set an application identifier for the surface.
*/
static inline void
zwp_remote_surface_v1_set_app_id(struct zwp_remote_surface_v1 *zwp_remote_surface_v1, const char *app_id)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_SET_APP_ID, app_id);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* The window geometry of a window is its "visible bounds" from the
* user's perspective. Client-side decorations often have invisible
* portions like drop-shadows which should be ignored for the
* purposes of aligning, placing and constraining windows.
*
* The window geometry is double buffered, and will be applied at the
* time wl_surface.commit of the corresponding wl_surface is called.
*
* Once the window geometry of the surface is set once, it is not
* possible to unset it, and it will remain the same until
* set_window_geometry is called again, even if a new subsurface or
* buffer is attached.
*
* If never set, the value is the full bounds of the output. This
* updates dynamically on every commit.
*
* The arguments are given in the output coordinate space.
*
* The width and height must be greater than zero.
*/
static inline void
zwp_remote_surface_v1_set_window_geometry(struct zwp_remote_surface_v1 *zwp_remote_surface_v1, int32_t x, int32_t y, int32_t width, int32_t height)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_SET_WINDOW_GEOMETRY, x, y, width, height);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Set a scale factor that will be applied to surface and all descendants.
*/
static inline void
zwp_remote_surface_v1_set_scale(struct zwp_remote_surface_v1 *zwp_remote_surface_v1, wl_fixed_t scale)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_SET_SCALE, scale);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Request that surface is made fullscreen.
*
* This is only a request that the window should be made fullscreen.
* The compositor may choose to ignore this request. The client should
* listen to set_fullscreen events to determine if the window was
* made fullscreen or not.
*/
static inline void
zwp_remote_surface_v1_fullscreen(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_FULLSCREEN);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Request that surface is maximized. The window geometry will be updated
* to whatever the compositor finds appropriate for a maximized window.
*
* This is only a request that the window should be maximized. The
* compositor may choose to ignore this request. The client should
* listen to set_maximized events to determine if the window was
* maximized or not.
*/
static inline void
zwp_remote_surface_v1_maximize(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_MAXIMIZE);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Request that surface is minimized.
*
* This is only a request that the window should be minimized. The
* compositor may choose to ignore this request. The client should
* listen to set_minimized events to determine if the window was
* minimized or not.
*/
static inline void
zwp_remote_surface_v1_minimize(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_MINIMIZE);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Request that surface is restored. This restores the window geometry
* to what it was before the window was minimized, maximized or made
* fullscreen.
*
* This is only a request that the window should be restored. The
* compositor may choose to ignore this request. The client should
* listen to unset_maximized, unset_minimize and unset_fullscreen
* events to determine if the window was restored or not.
*/
static inline void
zwp_remote_surface_v1_restore(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_RESTORE);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Request that surface is pinned.
*
* This is only a request that the window should be pinned.
* The compositor may choose to ignore this request. The client should
* listen to set_pinned events to determine if the window was
* pinned or not.
*/
static inline void
zwp_remote_surface_v1_pin(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_PIN);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Request that surface is unpinned.
*
* This is only a request that the window should be unpinned.
* The compositor may choose to ignore this request. The client should
* listen to unset_pinned events to determine if the window was
* unpinned or not.
*/
static inline void
zwp_remote_surface_v1_unpin(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_UNPIN);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Request that surface is made unfullscreen.
*
* This is only a request that the window should be made unfullscreen.
* The compositor may choose to ignore this request. The client should
* listen to unset_fullscreen events to determine if the window was
* made unfullscreen or not.
*/
static inline void
zwp_remote_surface_v1_unfullscreen(struct zwp_remote_surface_v1 *zwp_remote_surface_v1)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_UNFULLSCREEN);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Request that surface needs a rectangular shadow.
*
* This is only a request that the surface should have a rectangular
* shadow. The compositor may choose to ignore this request.
*
* The arguments are given in the output coordinate space and specifies
* the inner bounds of the shadow.
*
* The arguments are given in the output coordinate space.
* Specifying zero width and height will disable the shadow.
*/
static inline void
zwp_remote_surface_v1_set_rectangular_shadow(struct zwp_remote_surface_v1 *zwp_remote_surface_v1, int32_t x, int32_t y, int32_t width, int32_t height)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_SET_RECTANGULAR_SHADOW, x, y, width, height);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Set a short title for the surface.
*
* This string may be used to identify the surface in a task bar,
* window list, or other user interface elements provided by the
* compositor.
*
* The string must be encoded in UTF-8.
*/
static inline void
zwp_remote_surface_v1_set_title(struct zwp_remote_surface_v1 *zwp_remote_surface_v1, const char *title)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_SET_TITLE, title);
}
/**
* @ingroup iface_zwp_remote_surface_v1
*
* Set distance from the top of the surface to the contents.
*
* This distance typically represents the size of the window caption.
*/
static inline void
zwp_remote_surface_v1_set_top_inset(struct zwp_remote_surface_v1 *zwp_remote_surface_v1, int32_t height)
{
wl_proxy_marshal((struct wl_proxy *) zwp_remote_surface_v1,
ZWP_REMOTE_SURFACE_V1_SET_TOP_INSET, height);
}
#define ZWP_NOTIFICATION_SURFACE_V1_DESTROY 0
/**
* @ingroup iface_zwp_notification_surface_v1
*/
#define ZWP_NOTIFICATION_SURFACE_V1_DESTROY_SINCE_VERSION 1
/** @ingroup iface_zwp_notification_surface_v1 */
static inline void
zwp_notification_surface_v1_set_user_data(struct zwp_notification_surface_v1 *zwp_notification_surface_v1, void *user_data)
{
wl_proxy_set_user_data((struct wl_proxy *) zwp_notification_surface_v1, user_data);
}
/** @ingroup iface_zwp_notification_surface_v1 */
static inline void *
zwp_notification_surface_v1_get_user_data(struct zwp_notification_surface_v1 *zwp_notification_surface_v1)
{
return wl_proxy_get_user_data((struct wl_proxy *) zwp_notification_surface_v1);
}
static inline uint32_t
zwp_notification_surface_v1_get_version(struct zwp_notification_surface_v1 *zwp_notification_surface_v1)
{
return wl_proxy_get_version((struct wl_proxy *) zwp_notification_surface_v1);
}
/**
* @ingroup iface_zwp_notification_surface_v1
*
* Unmap and destroy the notification surface.
*/
static inline void
zwp_notification_surface_v1_destroy(struct zwp_notification_surface_v1 *zwp_notification_surface_v1)
{
wl_proxy_marshal((struct wl_proxy *) zwp_notification_surface_v1,
ZWP_NOTIFICATION_SURFACE_V1_DESTROY);
wl_proxy_destroy((struct wl_proxy *) zwp_notification_surface_v1);
}
#ifdef __cplusplus
}
#endif
#endif