| /* Generated by wayland-scanner 1.13.0 */ |
| |
| #ifndef AURA_SHELL_SERVER_PROTOCOL_H |
| #define AURA_SHELL_SERVER_PROTOCOL_H |
| |
| #include <stdint.h> |
| #include <stddef.h> |
| #include "wayland-server.h" |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| struct wl_client; |
| struct wl_resource; |
| |
| /** |
| * @page page_aura_shell The aura_shell protocol |
| * @section page_ifaces_aura_shell Interfaces |
| * - @subpage page_iface_zaura_shell - aura_shell |
| * - @subpage page_iface_zaura_surface - aura shell interface to a wl_surface |
| * @section page_copyright_aura_shell Copyright |
| * <pre> |
| * |
| * Copyright 2017 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 zaura_shell; |
| struct zaura_surface; |
| |
| /** |
| * @page page_iface_zaura_shell zaura_shell |
| * @section page_iface_zaura_shell_desc Description |
| * |
| * The global interface exposing aura shell capabilities is used to |
| * instantiate an interface extension for a wl_surface object. |
| * This extended interface will then allow the client to use aura shell |
| * specific functionality. |
| * @section page_iface_zaura_shell_api API |
| * See @ref iface_zaura_shell. |
| */ |
| /** |
| * @defgroup iface_zaura_shell The zaura_shell interface |
| * |
| * The global interface exposing aura shell capabilities is used to |
| * instantiate an interface extension for a wl_surface object. |
| * This extended interface will then allow the client to use aura shell |
| * specific functionality. |
| */ |
| extern const struct wl_interface zaura_shell_interface; |
| /** |
| * @page page_iface_zaura_surface zaura_surface |
| * @section page_iface_zaura_surface_desc Description |
| * |
| * An additional interface to a wl_surface object, which allows the |
| * client to access aura shell specific functionality for surface. |
| * @section page_iface_zaura_surface_api API |
| * See @ref iface_zaura_surface. |
| */ |
| /** |
| * @defgroup iface_zaura_surface The zaura_surface interface |
| * |
| * An additional interface to a wl_surface object, which allows the |
| * client to access aura shell specific functionality for surface. |
| */ |
| extern const struct wl_interface zaura_surface_interface; |
| |
| #ifndef ZAURA_SHELL_ERROR_ENUM |
| #define ZAURA_SHELL_ERROR_ENUM |
| enum zaura_shell_error { |
| /** |
| * the surface already has an aura surface object associated |
| */ |
| ZAURA_SHELL_ERROR_AURA_SURFACE_EXISTS = 0, |
| }; |
| #endif /* ZAURA_SHELL_ERROR_ENUM */ |
| |
| /** |
| * @ingroup iface_zaura_shell |
| * @struct zaura_shell_interface |
| */ |
| struct zaura_shell_interface { |
| /** |
| * extend surface interface for aura shell |
| * |
| * Instantiate an interface extension for the given wl_surface to |
| * provide aura shell functionality. If the given wl_surface is not |
| * associated with a shell surface, the shell_surface_missing |
| * protocol error is raised. |
| * @param id the new aura surface interface id |
| * @param surface the surface |
| */ |
| void (*get_aura_surface)(struct wl_client *client, |
| struct wl_resource *resource, |
| uint32_t id, |
| struct wl_resource *surface); |
| }; |
| |
| |
| /** |
| * @ingroup iface_zaura_shell |
| */ |
| #define ZAURA_SHELL_GET_AURA_SURFACE_SINCE_VERSION 1 |
| |
| #ifndef ZAURA_SURFACE_FRAME_TYPE_ENUM |
| #define ZAURA_SURFACE_FRAME_TYPE_ENUM |
| /** |
| * @ingroup iface_zaura_surface |
| * different frame types |
| * |
| * Frame types that can be used to decorate a surface. |
| */ |
| enum zaura_surface_frame_type { |
| /** |
| * no frame |
| */ |
| ZAURA_SURFACE_FRAME_TYPE_NONE = 0, |
| /** |
| * caption with shadow |
| */ |
| ZAURA_SURFACE_FRAME_TYPE_NORMAL = 1, |
| /** |
| * shadow only |
| */ |
| ZAURA_SURFACE_FRAME_TYPE_SHADOW = 2, |
| }; |
| #endif /* ZAURA_SURFACE_FRAME_TYPE_ENUM */ |
| |
| /** |
| * @ingroup iface_zaura_surface |
| * @struct zaura_surface_interface |
| */ |
| struct zaura_surface_interface { |
| /** |
| * request a frame for surface |
| * |
| * Suggests a surface should use a specific frame. |
| * @param type the new frame type |
| */ |
| void (*set_frame)(struct wl_client *client, |
| struct wl_resource *resource, |
| uint32_t type); |
| }; |
| |
| |
| /** |
| * @ingroup iface_zaura_surface |
| */ |
| #define ZAURA_SURFACE_SET_FRAME_SINCE_VERSION 1 |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif |