module GHCJS.DOM.JSFFI.Generated.MouseEvent
(js_initMouseEvent, initMouseEvent, js_getScreenX, getScreenX,
js_getScreenY, getScreenY, js_getClientX, getClientX,
js_getClientY, getClientY, js_getCtrlKey, getCtrlKey,
js_getShiftKey, getShiftKey, js_getAltKey, getAltKey,
js_getMetaKey, getMetaKey, js_getButton, getButton,
js_getRelatedTarget, getRelatedTarget, getRelatedTargetUnsafe,
getRelatedTargetUnchecked, js_getMovementX, getMovementX,
js_getMovementY, getMovementY, js_getOffsetX, getOffsetX,
js_getOffsetY, getOffsetY, js_getX, getX, js_getY, getY,
js_getFromElement, getFromElement, getFromElementUnsafe,
getFromElementUnchecked, js_getToElement, getToElement,
getToElementUnsafe, getToElementUnchecked, js_getDataTransfer,
getDataTransfer, getDataTransferUnsafe, getDataTransferUnchecked,
MouseEvent(..), gTypeMouseEvent, IsMouseEvent, toMouseEvent)
where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, fmap, Show, Read, Eq, Ord)
import qualified Prelude (error)
import Data.Typeable (Typeable)
import GHCJS.Types (JSVal(..), JSString)
import GHCJS.Foreign (jsNull)
import GHCJS.Foreign.Callback (syncCallback, asyncCallback, syncCallback1, asyncCallback1, syncCallback2, asyncCallback2, OnBlocked(..))
import GHCJS.Marshal (ToJSVal(..), FromJSVal(..))
import GHCJS.Marshal.Pure (PToJSVal(..), PFromJSVal(..))
import Control.Monad (void)
import Control.Monad.IO.Class (MonadIO(..))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import Data.Maybe (fromJust)
import GHCJS.DOM.Types
import Control.Applicative ((<$>))
import GHCJS.DOM.JSFFI.Generated.Enums
foreign import javascript unsafe
"$1[\"initMouseEvent\"]($2, $3, $4,\n$5, $6, $7, $8, $9, $10, $11,\n$12, $13, $14, $15, $16)"
js_initMouseEvent ::
MouseEvent ->
JSString ->
Bool ->
Bool ->
Nullable Window ->
Int ->
Int ->
Int ->
Int ->
Int ->
Bool ->
Bool -> Bool -> Bool -> Word -> Nullable EventTarget -> IO ()
initMouseEvent ::
(MonadIO m, IsMouseEvent self, ToJSString type',
IsEventTarget relatedTarget) =>
self ->
type' ->
Bool ->
Bool ->
Maybe Window ->
Int ->
Int ->
Int ->
Int ->
Int ->
Bool ->
Bool -> Bool -> Bool -> Word -> Maybe relatedTarget -> m ()
initMouseEvent self type' canBubble cancelable view detail screenX
screenY clientX clientY ctrlKey altKey shiftKey metaKey button
relatedTarget
= liftIO
(js_initMouseEvent (toMouseEvent self) (toJSString type') canBubble
cancelable
(maybeToNullable view)
detail
screenX
screenY
clientX
clientY
ctrlKey
altKey
shiftKey
metaKey
button
(maybeToNullable (fmap toEventTarget relatedTarget)))
foreign import javascript unsafe "$1[\"screenX\"]" js_getScreenX ::
MouseEvent -> IO Int
getScreenX :: (MonadIO m, IsMouseEvent self) => self -> m Int
getScreenX self = liftIO (js_getScreenX (toMouseEvent self))
foreign import javascript unsafe "$1[\"screenY\"]" js_getScreenY ::
MouseEvent -> IO Int
getScreenY :: (MonadIO m, IsMouseEvent self) => self -> m Int
getScreenY self = liftIO (js_getScreenY (toMouseEvent self))
foreign import javascript unsafe "$1[\"clientX\"]" js_getClientX ::
MouseEvent -> IO Int
getClientX :: (MonadIO m, IsMouseEvent self) => self -> m Int
getClientX self = liftIO (js_getClientX (toMouseEvent self))
foreign import javascript unsafe "$1[\"clientY\"]" js_getClientY ::
MouseEvent -> IO Int
getClientY :: (MonadIO m, IsMouseEvent self) => self -> m Int
getClientY self = liftIO (js_getClientY (toMouseEvent self))
foreign import javascript unsafe "($1[\"ctrlKey\"] ? 1 : 0)"
js_getCtrlKey :: MouseEvent -> IO Bool
getCtrlKey :: (MonadIO m, IsMouseEvent self) => self -> m Bool
getCtrlKey self = liftIO (js_getCtrlKey (toMouseEvent self))
foreign import javascript unsafe "($1[\"shiftKey\"] ? 1 : 0)"
js_getShiftKey :: MouseEvent -> IO Bool
getShiftKey :: (MonadIO m, IsMouseEvent self) => self -> m Bool
getShiftKey self = liftIO (js_getShiftKey (toMouseEvent self))
foreign import javascript unsafe "($1[\"altKey\"] ? 1 : 0)"
js_getAltKey :: MouseEvent -> IO Bool
getAltKey :: (MonadIO m, IsMouseEvent self) => self -> m Bool
getAltKey self = liftIO (js_getAltKey (toMouseEvent self))
foreign import javascript unsafe "($1[\"metaKey\"] ? 1 : 0)"
js_getMetaKey :: MouseEvent -> IO Bool
getMetaKey :: (MonadIO m, IsMouseEvent self) => self -> m Bool
getMetaKey self = liftIO (js_getMetaKey (toMouseEvent self))
foreign import javascript unsafe "$1[\"button\"]" js_getButton ::
MouseEvent -> IO Word
getButton :: (MonadIO m, IsMouseEvent self) => self -> m Word
getButton self = liftIO (js_getButton (toMouseEvent self))
foreign import javascript unsafe "$1[\"relatedTarget\"]"
js_getRelatedTarget :: MouseEvent -> IO (Nullable EventTarget)
getRelatedTarget ::
(MonadIO m, IsMouseEvent self) => self -> m (Maybe EventTarget)
getRelatedTarget self
= liftIO
(nullableToMaybe <$> (js_getRelatedTarget (toMouseEvent self)))
getRelatedTargetUnsafe ::
(MonadIO m, IsMouseEvent self, HasCallStack) =>
self -> m EventTarget
getRelatedTargetUnsafe self
= liftIO
((nullableToMaybe <$> (js_getRelatedTarget (toMouseEvent self)))
>>= maybe (Prelude.error "Nothing to return") return)
getRelatedTargetUnchecked ::
(MonadIO m, IsMouseEvent self) => self -> m EventTarget
getRelatedTargetUnchecked self
= liftIO
(fromJust . nullableToMaybe <$>
(js_getRelatedTarget (toMouseEvent self)))
foreign import javascript unsafe "$1[\"movementX\"]"
js_getMovementX :: MouseEvent -> IO Int
getMovementX :: (MonadIO m, IsMouseEvent self) => self -> m Int
getMovementX self = liftIO (js_getMovementX (toMouseEvent self))
foreign import javascript unsafe "$1[\"movementY\"]"
js_getMovementY :: MouseEvent -> IO Int
getMovementY :: (MonadIO m, IsMouseEvent self) => self -> m Int
getMovementY self = liftIO (js_getMovementY (toMouseEvent self))
foreign import javascript unsafe "$1[\"offsetX\"]" js_getOffsetX ::
MouseEvent -> IO Int
getOffsetX :: (MonadIO m, IsMouseEvent self) => self -> m Int
getOffsetX self = liftIO (js_getOffsetX (toMouseEvent self))
foreign import javascript unsafe "$1[\"offsetY\"]" js_getOffsetY ::
MouseEvent -> IO Int
getOffsetY :: (MonadIO m, IsMouseEvent self) => self -> m Int
getOffsetY self = liftIO (js_getOffsetY (toMouseEvent self))
foreign import javascript unsafe "$1[\"x\"]" js_getX ::
MouseEvent -> IO Int
getX :: (MonadIO m, IsMouseEvent self) => self -> m Int
getX self = liftIO (js_getX (toMouseEvent self))
foreign import javascript unsafe "$1[\"y\"]" js_getY ::
MouseEvent -> IO Int
getY :: (MonadIO m, IsMouseEvent self) => self -> m Int
getY self = liftIO (js_getY (toMouseEvent self))
foreign import javascript unsafe "$1[\"fromElement\"]"
js_getFromElement :: MouseEvent -> IO (Nullable Node)
getFromElement ::
(MonadIO m, IsMouseEvent self) => self -> m (Maybe Node)
getFromElement self
= liftIO
(nullableToMaybe <$> (js_getFromElement (toMouseEvent self)))
getFromElementUnsafe ::
(MonadIO m, IsMouseEvent self, HasCallStack) => self -> m Node
getFromElementUnsafe self
= liftIO
((nullableToMaybe <$> (js_getFromElement (toMouseEvent self))) >>=
maybe (Prelude.error "Nothing to return") return)
getFromElementUnchecked ::
(MonadIO m, IsMouseEvent self) => self -> m Node
getFromElementUnchecked self
= liftIO
(fromJust . nullableToMaybe <$>
(js_getFromElement (toMouseEvent self)))
foreign import javascript unsafe "$1[\"toElement\"]"
js_getToElement :: MouseEvent -> IO (Nullable Node)
getToElement ::
(MonadIO m, IsMouseEvent self) => self -> m (Maybe Node)
getToElement self
= liftIO
(nullableToMaybe <$> (js_getToElement (toMouseEvent self)))
getToElementUnsafe ::
(MonadIO m, IsMouseEvent self, HasCallStack) => self -> m Node
getToElementUnsafe self
= liftIO
((nullableToMaybe <$> (js_getToElement (toMouseEvent self))) >>=
maybe (Prelude.error "Nothing to return") return)
getToElementUnchecked ::
(MonadIO m, IsMouseEvent self) => self -> m Node
getToElementUnchecked self
= liftIO
(fromJust . nullableToMaybe <$>
(js_getToElement (toMouseEvent self)))
foreign import javascript unsafe "$1[\"dataTransfer\"]"
js_getDataTransfer :: MouseEvent -> IO (Nullable DataTransfer)
getDataTransfer ::
(MonadIO m, IsMouseEvent self) => self -> m (Maybe DataTransfer)
getDataTransfer self
= liftIO
(nullableToMaybe <$> (js_getDataTransfer (toMouseEvent self)))
getDataTransferUnsafe ::
(MonadIO m, IsMouseEvent self, HasCallStack) =>
self -> m DataTransfer
getDataTransferUnsafe self
= liftIO
((nullableToMaybe <$> (js_getDataTransfer (toMouseEvent self))) >>=
maybe (Prelude.error "Nothing to return") return)
getDataTransferUnchecked ::
(MonadIO m, IsMouseEvent self) => self -> m DataTransfer
getDataTransferUnchecked self
= liftIO
(fromJust . nullableToMaybe <$>
(js_getDataTransfer (toMouseEvent self)))