]> git.nega.tv - josh/narcissus/commitdiff
narcissus-app: Add mouse wheel events
authorJoshua Simmons <josh@nega.tv>
Mon, 27 Oct 2025 22:39:38 +0000 (23:39 +0100)
committerJoshua Simmons <josh@nega.tv>
Mon, 27 Oct 2025 22:39:48 +0000 (23:39 +0100)
engine/narcissus-app/src/lib.rs
engine/narcissus-app/src/sdl.rs

index f2c206f512e2a6e5103cc9f691627e88054b7d8a..22a49d82563fb1ffb7fbdb6a68d17ca0065397bf 100644 (file)
@@ -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,
index 542b36f26e91094a328127adb6c3ffc274e52f81..e68e007b2a2e493610a25afa33a4a9f92f8dd6e6 100644 (file)
@@ -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 },