From 441ef9371e0472fd7c2ad81e6893b93f430d1d30 Mon Sep 17 00:00:00 2001 From: Joshua Simmons Date: Mon, 27 Oct 2025 23:39:38 +0100 Subject: [PATCH] narcissus-app: Add mouse wheel events --- engine/narcissus-app/src/lib.rs | 6 ++++++ engine/narcissus-app/src/sdl.rs | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/engine/narcissus-app/src/lib.rs b/engine/narcissus-app/src/lib.rs index f2c206f..22a49d8 100644 --- a/engine/narcissus-app/src/lib.rs +++ b/engine/narcissus-app/src/lib.rs @@ -68,6 +68,12 @@ pub enum Event { y: f32, }, + MouseWheel { + window_id: WindowId, + x: f32, + y: f32, + }, + /// A window has gained mouse focus. MouseEnter { window_id: WindowId, diff --git a/engine/narcissus-app/src/sdl.rs b/engine/narcissus-app/src/sdl.rs index 542b36f..e68e007 100644 --- a/engine/narcissus-app/src/sdl.rs +++ b/engine/narcissus-app/src/sdl.rs @@ -14,7 +14,7 @@ use narcissus_core::{ use sdl3_sys::{ events::{ SDL_EVENT_KEY_DOWN, SDL_EVENT_KEY_UP, SDL_EVENT_MOUSE_BUTTON_DOWN, - SDL_EVENT_MOUSE_BUTTON_UP, SDL_EVENT_MOUSE_MOTION, SDL_EVENT_QUIT, + SDL_EVENT_MOUSE_BUTTON_UP, SDL_EVENT_MOUSE_MOTION, SDL_EVENT_MOUSE_WHEEL, SDL_EVENT_QUIT, SDL_EVENT_WINDOW_CLOSE_REQUESTED, SDL_EVENT_WINDOW_DISPLAY_SCALE_CHANGED, SDL_EVENT_WINDOW_FOCUS_GAINED, SDL_EVENT_WINDOW_FOCUS_LOST, SDL_EVENT_WINDOW_MOUSE_ENTER, SDL_EVENT_WINDOW_MOUSE_LEAVE, SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED, @@ -257,6 +257,11 @@ impl App for SdlApp { down, } } + SDL_EVENT_MOUSE_WHEEL => Event::MouseWheel { + window_id: sdl_window_id(unsafe { event.wheel.windowID }), + x: unsafe { event.wheel.x }, + y: unsafe { event.wheel.y }, + }, SDL_EVENT_MOUSE_MOTION => Event::MouseMotion { window_id: sdl_window_id(unsafe { event.motion.windowID }), x: unsafe { event.motion.x }, -- 2.51.1