{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.WheelEvent
(newWheelEvent, initWebKitWheelEvent, pattern DOM_DELTA_PIXEL,
pattern DOM_DELTA_LINE, pattern DOM_DELTA_PAGE, getDeltaX,
getDeltaY, getDeltaZ, getDeltaMode, getWheelDeltaX, getWheelDeltaY,
getWheelDelta, getWebkitDirectionInvertedFromDevice,
WheelEvent(..), gTypeWheelEvent)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums
newWheelEvent ::
(MonadDOM m, ToJSString type') =>
type' -> Maybe WheelEventInit -> m WheelEvent
newWheelEvent :: forall (m :: * -> *) type'.
(MonadDOM m, ToJSString type') =>
type' -> Maybe WheelEventInit -> m WheelEvent
newWheelEvent type'
type' Maybe WheelEventInit
eventInitDict
= DOM WheelEvent -> m WheelEvent
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSVal -> WheelEvent
WheelEvent (JSVal -> WheelEvent) -> JSM JSVal -> DOM WheelEvent
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
JSM JSVal -> [JSM JSVal] -> JSM JSVal
forall constructor args.
(MakeObject constructor, MakeArgs args) =>
constructor -> args -> JSM JSVal
new (String -> JSM JSVal
forall a. ToJSString a => a -> JSM JSVal
jsg String
"WheelEvent") [type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal type'
type', Maybe WheelEventInit -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe WheelEventInit
eventInitDict])
initWebKitWheelEvent ::
(MonadDOM m) =>
WheelEvent ->
Maybe Int ->
Maybe Int ->
Maybe Window ->
Maybe Int ->
Maybe Int ->
Maybe Int -> Maybe Int -> Bool -> Bool -> Bool -> Bool -> m ()
initWebKitWheelEvent :: forall (m :: * -> *).
MonadDOM m =>
WheelEvent
-> Maybe Int
-> Maybe Int
-> Maybe Window
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Bool
-> Bool
-> Bool
-> Bool
-> m ()
initWebKitWheelEvent WheelEvent
self Maybe Int
wheelDeltaX Maybe Int
wheelDeltaY Maybe Window
view Maybe Int
screenX
Maybe Int
screenY Maybe Int
clientX Maybe Int
clientY Bool
ctrlKey Bool
altKey Bool
shiftKey Bool
metaKey
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(WheelEvent
self WheelEvent
-> Getting (JSM JSVal) WheelEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"initWebKitWheelEvent"
[Maybe Int -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Int
wheelDeltaX, Maybe Int -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Int
wheelDeltaY, Maybe Window -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Window
view,
Maybe Int -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Int
screenX, Maybe Int -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Int
screenY, Maybe Int -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Int
clientX, Maybe Int -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Int
clientY,
Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
ctrlKey, Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
altKey, Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
shiftKey,
Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
metaKey]))
pattern $mDOM_DELTA_PIXEL :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bDOM_DELTA_PIXEL :: forall {a}. (Eq a, Num a) => a
DOM_DELTA_PIXEL = 0
pattern $mDOM_DELTA_LINE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bDOM_DELTA_LINE :: forall {a}. (Eq a, Num a) => a
DOM_DELTA_LINE = 1
pattern $mDOM_DELTA_PAGE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bDOM_DELTA_PAGE :: forall {a}. (Eq a, Num a) => a
DOM_DELTA_PAGE = 2
getDeltaX :: (MonadDOM m) => WheelEvent -> m Double
getDeltaX :: forall (m :: * -> *). MonadDOM m => WheelEvent -> m Double
getDeltaX WheelEvent
self = DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((WheelEvent
self WheelEvent
-> Getting (JSM JSVal) WheelEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WheelEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"deltaX") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
getDeltaY :: (MonadDOM m) => WheelEvent -> m Double
getDeltaY :: forall (m :: * -> *). MonadDOM m => WheelEvent -> m Double
getDeltaY WheelEvent
self = DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((WheelEvent
self WheelEvent
-> Getting (JSM JSVal) WheelEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WheelEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"deltaY") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
getDeltaZ :: (MonadDOM m) => WheelEvent -> m Double
getDeltaZ :: forall (m :: * -> *). MonadDOM m => WheelEvent -> m Double
getDeltaZ WheelEvent
self = DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((WheelEvent
self WheelEvent
-> Getting (JSM JSVal) WheelEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WheelEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"deltaZ") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)
getDeltaMode :: (MonadDOM m) => WheelEvent -> m Word
getDeltaMode :: forall (m :: * -> *). MonadDOM m => WheelEvent -> m Word
getDeltaMode WheelEvent
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> DOM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((WheelEvent
self WheelEvent
-> Getting (JSM JSVal) WheelEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WheelEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"deltaMode") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber))
getWheelDeltaX :: (MonadDOM m) => WheelEvent -> m Int
getWheelDeltaX :: forall (m :: * -> *). MonadDOM m => WheelEvent -> m Int
getWheelDeltaX WheelEvent
self
= DOM Int -> m Int
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Int
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Int) -> DOM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((WheelEvent
self WheelEvent
-> Getting (JSM JSVal) WheelEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WheelEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"wheelDeltaX") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber))
getWheelDeltaY :: (MonadDOM m) => WheelEvent -> m Int
getWheelDeltaY :: forall (m :: * -> *). MonadDOM m => WheelEvent -> m Int
getWheelDeltaY WheelEvent
self
= DOM Int -> m Int
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Int
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Int) -> DOM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((WheelEvent
self WheelEvent
-> Getting (JSM JSVal) WheelEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WheelEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"wheelDeltaY") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber))
getWheelDelta :: (MonadDOM m) => WheelEvent -> m Int
getWheelDelta :: forall (m :: * -> *). MonadDOM m => WheelEvent -> m Int
getWheelDelta WheelEvent
self
= DOM Int -> m Int
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Int
forall b. Integral b => Double -> b
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Int) -> DOM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((WheelEvent
self WheelEvent
-> Getting (JSM JSVal) WheelEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WheelEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"wheelDelta") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Double
forall value. ToJSVal value => value -> DOM Double
valToNumber))
getWebkitDirectionInvertedFromDevice ::
(MonadDOM m) => WheelEvent -> m Bool
getWebkitDirectionInvertedFromDevice :: forall (m :: * -> *). MonadDOM m => WheelEvent -> m Bool
getWebkitDirectionInvertedFromDevice WheelEvent
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((WheelEvent
self WheelEvent
-> Getting (JSM JSVal) WheelEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter WheelEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"webkitDirectionInvertedFromDevice") JSM JSVal -> (JSVal -> DOM Bool) -> DOM Bool
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM Bool
forall value. ToJSVal value => value -> DOM Bool
valToBool)