@@ -192,6 +192,7 @@ import qualified GHCJS.DOM.TouchEvent as TouchEvent
192import qualified GHCJS.DOM.TouchList as TouchList
192import qualified GHCJS.DOM.TouchList as TouchList
193import qualified GHCJS.DOM.Types as DOM
193import qualified GHCJS.DOM.Types as DOM
194import qualified GHCJS.DOM.Window as Window
194import qualified GHCJS.DOM.Window as Window
195+import qualified GHCJS.DOM.WheelEvent as WheelEvent
195import qualified Reflex.Patch.DMap as PatchDMap
196import qualified Reflex.Patch.DMap as PatchDMap
196import qualified Reflex.Patch.DMapWithMove as PatchDMapWithMove
197import qualified Reflex.Patch.DMapWithMove as PatchDMapWithMove
197import qualified Reflex.Patch.MapWithMove as PatchMapWithMove
198import qualified Reflex.Patch.MapWithMove as PatchMapWithMove
@@ -2241,7 +2242,7 @@ defaultDomEventHandler e evt = fmap (Just . EventResult) $ case evt of
2241 Touchend -> getTouchEvent
2242 Touchend -> getTouchEvent
2242 Touchcancel -> getTouchEvent
2243 Touchcancel -> getTouchEvent
2243 Mousewheel -> return ()
2244 Mousewheel -> return ()
2244− Wheel -> return ()
2245+ Wheel -> getWheelEvent
2246{-# INLINABLE defaultDomWindowEventHandler #-}
2247{-# INLINABLE defaultDomWindowEventHandler #-}
2247defaultDomWindowEventHandler :: DOM.Window -> EventName en -> EventM DOM.Window (EventType en) (Maybe (EventResult en))
2248defaultDomWindowEventHandler :: DOM.Window -> EventName en -> EventM DOM.Window (EventType en) (Maybe (EventResult en))
@@ -2291,7 +2292,7 @@ defaultDomWindowEventHandler w evt = fmap (Just . EventResult) $ case evt of
2291 Touchend -> getTouchEvent
2292 Touchend -> getTouchEvent
2292 Touchcancel -> getTouchEvent
2293 Touchcancel -> getTouchEvent
2293 Mousewheel -> return ()
2294 Mousewheel -> return ()
2294− Wheel -> return ()
2295+ Wheel -> getWheelEvent
2296{-# INLINABLE withIsEvent #-}
2297{-# INLINABLE withIsEvent #-}
2297withIsEvent :: EventName en -> (IsEvent (EventType en) => r) -> r
2298withIsEvent :: EventName en -> (IsEvent (EventType en) => r) -> r
@@ -2600,6 +2601,25 @@ getTouchEvent = do
2600 , _touchEventResult_touches = touches
2601 , _touchEventResult_touches = touches
2604+{-# INLINABLE getWheelEvent #-}
2605+getWheelEvent :: EventM e WheelEvent WheelEventResult
2608+ dx :: Double <- WheelEvent.getDeltaX e
2609+ dy :: Double <- WheelEvent.getDeltaY e
2610+ dz :: Double <- WheelEvent.getDeltaZ e
2611+ deltaMode :: Word <- WheelEvent.getDeltaMode e
2612+ return $ WheelEventResult
2613+ { _wheelEventResult_deltaX = dx
2614+ , _wheelEventResult_deltaY = dy
2615+ , _wheelEventResult_deltaZ = dz
2616+ , _wheelEventResult_deltaMode = case deltaMode of
2620+ _ -> error "getWheelEvent: impossible encoding"
2603instance MonadSample t m => MonadSample t (HydrationDomBuilderT s t m) where
2623instance MonadSample t m => MonadSample t (HydrationDomBuilderT s t m) where
2604 {-# INLINABLE sample #-}
2624 {-# INLINABLE sample #-}
2605 sample = lift . sample
2625 sample = lift . sample