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

Unified Diff: third_party/wayland-protocols/include/protocol/remote-shell-unstable-v1-server-protocol.h

Issue 2350633002: third_party: Switch to zcr prefix for downstream wayland interfaces. (Closed)
Patch Set: Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
Index: third_party/wayland-protocols/include/protocol/remote-shell-unstable-v1-server-protocol.h
diff --git a/third_party/wayland-protocols/include/protocol/remote-shell-unstable-v1-server-protocol.h b/third_party/wayland-protocols/include/protocol/remote-shell-unstable-v1-server-protocol.h
index 67075749d39a18bf125e0ec382f3f4ee4107b40a..df69f7e08096fb2887844a4c83e2bb27d49038f1 100644
--- a/third_party/wayland-protocols/include/protocol/remote-shell-unstable-v1-server-protocol.h
+++ b/third_party/wayland-protocols/include/protocol/remote-shell-unstable-v1-server-protocol.h
@@ -33,9 +33,12 @@ struct wl_resource;
* 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
+ * - @subpage page_iface_zcr_remote_shell_v1 - remote_shell
+ * - @subpage page_iface_zcr_remote_surface_v1 - A desktop window
+ * - @subpage page_iface_zcr_notification_surface_v1 - A notification window
+ * - @subpage page_iface_zwp_remote_shell_v1 - DEPRECATED
+ * - @subpage page_iface_zwp_remote_surface_v1 - DEPRECATED
+ * - @subpage page_iface_zwp_notification_surface_v1 - DEPRECATED
* @section page_copyright_remote_shell_unstable_v1 Copyright
* <pre>
*
@@ -62,11 +65,84 @@ struct wl_resource;
* </pre>
*/
struct wl_surface;
+struct zcr_notification_surface_v1;
+struct zcr_remote_shell_v1;
+struct zcr_remote_surface_v1;
struct zwp_notification_surface_v1;
struct zwp_remote_shell_v1;
struct zwp_remote_surface_v1;
/**
+ * @page page_iface_zcr_remote_shell_v1 zcr_remote_shell_v1
+ * @section page_iface_zcr_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_zcr_remote_shell_v1_api API
+ * See @ref iface_zcr_remote_shell_v1.
+ */
+/**
+ * @defgroup iface_zcr_remote_shell_v1 The zcr_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 zcr_remote_shell_v1_interface;
+/**
+ * @page page_iface_zcr_remote_surface_v1 zcr_remote_surface_v1
+ * @section page_iface_zcr_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_zcr_remote_surface_v1_api API
+ * See @ref iface_zcr_remote_surface_v1.
+ */
+/**
+ * @defgroup iface_zcr_remote_surface_v1 The zcr_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 zcr_remote_surface_v1_interface;
+/**
+ * @page page_iface_zcr_notification_surface_v1 zcr_notification_surface_v1
+ * @section page_iface_zcr_notification_surface_v1_desc Description
+ *
+ * An interface that may be implemented by a wl_surface to host
+ * notification contents.
+ * @section page_iface_zcr_notification_surface_v1_api API
+ * See @ref iface_zcr_notification_surface_v1.
+ */
+/**
+ * @defgroup iface_zcr_notification_surface_v1 The zcr_notification_surface_v1 interface
+ *
+ * An interface that may be implemented by a wl_surface to host
+ * notification contents.
+ */
+extern const struct wl_interface zcr_notification_surface_v1_interface;
+/**
* @page page_iface_zwp_remote_shell_v1 zwp_remote_shell_v1
* @section page_iface_zwp_remote_shell_v1_desc Description
*
@@ -137,6 +213,458 @@ extern const struct wl_interface zwp_remote_surface_v1_interface;
*/
extern const struct wl_interface zwp_notification_surface_v1_interface;
+#ifndef ZCR_REMOTE_SHELL_V1_CONTAINER_ENUM
+#define ZCR_REMOTE_SHELL_V1_CONTAINER_ENUM
+/**
+ * @ingroup iface_zcr_remote_shell_v1
+ * containers for remote surfaces
+ *
+ * Determine how a remote surface should be stacked relative to other
+ * shell surfaces.
+ */
+enum zcr_remote_shell_v1_container {
+ /**
+ * default container
+ */
+ ZCR_REMOTE_SHELL_V1_CONTAINER_DEFAULT = 1,
+ /**
+ * system modal container
+ */
+ ZCR_REMOTE_SHELL_V1_CONTAINER_OVERLAY = 2,
+};
+#endif /* ZCR_REMOTE_SHELL_V1_CONTAINER_ENUM */
+
+#ifndef ZCR_REMOTE_SHELL_V1_STATE_TYPE_ENUM
+#define ZCR_REMOTE_SHELL_V1_STATE_TYPE_ENUM
+/**
+ * @ingroup iface_zcr_remote_shell_v1
+ * state types for remote surfaces
+ *
+ * Defines common show states for shell surfaces.
+ */
+enum zcr_remote_shell_v1_state_type {
+ /**
+ * normal window state
+ */
+ ZCR_REMOTE_SHELL_V1_STATE_TYPE_NORMAL = 1,
+ /**
+ * minimized window state
+ */
+ ZCR_REMOTE_SHELL_V1_STATE_TYPE_MINIMIZED = 2,
+ /**
+ * maximized window state
+ */
+ ZCR_REMOTE_SHELL_V1_STATE_TYPE_MAXIMIZED = 3,
+ /**
+ * fullscreen window state
+ */
+ ZCR_REMOTE_SHELL_V1_STATE_TYPE_FULLSCREEN = 4,
+ /**
+ * pinned window state
+ */
+ ZCR_REMOTE_SHELL_V1_STATE_TYPE_PINNED = 5,
+ /**
+ * trusted pinned window state
+ */
+ ZCR_REMOTE_SHELL_V1_STATE_TYPE_TRUSTED_PINNED = 6,
+};
+#endif /* ZCR_REMOTE_SHELL_V1_STATE_TYPE_ENUM */
+
+#ifndef ZCR_REMOTE_SHELL_V1_ERROR_ENUM
+#define ZCR_REMOTE_SHELL_V1_ERROR_ENUM
+enum zcr_remote_shell_v1_error {
+ /**
+ * given wl_surface has another role
+ */
+ ZCR_REMOTE_SHELL_V1_ERROR_ROLE = 0,
+ /**
+ * invalid notification id
+ */
+ ZCR_REMOTE_SHELL_V1_ERROR_INVALID_NOTIFICATION_ID = 1,
+};
+#endif /* ZCR_REMOTE_SHELL_V1_ERROR_ENUM */
+
+#ifndef ZCR_REMOTE_SHELL_V1_LAYOUT_MODE_ENUM
+#define ZCR_REMOTE_SHELL_V1_LAYOUT_MODE_ENUM
+/**
+ * @ingroup iface_zcr_remote_shell_v1
+ * the layout mode
+ *
+ * Determine how a client should layout surfaces.
+ */
+enum zcr_remote_shell_v1_layout_mode {
+ /**
+ * multiple windows
+ */
+ ZCR_REMOTE_SHELL_V1_LAYOUT_MODE_WINDOWED = 1,
+ /**
+ * restricted mode for tablet
+ */
+ ZCR_REMOTE_SHELL_V1_LAYOUT_MODE_TABLET = 2,
+};
+#endif /* ZCR_REMOTE_SHELL_V1_LAYOUT_MODE_ENUM */
+
+/**
+ * @ingroup iface_zcr_remote_shell_v1
+ * @struct zcr_remote_shell_v1_interface
+ */
+struct zcr_remote_shell_v1_interface {
+ /**
+ * destroy remote_shell
+ *
+ * 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.
+ */
+ void (*destroy)(struct wl_client *client,
+ struct wl_resource *resource);
+ /**
+ * create a remote shell surface from a surface
+ *
+ * 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.
+ */
+ void (*get_remote_surface)(struct wl_client *client,
+ struct wl_resource *resource,
+ uint32_t id,
+ struct wl_resource *surface,
+ uint32_t container);
+ /**
+ * create a notification surface from a surface
+ *
+ * Creates a notification_surface for the given surface, gives it
+ * the notification_surface role and associated it with a
+ * notification id.
+ */
+ void (*get_notification_surface)(struct wl_client *client,
+ struct wl_resource *resource,
+ uint32_t id,
+ struct wl_resource *surface,
+ const char *notification_id);
+};
+
+#define ZCR_REMOTE_SHELL_V1_ACTIVATED 0
+#define ZCR_REMOTE_SHELL_V1_CONFIGURATION_CHANGED 1
+
+/**
+ * @ingroup iface_zcr_remote_shell_v1
+ */
+#define ZCR_REMOTE_SHELL_V1_ACTIVATED_SINCE_VERSION 1
+/**
+ * @ingroup iface_zcr_remote_shell_v1
+ */
+#define ZCR_REMOTE_SHELL_V1_CONFIGURATION_CHANGED_SINCE_VERSION 1
+
+/**
+ * @ingroup iface_zcr_remote_shell_v1
+ * Sends an activated event to the client owning the resource.
+ * @param resource_ The client's resource
+ */
+static inline void
+zcr_remote_shell_v1_send_activated(struct wl_resource *resource_, struct wl_resource *gained_active, struct wl_resource *lost_active)
+{
+ wl_resource_post_event(resource_, ZCR_REMOTE_SHELL_V1_ACTIVATED, gained_active, lost_active);
+}
+
+/**
+ * @ingroup iface_zcr_remote_shell_v1
+ * Sends an configuration_changed event to the client owning the resource.
+ * @param resource_ The client's resource
+ */
+static inline void
+zcr_remote_shell_v1_send_configuration_changed(struct wl_resource *resource_, int32_t width, int32_t height, int32_t transform, wl_fixed_t scale_factor, int32_t work_area_inset_left, int32_t work_area_inset_top, int32_t work_area_inset_right, int32_t work_area_inset_bottom, uint32_t layout_mode)
+{
+ wl_resource_post_event(resource_, ZCR_REMOTE_SHELL_V1_CONFIGURATION_CHANGED, width, height, transform, scale_factor, work_area_inset_left, work_area_inset_top, work_area_inset_right, work_area_inset_bottom, layout_mode);
+}
+
+/**
+ * @ingroup iface_zcr_remote_surface_v1
+ * @struct zcr_remote_surface_v1_interface
+ */
+struct zcr_remote_surface_v1_interface {
+ /**
+ * Destroy the remote_surface
+ *
+ * Unmap and destroy the window. The window will be effectively
+ * hidden from the user's point of view, and all state will be
+ * lost.
+ */
+ void (*destroy)(struct wl_client *client,
+ struct wl_resource *resource);
+ /**
+ * set application ID
+ *
+ * Set an application identifier for the surface.
+ */
+ void (*set_app_id)(struct wl_client *client,
+ struct wl_resource *resource,
+ const char *app_id);
+ /**
+ * set the new window geometry
+ *
+ * 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.
+ */
+ void (*set_window_geometry)(struct wl_client *client,
+ struct wl_resource *resource,
+ int32_t x,
+ int32_t y,
+ int32_t width,
+ int32_t height);
+ /**
+ * set scale
+ *
+ * Set a scale factor that will be applied to surface and all
+ * descendants.
+ */
+ void (*set_scale)(struct wl_client *client,
+ struct wl_resource *resource,
+ wl_fixed_t scale);
+ /**
+ * set a rectangular shadow
+ *
+ * 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.
+ */
+ void (*set_rectangular_shadow)(struct wl_client *client,
+ struct wl_resource *resource,
+ int32_t x,
+ int32_t y,
+ int32_t width,
+ int32_t height);
+ /**
+ * suggests the window's background opacity
+ *
+ * Suggests the window's background opacity when the shadow is
+ * requested.
+ */
+ void (*set_rectangular_shadow_background_opacity)(struct wl_client *client,
+ struct wl_resource *resource,
+ wl_fixed_t opacity);
+ /**
+ * set surface title
+ *
+ * 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.
+ */
+ void (*set_title)(struct wl_client *client,
+ struct wl_resource *resource,
+ const char *title);
+ /**
+ * set top inset for surface
+ *
+ * Set distance from the top of the surface to the contents.
+ *
+ * This distance typically represents the size of the window
+ * caption.
+ */
+ void (*set_top_inset)(struct wl_client *client,
+ struct wl_resource *resource,
+ int32_t height);
+ /**
+ * make the surface active
+ *
+ * Make the surface active and bring it to the front.
+ * @param serial the serial of the user event
+ */
+ void (*activate)(struct wl_client *client,
+ struct wl_resource *resource,
+ uint32_t serial);
+ /**
+ * maximize
+ *
+ * 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.
+ */
+ void (*maximize)(struct wl_client *client,
+ struct wl_resource *resource);
+ /**
+ * minimize
+ *
+ * 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.
+ */
+ void (*minimize)(struct wl_client *client,
+ struct wl_resource *resource);
+ /**
+ * restore
+ *
+ * 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.
+ */
+ void (*restore)(struct wl_client *client,
+ struct wl_resource *resource);
+ /**
+ * fullscreen
+ *
+ * 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.
+ */
+ void (*fullscreen)(struct wl_client *client,
+ struct wl_resource *resource);
+ /**
+ * unfullscreen
+ *
+ * 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.
+ */
+ void (*unfullscreen)(struct wl_client *client,
+ struct wl_resource *resource);
+ /**
+ * pin
+ *
+ * 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 state_changed events to determine if the window was
+ * pinned or not. If trusted flag is non-zero, the app can prevent
+ * users from exiting the pinned mode.
+ */
+ void (*pin)(struct wl_client *client,
+ struct wl_resource *resource,
+ int32_t trusted);
+ /**
+ * unpin
+ *
+ * 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.
+ */
+ void (*unpin)(struct wl_client *client,
+ struct wl_resource *resource);
+ /**
+ * suggests a re-layout of remote shell input area
+ *
+ * Suggests a surface should become system modal.
+ */
+ void (*set_system_modal)(struct wl_client *client,
+ struct wl_resource *resource);
+ /**
+ * suggests a re-layout of remote shell input area
+ *
+ * Suggests a surface should become non system modal.
+ */
+ void (*unset_system_modal)(struct wl_client *client,
+ struct wl_resource *resource);
+};
+
+#define ZCR_REMOTE_SURFACE_V1_CLOSE 0
+#define ZCR_REMOTE_SURFACE_V1_STATE_TYPE_CHANGED 1
+
+/**
+ * @ingroup iface_zcr_remote_surface_v1
+ */
+#define ZCR_REMOTE_SURFACE_V1_CLOSE_SINCE_VERSION 1
+/**
+ * @ingroup iface_zcr_remote_surface_v1
+ */
+#define ZCR_REMOTE_SURFACE_V1_STATE_TYPE_CHANGED_SINCE_VERSION 1
+
+/**
+ * @ingroup iface_zcr_remote_surface_v1
+ * Sends an close event to the client owning the resource.
+ * @param resource_ The client's resource
+ */
+static inline void
+zcr_remote_surface_v1_send_close(struct wl_resource *resource_)
+{
+ wl_resource_post_event(resource_, ZCR_REMOTE_SURFACE_V1_CLOSE);
+}
+
+/**
+ * @ingroup iface_zcr_remote_surface_v1
+ * Sends an state_type_changed event to the client owning the resource.
+ * @param resource_ The client's resource
+ */
+static inline void
+zcr_remote_surface_v1_send_state_type_changed(struct wl_resource *resource_, uint32_t state_type)
+{
+ wl_resource_post_event(resource_, ZCR_REMOTE_SURFACE_V1_STATE_TYPE_CHANGED, state_type);
+}
+
+/**
+ * @ingroup iface_zcr_notification_surface_v1
+ * @struct zcr_notification_surface_v1_interface
+ */
+struct zcr_notification_surface_v1_interface {
+ /**
+ * Destroy the notification_surface
+ *
+ * Unmap and destroy the notification surface.
+ */
+ void (*destroy)(struct wl_client *client,
+ struct wl_resource *resource);
+};
+
+
#ifndef ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM
#define ZWP_REMOTE_SHELL_V1_CONTAINER_ENUM
/**

Powered by Google App Engine
This is Rietveld 408576698