summaryrefslogtreecommitdiffstats
path: root/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch')
-rw-r--r--meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch171
1 files changed, 0 insertions, 171 deletions
diff --git a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch b/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch
deleted file mode 100644
index 02349c098..000000000
--- a/meta-agl-core/recipes-graphics/wayland/weston/0001-libweston-desktop-xdg-shell-Add-tiled-orientation-st.patch
+++ /dev/null
@@ -1,171 +0,0 @@
-From 6ab4713d3eba589aa1f39eee2b48c81906d7ba87 Mon Sep 17 00:00:00 2001
-From: Marius Vlad <marius.vlad@collabora.com>
-Date: Tue, 16 Aug 2022 13:34:19 +0300
-Subject: [PATCH] libweston/desktop/xdg-shell: Add tiled orientation states
-
-With the help of a newly introduced function, weston_desktop_surface_set_orientation(),
-this patch adds missing tiled states from the xdg-shell protocol.
-The orientation state is passed on as a bitmask enumeration flag, which the
-shell can set, allowing multiple tiling states at once.
-
-These new states are incorporated the same way as the others, retaining
-the set state, but also avoiding sending new configure events if nothing
-changed since previously acked data.
-
-Upstream-Status: Pending
-
-Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
-(cherry-picked from 37a3025d893def991dec59587d17672aa3bf967a)
-
-Note that this was actually ported because libweston-desktop is not
-embedded into libweston and the structure changed in upstream.
----
- include/libweston-desktop/libweston-desktop.h | 11 ++++++
- libweston-desktop/internal.h | 2 +
- libweston-desktop/surface.c | 10 +++++
- libweston-desktop/xdg-shell.c | 38 +++++++++++++++++++
- 4 files changed, 61 insertions(+)
-
-diff --git a/include/libweston-desktop/libweston-desktop.h b/include/libweston-desktop/libweston-desktop.h
-index 3e7ac73..c296d16 100644
---- a/include/libweston-desktop/libweston-desktop.h
-+++ b/include/libweston-desktop/libweston-desktop.h
-@@ -44,6 +44,14 @@ enum weston_desktop_surface_edge {
- WESTON_DESKTOP_SURFACE_EDGE_BOTTOM_RIGHT = 10,
- };
-
-+enum weston_top_level_tiled_orientation {
-+ WESTON_TOP_LEVEL_TILED_ORIENTATION_NONE = 0 << 0,
-+ WESTON_TOP_LEVEL_TILED_ORIENTATION_LEFT = 1 << 1,
-+ WESTON_TOP_LEVEL_TILED_ORIENTATION_RIGHT = 1 << 2,
-+ WESTON_TOP_LEVEL_TILED_ORIENTATION_TOP = 1 << 3,
-+ WESTON_TOP_LEVEL_TILED_ORIENTATION_BOTTOM = 1 << 4,
-+};
-+
- struct weston_desktop;
- struct weston_desktop_client;
- struct weston_desktop_surface;
-@@ -163,6 +171,9 @@ void
- weston_desktop_surface_set_size(struct weston_desktop_surface *surface,
- int32_t width, int32_t height);
- void
-+weston_desktop_surface_set_orientation(struct weston_desktop_surface *surface,
-+ enum weston_top_level_tiled_orientation tile_orientation);
-+void
- weston_desktop_surface_close(struct weston_desktop_surface *surface);
- void
- weston_desktop_surface_add_metadata_listener(struct weston_desktop_surface *surface,
-diff --git a/libweston-desktop/internal.h b/libweston-desktop/internal.h
-index 2606d27..8afdede 100644
---- a/libweston-desktop/internal.h
-+++ b/libweston-desktop/internal.h
-@@ -100,6 +100,8 @@ struct weston_desktop_surface_implementation {
- void *user_data, bool resizing);
- void (*set_size)(struct weston_desktop_surface *surface,
- void *user_data, int32_t width, int32_t height);
-+ void (*set_orientation)(struct weston_desktop_surface *surface,
-+ void *user_data, enum weston_top_level_tiled_orientation tiled_orientation);
- void (*committed)(struct weston_desktop_surface *surface, void *user_data,
- int32_t sx, int32_t sy);
- void (*update_position)(struct weston_desktop_surface *surface,
-diff --git a/libweston-desktop/surface.c b/libweston-desktop/surface.c
-index 433f08a..6b3f4ae 100644
---- a/libweston-desktop/surface.c
-+++ b/libweston-desktop/surface.c
-@@ -506,6 +506,16 @@ weston_desktop_surface_set_size(struct weston_desktop_surface *surface, int32_t
- width, height);
- }
-
-+WL_EXPORT void
-+weston_desktop_surface_set_orientation(struct weston_desktop_surface *surface,
-+ enum weston_top_level_tiled_orientation tile_orientation)
-+{
-+ if (surface->implementation->set_orientation != NULL)
-+ surface->implementation->set_orientation(surface,
-+ surface->implementation_data,
-+ tile_orientation);
-+}
-+
- WL_EXPORT void
- weston_desktop_surface_close(struct weston_desktop_surface *surface)
- {
-diff --git a/libweston-desktop/xdg-shell.c b/libweston-desktop/xdg-shell.c
-index ff76c39..1e49147 100644
---- a/libweston-desktop/xdg-shell.c
-+++ b/libweston-desktop/xdg-shell.c
-@@ -94,6 +94,7 @@ struct weston_desktop_xdg_toplevel_state {
- bool fullscreen;
- bool resizing;
- bool activated;
-+ uint32_t tiled_orientation;
- };
-
- struct weston_desktop_xdg_toplevel_configure {
-@@ -624,6 +625,29 @@ weston_desktop_xdg_toplevel_send_configure(struct weston_desktop_xdg_toplevel *t
- s = wl_array_add(&states, sizeof(uint32_t));
- *s = XDG_TOPLEVEL_STATE_ACTIVATED;
- }
-+ if (toplevel->pending.state.tiled_orientation &
-+ WESTON_TOP_LEVEL_TILED_ORIENTATION_LEFT) {
-+ s = wl_array_add(&states, sizeof(uint32_t));
-+ *s = XDG_TOPLEVEL_STATE_TILED_LEFT;
-+ }
-+
-+ if (toplevel->pending.state.tiled_orientation &
-+ WESTON_TOP_LEVEL_TILED_ORIENTATION_RIGHT) {
-+ s = wl_array_add(&states, sizeof(uint32_t));
-+ *s = XDG_TOPLEVEL_STATE_TILED_RIGHT;
-+ }
-+
-+ if (toplevel->pending.state.tiled_orientation &
-+ WESTON_TOP_LEVEL_TILED_ORIENTATION_TOP) {
-+ s = wl_array_add(&states, sizeof(uint32_t));
-+ *s = XDG_TOPLEVEL_STATE_TILED_TOP;
-+ }
-+
-+ if (toplevel->pending.state.tiled_orientation &
-+ WESTON_TOP_LEVEL_TILED_ORIENTATION_BOTTOM) {
-+ s = wl_array_add(&states, sizeof(uint32_t));
-+ *s = XDG_TOPLEVEL_STATE_TILED_BOTTOM;
-+ }
-
- xdg_toplevel_send_configure(toplevel->resource,
- toplevel->pending.size.width,
-@@ -686,6 +710,16 @@ weston_desktop_xdg_toplevel_set_size(struct weston_desktop_surface *dsurface,
- weston_desktop_xdg_surface_schedule_configure(&toplevel->base);
- }
-
-+static void
-+weston_desktop_xdg_toplevel_set_orientation(struct weston_desktop_surface *surface, void *user_data,
-+ enum weston_top_level_tiled_orientation tiled_orientation)
-+{
-+ struct weston_desktop_xdg_toplevel *toplevel = user_data;
-+
-+ toplevel->pending.state.tiled_orientation = tiled_orientation;
-+ weston_desktop_xdg_surface_schedule_configure(&toplevel->base);
-+}
-+
- static void
- weston_desktop_xdg_toplevel_committed(struct weston_desktop_xdg_toplevel *toplevel,
- int32_t sx, int32_t sy)
-@@ -1096,6 +1130,9 @@ weston_desktop_xdg_toplevel_state_compare(struct weston_desktop_xdg_toplevel *to
- return false;
- if (toplevel->pending.state.resizing != configured.state.resizing)
- return false;
-+ if (toplevel->pending.state.tiled_orientation !=
-+ configured.state.tiled_orientation)
-+ return false;
-
- if (toplevel->pending.size.width == configured.size.width &&
- toplevel->pending.size.height == configured.size.height)
-@@ -1440,6 +1477,7 @@ static const struct weston_desktop_surface_implementation weston_desktop_xdg_sur
- .set_resizing = weston_desktop_xdg_toplevel_set_resizing,
- .set_activated = weston_desktop_xdg_toplevel_set_activated,
- .set_size = weston_desktop_xdg_toplevel_set_size,
-+ .set_orientation = weston_desktop_xdg_toplevel_set_orientation,
-
- .get_maximized = weston_desktop_xdg_toplevel_get_maximized,
- .get_fullscreen = weston_desktop_xdg_toplevel_get_fullscreen,
---
-2.35.1
-