[mutter] window/wayland: Pass x,y,width,height as rectangle
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window/wayland: Pass x,y,width,height as rectangle
- Date: Fri, 4 Mar 2022 15:42:24 +0000 (UTC)
commit 213f0d8dd3aaa4fd24bd0eca228c5581ab7f4f9d
Author: Jonas Ã…dahl <jadahl gmail com>
Date: Fri Dec 17 16:31:48 2021 +0100
window/wayland: Pass x,y,width,height as rectangle
Will make the number of variables a bit more managable.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2167>
src/wayland/meta-wayland-window-configuration.c | 21 ++++++--------
src/wayland/meta-wayland-window-configuration.h | 5 +---
src/wayland/meta-window-wayland.c | 37 ++++++++-----------------
3 files changed, 21 insertions(+), 42 deletions(-)
---
diff --git a/src/wayland/meta-wayland-window-configuration.c b/src/wayland/meta-wayland-window-configuration.c
index 8349d2ac3b..c1712136fb 100644
--- a/src/wayland/meta-wayland-window-configuration.c
+++ b/src/wayland/meta-wayland-window-configuration.c
@@ -42,10 +42,7 @@ is_window_size_fixed (MetaWindow *window)
MetaWaylandWindowConfiguration *
meta_wayland_window_configuration_new (MetaWindow *window,
- int x,
- int y,
- int width,
- int height,
+ MetaRectangle rect,
int scale,
MetaMoveResizeFlags flags,
MetaGravity gravity)
@@ -62,22 +59,22 @@ meta_wayland_window_configuration_new (MetaWindow *window,
};
if (flags & META_MOVE_RESIZE_MOVE_ACTION ||
- window->rect.x != x ||
- window->rect.y != y)
+ window->rect.x != rect.x ||
+ window->rect.y != rect.y)
{
configuration->has_position = TRUE;
- configuration->x = x;
- configuration->y = y;
+ configuration->x = rect.x;
+ configuration->y = rect.y;
}
if (flags & META_MOVE_RESIZE_RESIZE_ACTION ||
is_window_size_fixed (window) ||
- window->rect.width != width ||
- window->rect.height != height)
+ window->rect.width != rect.width ||
+ window->rect.height != rect.height)
{
configuration->has_size = TRUE;
- configuration->width = width;
- configuration->height = height;
+ configuration->width = rect.width;
+ configuration->height = rect.height;
}
return configuration;
diff --git a/src/wayland/meta-wayland-window-configuration.h b/src/wayland/meta-wayland-window-configuration.h
index b3211d1ad0..7e91a778e9 100644
--- a/src/wayland/meta-wayland-window-configuration.h
+++ b/src/wayland/meta-wayland-window-configuration.h
@@ -49,10 +49,7 @@ struct _MetaWaylandWindowConfiguration
};
MetaWaylandWindowConfiguration * meta_wayland_window_configuration_new (MetaWindow *window,
- int x,
- int y,
- int width,
- int height,
+ MetaRectangle rect,
int scale,
MetaMoveResizeFlags flags,
MetaGravity gravity);
diff --git a/src/wayland/meta-window-wayland.c b/src/wayland/meta-window-wayland.c
index fb7198e8b7..8190a01b46 100644
--- a/src/wayland/meta-window-wayland.c
+++ b/src/wayland/meta-window-wayland.c
@@ -54,10 +54,7 @@ struct _MetaWindowWayland
gboolean has_pending_state_change;
gboolean has_last_sent_configuration;
- int last_sent_x;
- int last_sent_y;
- int last_sent_width;
- int last_sent_height;
+ MetaRectangle last_sent_rect;
int last_sent_rel_x;
int last_sent_rel_y;
int last_sent_geometry_scale;
@@ -193,10 +190,7 @@ surface_state_changed (MetaWindow *window)
configuration =
meta_wayland_window_configuration_new (window,
- wl_window->last_sent_x,
- wl_window->last_sent_y,
- wl_window->last_sent_width,
- wl_window->last_sent_height,
+ wl_window->last_sent_rect,
wl_window->last_sent_geometry_scale,
META_MOVE_RESIZE_STATE_CHANGED,
wl_window->last_sent_gravity);
@@ -237,10 +231,7 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
{
MetaWindowWayland *wl_window = META_WINDOW_WAYLAND (window);
gboolean can_move_now = FALSE;
- int configured_x;
- int configured_y;
- int configured_width;
- int configured_height;
+ MetaRectangle configured_rect;
int geometry_scale;
int new_x;
int new_y;
@@ -253,8 +244,8 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
if (window->unmanaging)
return;
- configured_x = constrained_rect.x;
- configured_y = constrained_rect.y;
+ configured_rect.x = constrained_rect.x;
+ configured_rect.y = constrained_rect.y;
/* The scale the window is drawn in might change depending on what monitor it
* is mainly on. Scale the configured rectangle to be in logical pixel
@@ -262,8 +253,8 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
* to the Wayland surface. */
geometry_scale = meta_window_wayland_get_geometry_scale (window);
- configured_width = constrained_rect.width;
- configured_height = constrained_rect.height;
+ configured_rect.width = constrained_rect.width;
+ configured_rect.height = constrained_rect.height;
/* For wayland clients, the size is completely determined by the client,
* and while this allows to avoid some trickery with frames and the resulting
@@ -323,8 +314,8 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
configuration =
meta_wayland_window_configuration_new_relative (rel_x,
rel_y,
- configured_width,
- configured_height,
+ configured_rect.width,
+ configured_rect.height,
geometry_scale);
meta_window_wayland_configure (wl_window, configuration);
@@ -363,10 +354,7 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
configuration =
meta_wayland_window_configuration_new (window,
- configured_x,
- configured_y,
- configured_width,
- configured_height,
+ configured_rect,
geometry_scale,
flags,
gravity);
@@ -380,10 +368,7 @@ meta_window_wayland_move_resize_internal (MetaWindow *window,
}
wl_window->has_last_sent_configuration = TRUE;
- wl_window->last_sent_x = configured_x;
- wl_window->last_sent_y = configured_y;
- wl_window->last_sent_width = configured_width;
- wl_window->last_sent_height = configured_height;
+ wl_window->last_sent_rect = configured_rect;
wl_window->last_sent_geometry_scale = geometry_scale;
wl_window->last_sent_gravity = gravity;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]