From a0c40f7bba2e9f3ee4f88afce4918698a94173a2 Mon Sep 17 00:00:00 2001 From: Yorick van Pelt Date: Wed, 13 Feb 2019 00:14:12 +0100 Subject: [PATCH] handle scale for output width/height --- main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index c635b62..48e498c 100644 --- a/main.c +++ b/main.c @@ -203,7 +203,6 @@ static void output_handle_mode(void *data, struct wl_output *wl_output, uint32_t flags, int32_t width, int32_t height, int32_t refresh) { struct slurp_output *output = data; - // todo: scale? output->geometry.width = width; output->geometry.height = height; } @@ -214,11 +213,16 @@ static void output_handle_scale(void *data, struct wl_output *wl_output, output->scale = scale; } +static void output_handle_done(void *data, struct wl_output *wl_output) { + struct slurp_output *output = data; + output->geometry.width /= output->scale; + output->geometry.height /= output->scale; +} static const struct wl_output_listener output_listener = { .geometry = output_handle_geometry, .mode = output_handle_mode, - .done = noop, + .done = output_handle_done, .scale = output_handle_scale, };