From: Joshua Simmons Date: Mon, 27 Oct 2025 22:39:38 +0000 (+0100) Subject: narcissus-app: Add mouse wheel events X-Git-Url: https://git.nega.tv//gitweb.cgi?a=commitdiff_plain;h=441ef9371e0472fd7c2ad81e6893b93f430d1d30;p=josh%2Fnarcissus narcissus-app: Add mouse wheel events --- 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 },