diff options
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r-- | sway/desktop/output.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index adc1ee10..fc52dd28 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c | |||
@@ -223,11 +223,15 @@ void output_drag_icons_for_each_surface(struct sway_output *output, | |||
223 | } | 223 | } |
224 | } | 224 | } |
225 | 225 | ||
226 | static int scale_length(int length, int offset, float scale) { | ||
227 | return round((offset + length) * scale) - round(offset * scale); | ||
228 | } | ||
229 | |||
226 | static void scale_box(struct wlr_box *box, float scale) { | 230 | static void scale_box(struct wlr_box *box, float scale) { |
227 | box->x *= scale; | 231 | box->width = scale_length(box->width, box->x, scale); |
228 | box->y *= scale; | 232 | box->height = scale_length(box->height, box->y, scale); |
229 | box->width *= scale; | 233 | box->x = round(box->x * scale); |
230 | box->height *= scale; | 234 | box->y = round(box->y * scale); |
231 | } | 235 | } |
232 | 236 | ||
233 | struct sway_workspace *output_get_active_workspace(struct sway_output *output) { | 237 | struct sway_workspace *output_get_active_workspace(struct sway_output *output) { |