{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.MouseEvent
(newMouseEvent, initMouseEvent, pattern WEBKIT_FORCE_AT_MOUSE_DOWN,
pattern WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN, getScreenX, getScreenY,
getClientX, getClientY, getCtrlKey, getShiftKey, getAltKey,
getMetaKey, getButton, getRelatedTarget, getRelatedTargetUnsafe,
getRelatedTargetUnchecked, getMovementX, getMovementY,
getWebkitForce, getOffsetX, getOffsetY, getX, getY, getFromElement,
getFromElementUnsafe, getFromElementUnchecked, getToElement,
getToElementUnsafe, getToElementUnchecked, getDataTransfer,
getDataTransferUnsafe, getDataTransferUnchecked, MouseEvent(..),
gTypeMouseEvent, IsMouseEvent, toMouseEvent)
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.Enums
newMouseEvent ::
(MonadDOM m, ToJSString type', IsMouseEventInit eventInitDict) =>
type' -> Maybe eventInitDict -> m MouseEvent
newMouseEvent :: forall (m :: * -> *) type' eventInitDict.
(MonadDOM m, ToJSString type', IsMouseEventInit eventInitDict) =>
type' -> Maybe eventInitDict -> m MouseEvent
newMouseEvent type'
type' Maybe eventInitDict
eventInitDict
= DOM MouseEvent -> m MouseEvent
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSVal -> MouseEvent
MouseEvent (JSVal -> MouseEvent) -> JSM JSVal -> DOM MouseEvent
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
"MouseEvent") [type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal type'
type', Maybe eventInitDict -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe eventInitDict
eventInitDict])
initMouseEvent ::
(MonadDOM m, IsMouseEvent self, ToJSString type',
ToJSVal relatedTarget) =>
self ->
Maybe type' ->
Bool ->
Bool ->
Maybe Window ->
Maybe Int ->
Maybe Int ->
Maybe Int ->
Maybe Int ->
Maybe Int ->
Bool ->
Bool ->
Bool -> Bool -> Maybe Word -> Maybe relatedTarget -> m ()
initMouseEvent :: forall (m :: * -> *) self type' relatedTarget.
(MonadDOM m, IsMouseEvent self, ToJSString type',
ToJSVal relatedTarget) =>
self
-> Maybe type'
-> Bool
-> Bool
-> Maybe Window
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Bool
-> Bool
-> Bool
-> Bool
-> Maybe Word
-> Maybe relatedTarget
-> m ()
initMouseEvent self
self Maybe type'
type' Bool
canBubble Bool
cancelable Maybe Window
view Maybe Int
detail Maybe Int
screenX
Maybe Int
screenY Maybe Int
clientX Maybe Int
clientY Bool
ctrlKey Bool
altKey Bool
shiftKey Bool
metaKey Maybe Word
button
Maybe relatedTarget
relatedTarget
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (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
"initMouseEvent"
[Maybe type' -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe type'
type', Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
canBubble, Bool -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Bool
cancelable,
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
detail, 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, Maybe Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe Word
button,
Maybe relatedTarget -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Maybe relatedTarget
relatedTarget]))
pattern $mWEBKIT_FORCE_AT_MOUSE_DOWN :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bWEBKIT_FORCE_AT_MOUSE_DOWN :: forall {a}. (Eq a, Num a) => a
WEBKIT_FORCE_AT_MOUSE_DOWN = 1
pattern $mWEBKIT_FORCE_AT_FORCE_MOUSE_DOWN :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bWEBKIT_FORCE_AT_FORCE_MOUSE_DOWN :: forall {a}. (Eq a, Num a) => a
WEBKIT_FORCE_AT_FORCE_MOUSE_DOWN = 2
getScreenX :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getScreenX :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Int
getScreenX self
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) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"screenX") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getScreenY :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getScreenY :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Int
getScreenY self
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) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"screenY") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getClientX :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getClientX :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Int
getClientX self
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) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"clientX") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getClientY :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getClientY :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Int
getClientY self
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) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"clientY") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getCtrlKey :: (MonadDOM m, IsMouseEvent self) => self -> m Bool
getCtrlKey :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Bool
getCtrlKey self
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"ctrlKey") 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)
getShiftKey :: (MonadDOM m, IsMouseEvent self) => self -> m Bool
getShiftKey :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Bool
getShiftKey self
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"shiftKey") 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)
getAltKey :: (MonadDOM m, IsMouseEvent self) => self -> m Bool
getAltKey :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Bool
getAltKey self
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"altKey") 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)
getMetaKey :: (MonadDOM m, IsMouseEvent self) => self -> m Bool
getMetaKey :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Bool
getMetaKey self
self
= DOM Bool -> m Bool
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"metaKey") 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)
getButton :: (MonadDOM m, IsMouseEvent self) => self -> m Word
getButton :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Word
getButton self
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) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"button") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getRelatedTarget ::
(MonadDOM m, IsMouseEvent self) => self -> m (Maybe EventTarget)
getRelatedTarget :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m (Maybe EventTarget)
getRelatedTarget self
self
= DOM (Maybe EventTarget) -> m (Maybe EventTarget)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"relatedTarget") JSM JSVal
-> (JSVal -> DOM (Maybe EventTarget)) -> DOM (Maybe EventTarget)
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 (Maybe EventTarget)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getRelatedTargetUnsafe ::
(MonadDOM m, IsMouseEvent self, HasCallStack) =>
self -> m EventTarget
getRelatedTargetUnsafe :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self, HasCallStack) =>
self -> m EventTarget
getRelatedTargetUnsafe self
self
= DOM EventTarget -> m EventTarget
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"relatedTarget") JSM JSVal
-> (JSVal -> DOM (Maybe EventTarget)) -> DOM (Maybe EventTarget)
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 (Maybe EventTarget)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe EventTarget)
-> (Maybe EventTarget -> DOM EventTarget) -> DOM EventTarget
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM EventTarget
-> (EventTarget -> DOM EventTarget)
-> Maybe EventTarget
-> DOM EventTarget
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM EventTarget
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") EventTarget -> DOM EventTarget
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getRelatedTargetUnchecked ::
(MonadDOM m, IsMouseEvent self) => self -> m EventTarget
getRelatedTargetUnchecked :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m EventTarget
getRelatedTargetUnchecked self
self
= DOM EventTarget -> m EventTarget
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"relatedTarget") JSM JSVal -> (JSVal -> DOM EventTarget) -> DOM EventTarget
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 EventTarget
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getMovementX :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getMovementX :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Int
getMovementX self
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) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
(((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"movementX") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getMovementY :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getMovementY :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Int
getMovementY self
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) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
(((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"movementY") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getWebkitForce ::
(MonadDOM m, IsMouseEvent self) => self -> m Double
getWebkitForce :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Double
getWebkitForce self
self
= JSM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"webkitForce") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber)
getOffsetX :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getOffsetX :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Int
getOffsetX self
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) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"offsetX") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getOffsetY :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getOffsetY :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Int
getOffsetY self
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) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"offsetY") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getX :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getX :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Int
getX self
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) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"x") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getY :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getY :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Int
getY self
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) -> JSM Double -> DOM Int
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"y") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
getFromElement ::
(MonadDOM m, IsMouseEvent self) => self -> m (Maybe Node)
getFromElement :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m (Maybe Node)
getFromElement self
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"fromElement") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
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 (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getFromElementUnsafe ::
(MonadDOM m, IsMouseEvent self, HasCallStack) => self -> m Node
getFromElementUnsafe :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self, HasCallStack) =>
self -> m Node
getFromElementUnsafe self
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"fromElement") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
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 (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Node
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Node -> DOM Node
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getFromElementUnchecked ::
(MonadDOM m, IsMouseEvent self) => self -> m Node
getFromElementUnchecked :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Node
getFromElementUnchecked self
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"fromElement") JSM JSVal -> (JSVal -> DOM Node) -> DOM Node
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 Node
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getToElement ::
(MonadDOM m, IsMouseEvent self) => self -> m (Maybe Node)
getToElement :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m (Maybe Node)
getToElement self
self
= DOM (Maybe Node) -> m (Maybe Node)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"toElement") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
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 (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getToElementUnsafe ::
(MonadDOM m, IsMouseEvent self, HasCallStack) => self -> m Node
getToElementUnsafe :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self, HasCallStack) =>
self -> m Node
getToElementUnsafe self
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"toElement") JSM JSVal -> (JSVal -> DOM (Maybe Node)) -> DOM (Maybe Node)
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 (Maybe Node)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe Node) -> (Maybe Node -> DOM Node) -> DOM Node
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM Node -> (Node -> DOM Node) -> Maybe Node -> DOM Node
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM Node
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") Node -> DOM Node
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getToElementUnchecked ::
(MonadDOM m, IsMouseEvent self) => self -> m Node
getToElementUnchecked :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m Node
getToElementUnchecked self
self
= DOM Node -> m Node
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"toElement") JSM JSVal -> (JSVal -> DOM Node) -> DOM Node
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 Node
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)
getDataTransfer ::
(MonadDOM m, IsMouseEvent self) => self -> m (Maybe DataTransfer)
getDataTransfer :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m (Maybe DataTransfer)
getDataTransfer self
self
= DOM (Maybe DataTransfer) -> m (Maybe DataTransfer)
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"dataTransfer") JSM JSVal
-> (JSVal -> DOM (Maybe DataTransfer)) -> DOM (Maybe DataTransfer)
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 (Maybe DataTransfer)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal)
getDataTransferUnsafe ::
(MonadDOM m, IsMouseEvent self, HasCallStack) =>
self -> m DataTransfer
getDataTransferUnsafe :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self, HasCallStack) =>
self -> m DataTransfer
getDataTransferUnsafe self
self
= DOM DataTransfer -> m DataTransfer
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
((((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"dataTransfer") JSM JSVal
-> (JSVal -> DOM (Maybe DataTransfer)) -> DOM (Maybe DataTransfer)
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 (Maybe DataTransfer)
forall a. FromJSVal a => JSVal -> JSM (Maybe a)
fromJSVal) DOM (Maybe DataTransfer)
-> (Maybe DataTransfer -> DOM DataTransfer) -> DOM DataTransfer
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>=
DOM DataTransfer
-> (DataTransfer -> DOM DataTransfer)
-> Maybe DataTransfer
-> DOM DataTransfer
forall b a. b -> (a -> b) -> Maybe a -> b
maybe (String -> DOM DataTransfer
forall a. HasCallStack => String -> a
Prelude.error String
"Nothing to return") DataTransfer -> DOM DataTransfer
forall a. a -> JSM a
forall (m :: * -> *) a. Monad m => a -> m a
return)
getDataTransferUnchecked ::
(MonadDOM m, IsMouseEvent self) => self -> m DataTransfer
getDataTransferUnchecked :: forall (m :: * -> *) self.
(MonadDOM m, IsMouseEvent self) =>
self -> m DataTransfer
getDataTransferUnchecked self
self
= DOM DataTransfer -> m DataTransfer
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(((self -> MouseEvent
forall o. IsMouseEvent o => o -> MouseEvent
toMouseEvent self
self) MouseEvent
-> Getting (JSM JSVal) MouseEvent (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter MouseEvent (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"dataTransfer") JSM JSVal -> (JSVal -> DOM DataTransfer) -> DOM DataTransfer
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 DataTransfer
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)