diff options
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.patch | 171 |
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 - |