[mutter] window: Change meta_window_move_resize_internal to take a MetaRectangle
- From: Jasper St. Pierre <jstpierre src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] window: Change meta_window_move_resize_internal to take a MetaRectangle
- Date: Thu, 1 May 2014 23:51:08 +0000 (UTC)
commit 43d6088ebbfbb399b53f0019ff0d81456e45f14d
Author: Jasper St. Pierre <jstpierre mecheye net>
Date: Thu May 1 19:09:13 2014 -0400
window: Change meta_window_move_resize_internal to take a MetaRectangle
We construct one anyway, and most callers already pass in a rectangle
the long way around, so why not change the internal API?
src/core/window-private.h | 5 +--
src/core/window.c | 72 ++++++++++++++++++-----------------------
src/wayland/window-wayland.c | 23 +++++++------
src/x11/window-x11.c | 9 ++---
4 files changed, 49 insertions(+), 60 deletions(-)
---
diff --git a/src/core/window-private.h b/src/core/window-private.h
index 315d303..35c5f36 100644
--- a/src/core/window-private.h
+++ b/src/core/window-private.h
@@ -741,10 +741,7 @@ void meta_window_update_resize (MetaWindow *window,
void meta_window_move_resize_internal (MetaWindow *window,
MetaMoveResizeFlags flags,
int gravity,
- int root_x_nw,
- int root_y_nw,
- int w,
- int h);
+ MetaRectangle client_rect);
void meta_window_save_user_window_placement (MetaWindow *window);
void meta_window_grab_op_began (MetaWindow *window, MetaGrabOp op);
diff --git a/src/core/window.c b/src/core/window.c
index a530b60..315aeae 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -3223,10 +3223,7 @@ meta_window_unmaximize_internal (MetaWindow *window,
meta_window_move_resize_internal (window,
META_IS_MOVE_ACTION | META_IS_RESIZE_ACTION,
gravity,
- target_rect.x,
- target_rect.y,
- target_rect.width,
- target_rect.height);
+ target_rect);
meta_window_get_frame_rect (window, &new_rect);
meta_compositor_unmaximize_window (window->display->compositor,
@@ -3769,18 +3766,12 @@ void
meta_window_move_resize_internal (MetaWindow *window,
MetaMoveResizeFlags flags,
int gravity,
- int root_x_nw,
- int root_y_nw,
- int w,
- int h)
+ MetaRectangle client_rect)
{
/* The rectangle here that's passed in is always the root position
* of the client window. For undecorated or client-decorated windows,
* this is the root position of the X11 window. For server-decorated
* windows, this is the root position of the client area of the window.
- *
- * Similarly, the width and height passed in are in client window
- * coordinates as well.
*/
gboolean is_user_action;
gboolean did_placement;
@@ -3813,14 +3804,13 @@ meta_window_move_resize_internal (MetaWindow *window,
{
meta_rectangle_resize_with_gravity (&old_rect,
&requested_rect,
- gravity, w, h);
+ gravity,
+ client_rect.width,
+ client_rect.height);
}
else
{
- requested_rect.x = root_x_nw;
- requested_rect.y = root_y_nw;
- requested_rect.width = w;
- requested_rect.height = h;
+ requested_rect = client_rect;
}
new_rect = requested_rect;
@@ -3898,18 +3888,17 @@ meta_window_resize (MetaWindow *window,
int w,
int h)
{
- int x, y;
MetaMoveResizeFlags flags;
+ MetaRectangle rect;
g_return_if_fail (!window->override_redirect);
- meta_window_get_position (window, &x, &y);
-
flags = (user_op ? META_IS_USER_ACTION : 0) | META_IS_RESIZE_ACTION;
- meta_window_move_resize_internal (window,
- flags,
- NorthWestGravity,
- x, y, w, h);
+
+ rect.width = w;
+ rect.height = h;
+
+ meta_window_move_resize_internal (window, flags, NorthWestGravity, rect);
}
/**
@@ -3931,18 +3920,20 @@ meta_window_move (MetaWindow *window,
int root_y_nw)
{
MetaMoveResizeFlags flags;
+ MetaRectangle rect;
g_return_if_fail (!window->override_redirect);
flags = (user_op ? META_IS_USER_ACTION : 0) | META_IS_MOVE_ACTION;
- meta_window_move_resize_internal (window,
- flags,
- NorthWestGravity,
- root_x_nw, root_y_nw,
- window->rect.width,
- window->rect.height);
+ rect.x = root_x_nw;
+ rect.y = root_y_nw;
+ rect.width = window->rect.width;
+ rect.height = window->rect.height;
+
+ meta_window_move_resize_internal (window, flags, NorthWestGravity, rect);
}
+
/**
* meta_window_move_frame:
* @window: a #MetaWindow
@@ -4060,16 +4051,19 @@ meta_window_move_resize (MetaWindow *window,
int h)
{
MetaMoveResizeFlags flags;
+ MetaRectangle rect;
g_return_if_fail (!window->override_redirect);
flags = (user_op ? META_IS_USER_ACTION : 0) |
META_IS_MOVE_ACTION | META_IS_RESIZE_ACTION;
- meta_window_move_resize_internal (window,
- flags,
- NorthWestGravity,
- root_x_nw, root_y_nw,
- w, h);
+
+ rect.x = root_x_nw;
+ rect.y = root_y_nw;
+ rect.width = w;
+ rect.height = h;
+
+ meta_window_move_resize_internal (window, flags, NorthWestGravity, rect);
}
void
@@ -4079,16 +4073,14 @@ meta_window_resize_with_gravity (MetaWindow *window,
int h,
int gravity)
{
- int x, y;
MetaMoveResizeFlags flags;
+ MetaRectangle rect;
- meta_window_get_position (window, &x, &y);
+ rect.width = w;
+ rect.height = h;
flags = (user_op ? META_IS_USER_ACTION : 0) | META_IS_RESIZE_ACTION;
- meta_window_move_resize_internal (window,
- flags,
- gravity,
- x, y, w, h);
+ meta_window_move_resize_internal (window, flags, gravity, rect);
}
static void
diff --git a/src/wayland/window-wayland.c b/src/wayland/window-wayland.c
index 0e6e9b7..0e4f43e 100644
--- a/src/wayland/window-wayland.c
+++ b/src/wayland/window-wayland.c
@@ -217,7 +217,8 @@ meta_window_wayland_move_resize (MetaWindow *window,
int dy)
{
MetaWindowWayland *wl_window = META_WINDOW_WAYLAND (window);
- int x, y;
+ int gravity;
+ MetaRectangle rect;
MetaMoveResizeFlags flags;
flags = META_IS_WAYLAND_RESIZE;
@@ -227,29 +228,31 @@ meta_window_wayland_move_resize (MetaWindow *window,
{
if (wl_window->has_saved_pos)
{
- x = wl_window->saved_x;
- y = wl_window->saved_y;
+ rect.x = wl_window->saved_x;
+ rect.y = wl_window->saved_y;
wl_window->has_saved_pos = FALSE;
flags |= META_IS_MOVE_ACTION;
}
else
{
- meta_window_get_position (window, &x, &y);
+ meta_window_get_position (window, &rect.x, &rect.y);
}
if (dx != 0 || dy != 0)
{
- x += dx;
- y += dy;
+ rect.x += dx;
+ rect.y += dy;
flags |= META_IS_MOVE_ACTION;
}
}
- if (width != window->rect.width || height != window->rect.height)
+ rect.width = width;
+ rect.height = height;
+
+ if (rect.width != window->rect.width || rect.height != window->rect.height)
flags |= META_IS_RESIZE_ACTION;
- meta_window_move_resize_internal (window, flags,
- meta_resize_gravity_from_grab_op (window->display->grab_op),
- x, y, width, height);
+ gravity = meta_resize_gravity_from_grab_op (window->display->grab_op);
+ meta_window_move_resize_internal (window, flags, gravity, rect);
meta_window_save_user_window_placement (window);
}
diff --git a/src/x11/window-x11.c b/src/x11/window-x11.c
index cca33d8..9fc09d4 100644
--- a/src/x11/window-x11.c
+++ b/src/x11/window-x11.c
@@ -488,8 +488,7 @@ meta_window_apply_session_info (MetaWindow *window,
flags = META_IS_MOVE_ACTION | META_IS_RESIZE_ACTION;
adjust_for_gravity (window, FALSE, gravity, &rect);
- meta_window_move_resize_internal (window, flags, gravity,
- rect.x, rect.y, rect.width, rect.height);
+ meta_window_move_resize_internal (window, flags, gravity, rect);
}
}
@@ -544,8 +543,7 @@ meta_window_x11_manage (MetaWindow *window)
rect.height = window->size_hints.height;
adjust_for_gravity (window, TRUE, gravity, &rect);
- meta_window_move_resize_internal (window, flags, gravity,
- rect.x, rect.y, rect.width, rect.height);
+ meta_window_move_resize_internal (window, flags, gravity, rect);
}
}
@@ -2079,8 +2077,7 @@ meta_window_move_resize_request (MetaWindow *window,
rect.height = height;
adjust_for_gravity (window, TRUE, gravity, &rect);
- meta_window_move_resize_internal (window, flags, gravity,
- rect.x, rect.y, rect.width, rect.height);
+ meta_window_move_resize_internal (window, flags, gravity, rect);
}
/* window->user_rect exists to allow "snapping-back" the window if a
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]