11module Web.UIEvent.WheelEvent
22 ( WheelEvent
3- , toEvent
3+ , fromMouseEvent
4+ , fromUIEvent
5+ , fromEvent
6+ , toMouseEvent
47 , toUIEvent
5- , read
8+ , toEvent
69 , deltaX
710 , deltaY
811 , deltaZ
@@ -17,21 +20,31 @@ import Prelude
1720
1821import Data.Enum (class BoundedEnum , class Enum , Cardinality (..), defaultPred , defaultSucc , toEnum )
1922import Data.Maybe (Maybe (..), fromJust )
20- import Foreign (F , Foreign , unsafeReadTagged )
2123import Unsafe.Coerce (unsafeCoerce )
2224import Web.Event.Event (Event )
25+ import Web.Internal.FFI (unsafeReadProtoTagged )
26+ import Web.UIEvent.MouseEvent (MouseEvent )
2327import Web.UIEvent.UIEvent (UIEvent )
2428
2529foreign import data WheelEvent :: Type
2630
27- toEvent :: WheelEvent -> Event
28- toEvent = unsafeCoerce
31+ fromMouseEvent :: MouseEvent -> Maybe WheelEvent
32+ fromMouseEvent = unsafeReadProtoTagged " WheelEvent"
33+
34+ fromUIEvent :: UIEvent -> Maybe WheelEvent
35+ fromUIEvent = unsafeReadProtoTagged " WheelEvent"
36+
37+ fromEvent :: Event -> Maybe WheelEvent
38+ fromEvent = unsafeReadProtoTagged " WheelEvent"
39+
40+ toMouseEvent :: WheelEvent -> MouseEvent
41+ toMouseEvent = unsafeCoerce
2942
3043toUIEvent :: WheelEvent -> UIEvent
3144toUIEvent = unsafeCoerce
3245
33- read :: Foreign -> F WheelEvent
34- read = unsafeReadTagged " WheelEvent "
46+ toEvent :: WheelEvent -> Event
47+ toEvent = unsafeCoerce
3548
3649foreign import deltaX :: WheelEvent -> Number
3750
0 commit comments