From: Johan Malm Date: Tue, 22 Dec 2020 20:35:06 +0000 (+0000) Subject: Refactor view_move_resize() X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=e0770a5672999576750c6bea2bc36901feb7a4f3;p=proto%2Flabwc.git Refactor view_move_resize() --- diff --git a/include/labwc.h b/include/labwc.h index 46121507..0c9993c7 100644 --- a/include/labwc.h +++ b/include/labwc.h @@ -222,7 +222,7 @@ void xwayland_unmanaged_create(struct server *server, */ struct wlr_box view_get_surface_geometry(struct view *view); struct wlr_box view_geometry(struct view *view); -void view_resize(struct view *view, struct wlr_box geo); +void view_move_resize(struct view *view, struct wlr_box geo); void view_minimize(struct view *view); void view_unminimize(struct view *view); void view_for_each_surface(struct view *view, diff --git a/src/cursor.c b/src/cursor.c index 4890c9ce..5ad5e7cb 100644 --- a/src/cursor.c +++ b/src/cursor.c @@ -116,14 +116,9 @@ process_cursor_resize(struct server *server, uint32_t time) return; } - /* Move */ - view->x = new_view_geo.x; - view->y = new_view_geo.y; - - /* Resize */ new_view_geo.width -= 2 * view->xdg_grab_offset; new_view_geo.height -= 2 * view->xdg_grab_offset; - view_resize(view, new_view_geo); + view_move_resize(view, new_view_geo); } static void diff --git a/src/view.c b/src/view.c index a21e2407..e3d6991a 100644 --- a/src/view.c +++ b/src/view.c @@ -1,15 +1,9 @@ #include "labwc.h" void -view_resize(struct view *view, struct wlr_box geo) +view_move_resize(struct view *view, struct wlr_box geo) { - struct wlr_box box = { - .x = view->x, - .y = view->y, - .width = geo.width, - .height = geo.height, - }; - view->impl->configure(view, box); + view->impl->configure(view, geo); } void diff --git a/src/xdg.c b/src/xdg.c index b887d0c2..81a296d1 100644 --- a/src/xdg.c +++ b/src/xdg.c @@ -133,6 +133,8 @@ handle_request_resize(struct wl_listener *listener, void *data) static void xdg_toplevel_view_configure(struct view *view, struct wlr_box geo) { + view->x = geo.x; + view->y = geo.y; wlr_xdg_toplevel_set_size(view->xdg_surface, (uint32_t)geo.width, (uint32_t)geo.height); } diff --git a/src/xwayland.c b/src/xwayland.c index 9a6e1be5..5bab4175 100644 --- a/src/xwayland.c +++ b/src/xwayland.c @@ -50,6 +50,8 @@ handle_request_configure(struct wl_listener *listener, void *data) static void configure(struct view *view, struct wlr_box geo) { + view->x = geo.x; + view->y = geo.y; wlr_xwayland_surface_configure(view->xwayland_surface, (int16_t)geo.x, (int16_t)geo.y, (uint16_t)geo.width, (uint16_t)geo.height);