@@ -39,7 +39,8 @@ use bevy_window::{CursorOptions, PrimaryWindow, RawHandleWrapper};
3939
4040use crate :: {
4141 accessibility:: ACCESS_KIT_ADAPTERS ,
42- converters, create_windows,
42+ converters:: { self , convert_touch_phase} ,
43+ create_windows,
4344 system:: { create_monitors, CachedWindow , WinitWindowPressedKeys } ,
4445 AppSendEvent , CreateMonitorParams , CreateWindowParams , RawWinitWindowEvent , UpdateMode ,
4546 WinitSettings , WinitUserEvent , WINIT_WINDOWS ,
@@ -336,24 +337,29 @@ impl ApplicationHandler<WinitUserEvent> for WinitAppRunnerState {
336337 y : delta. y ,
337338 } ) ) ;
338339 }
339- WindowEvent :: MouseWheel { delta, .. } => match delta {
340- event:: MouseScrollDelta :: LineDelta ( x, y) => {
341- self . bevy_window_events . send ( MouseWheel {
342- unit : MouseScrollUnit :: Line ,
343- x,
344- y,
345- window,
346- } ) ;
347- }
348- event:: MouseScrollDelta :: PixelDelta ( p) => {
349- self . bevy_window_events . send ( MouseWheel {
350- unit : MouseScrollUnit :: Pixel ,
351- x : p. x as f32 ,
352- y : p. y as f32 ,
353- window,
354- } ) ;
340+ WindowEvent :: MouseWheel { delta, phase, .. } => {
341+ let phase = convert_touch_phase ( phase) ;
342+ match delta {
343+ event:: MouseScrollDelta :: LineDelta ( x, y) => {
344+ self . bevy_window_events . send ( MouseWheel {
345+ unit : MouseScrollUnit :: Line ,
346+ x,
347+ y,
348+ window,
349+ phase,
350+ } ) ;
351+ }
352+ event:: MouseScrollDelta :: PixelDelta ( p) => {
353+ self . bevy_window_events . send ( MouseWheel {
354+ unit : MouseScrollUnit :: Pixel ,
355+ x : p. x as f32 ,
356+ y : p. y as f32 ,
357+ window,
358+ phase,
359+ } ) ;
360+ }
355361 }
356- } ,
362+ }
357363 WindowEvent :: Touch ( touch) => {
358364 let location = touch
359365 . location
0 commit comments