From 982a2d0c99f4128a7cf2236ca190dd9b4e6d7828 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 16 Aug 2018 22:41:10 +1000 Subject: Fix geometry --- sway/desktop/output.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'sway/desktop/output.c') diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 66747a3f..cb0b4a07 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -140,12 +140,16 @@ void output_surface_for_each_surface(struct sway_output *output, void output_view_for_each_surface(struct sway_output *output, struct sway_view *view, sway_surface_iterator_func_t iterator, void *user_data) { + struct wlr_box geometry; + view_get_geometry(view, &geometry); struct surface_iterator_data data = { .user_iterator = iterator, .user_data = user_data, .output = output, - .ox = view->swayc->current.view_x - output->swayc->current.swayc_x, - .oy = view->swayc->current.view_y - output->swayc->current.swayc_y, + .ox = view->swayc->current.view_x - output->swayc->current.swayc_x + - geometry.x, + .oy = view->swayc->current.view_y - output->swayc->current.swayc_y + - geometry.y, .width = view->swayc->current.view_width, .height = view->swayc->current.view_height, .rotation = 0, // TODO -- cgit v1.2.3 From b0a5f3a25f52bc1d48d771cb02820042006d8d9e Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 18 Aug 2018 15:10:06 +1000 Subject: Store geometry in the view and handle any floating view resizing --- sway/desktop/output.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'sway/desktop/output.c') diff --git a/sway/desktop/output.c b/sway/desktop/output.c index cb0b4a07..b4564fac 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -140,23 +140,20 @@ void output_surface_for_each_surface(struct sway_output *output, void output_view_for_each_surface(struct sway_output *output, struct sway_view *view, sway_surface_iterator_func_t iterator, void *user_data) { - struct wlr_box geometry; - view_get_geometry(view, &geometry); struct surface_iterator_data data = { .user_iterator = iterator, .user_data = user_data, .output = output, .ox = view->swayc->current.view_x - output->swayc->current.swayc_x - - geometry.x, + - view->geometry.x, .oy = view->swayc->current.view_y - output->swayc->current.swayc_y - - geometry.y, + - view->geometry.y, .width = view->swayc->current.view_width, .height = view->swayc->current.view_height, .rotation = 0, // TODO }; - view_for_each_surface(view, - output_for_each_surface_iterator, &data); + view_for_each_surface(view, output_for_each_surface_iterator, &data); } void output_view_for_each_popup(struct sway_output *output, -- cgit v1.2.3