From abda6619ff7b0e11b1e2e352b2563c52336bc657 Mon Sep 17 00:00:00 2001 From: Victoria Brekenfeld Date: Mon, 20 Jan 2025 18:25:01 +0100 Subject: [PATCH] render/cursor: Follow selected scale instead of wanted scale --- src/backend/render/cursor.rs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/backend/render/cursor.rs b/src/backend/render/cursor.rs index dc98ae4a..ad5c6f99 100644 --- a/src/backend/render/cursor.rs +++ b/src/backend/render/cursor.rs @@ -217,6 +217,10 @@ impl CursorStateInner { .entry(shape) .or_insert_with(|| Cursor::load(&self.cursor_theme, shape, self.cursor_size)) } + + pub fn size(&self) -> u32 { + self.cursor_size + } } pub fn load_cursor_theme() -> (CursorTheme, u32) { @@ -292,6 +296,7 @@ where let frame = state .get_named_cursor(current_cursor) .get_image(integer_scale, time.as_millis()); + let actual_scale = (frame.size / state.size()).max(1); let pointer_images = &mut state.image_cache; let maybe_image = @@ -305,7 +310,7 @@ where &frame.pixels_rgba, Fourcc::Argb8888, (frame.width as i32, frame.height as i32), - integer_scale as i32, + actual_scale as i32, Transform::Normal, None, );