{-# LANGUAGE PatternSynonyms #-} {-# LANGUAGE ForeignFunctionInterface #-} {-# LANGUAGE JavaScriptFFI #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} 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)))