packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/MouseEvent.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from pointerevents4 (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.MouseEvent
       (js_newMouseEvent, js_getModifierState, js_initMouseEvent, js_getScreenX, js_getScreenY, js_getClientX, js_getClientY, js_getLayerX, js_getLayerY, js_getCtrlKey, js_getShiftKey, js_getAltKey, js_getMetaKey, js_getButton, js_getButtons, js_getRelatedTarget, js_getPageX, js_getPageY, js_getX, js_getY, js_getOffsetX, js_getOffsetY, js_getMovementX, js_getMovementY, newMouseEvent, getModifierState, getModifierState_, initMouseEvent, getScreenX, getScreenY, getClientX, getClientY, getLayerX, getLayerY, getCtrlKey, getShiftKey, getAltKey, getMetaKey, getButton, getButtons, getRelatedTarget, getRelatedTargetUnsafe, getRelatedTargetUnchecked, getPageX, getPageY, getX, getY, getOffsetX, getOffsetY, getMovementX, getMovementY, MouseEvent(..), gTypeMouseEvent, IsMouseEvent, toMouseEvent)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums

foreign import javascript safe "(($1, $2) => { return new globalThis[\"MouseEvent\"]($1, $2); })"
        js_newMouseEvent :: JSString -> JSVal -> IO MouseEvent
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/MouseEvent MDN MouseEvent. documentation>
newMouseEvent :: (MonadDOM m, ToJSString type', IsMouseEventInit eventInitDict) => type' -> Maybe eventInitDict -> m MouseEvent
newMouseEvent type' eventInitDict = liftDOM (((P.maybe (P.return jsUndefined) toJSVal eventInitDict) >>= \a2' -> js_newMouseEvent (toJSString type') a2'))

foreign import javascript safe "(($1, $2) => { return $1[\"getModifierState\"]($2); })"
        js_getModifierState :: MouseEvent -> JSString -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/getModifierState MDN MouseEvent.getModifierState documentation>
getModifierState :: (MonadDOM m, IsMouseEvent self, ToJSString keyArg) => self -> keyArg -> m Bool
getModifierState self keyArg = liftDOM ((js_getModifierState ((Types.toMouseEvent self)) (toJSString keyArg)))

-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/getModifierState MDN MouseEvent.getModifierState documentation>
getModifierState_ :: (MonadDOM m, IsMouseEvent self, ToJSString keyArg) => self -> keyArg -> m ()
getModifierState_ self keyArg = liftDOM (void ((js_getModifierState ((Types.toMouseEvent self)) (toJSString keyArg))))

foreign import javascript safe "(($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16) => { return $1[\"initMouseEvent\"]($2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16); })"
        js_initMouseEvent :: MouseEvent -> JSString -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/initMouseEvent MDN MouseEvent.initMouseEvent documentation>
initMouseEvent :: (MonadDOM m, IsMouseEvent self, ToJSString typeArg, IsEventTarget relatedTargetArg) => self -> typeArg -> Maybe Bool -> Maybe Bool -> Maybe Window -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Int -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Bool -> Maybe Int -> Maybe relatedTargetArg -> m ()
initMouseEvent self typeArg bubblesArg cancelableArg viewArg detailArg screenXArg screenYArg clientXArg clientYArg ctrlKeyArg altKeyArg shiftKeyArg metaKeyArg buttonArg relatedTargetArg = liftDOM (void (((P.maybe (P.return jsUndefined) toJSVal bubblesArg) >>= \a3' -> (P.maybe (P.return jsUndefined) toJSVal cancelableArg) >>= \a4' -> (toJSVal viewArg) >>= \a5' -> (P.maybe (P.return jsUndefined) toJSVal detailArg) >>= \a6' -> (P.maybe (P.return jsUndefined) toJSVal screenXArg) >>= \a7' -> (P.maybe (P.return jsUndefined) toJSVal screenYArg) >>= \a8' -> (P.maybe (P.return jsUndefined) toJSVal clientXArg) >>= \a9' -> (P.maybe (P.return jsUndefined) toJSVal clientYArg) >>= \a10' -> (P.maybe (P.return jsUndefined) toJSVal ctrlKeyArg) >>= \a11' -> (P.maybe (P.return jsUndefined) toJSVal altKeyArg) >>= \a12' -> (P.maybe (P.return jsUndefined) toJSVal shiftKeyArg) >>= \a13' -> (P.maybe (P.return jsUndefined) toJSVal metaKeyArg) >>= \a14' -> (P.maybe (P.return jsUndefined) toJSVal buttonArg) >>= \a15' -> (toJSVal relatedTargetArg) >>= \a16' -> js_initMouseEvent ((Types.toMouseEvent self)) (toJSString typeArg) a3' a4' a5' a6' a7' a8' a9' a10' a11' a12' a13' a14' a15' a16')))

foreign import javascript unsafe "(($1) => { return $1[\"screenX\"]; })"
        js_getScreenX :: MouseEvent -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/screenX MDN MouseEvent.screenX documentation>
getScreenX :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getScreenX self = liftDOM ((js_getScreenX ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"screenY\"]; })"
        js_getScreenY :: MouseEvent -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/screenY MDN MouseEvent.screenY documentation>
getScreenY :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getScreenY self = liftDOM ((js_getScreenY ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"clientX\"]; })"
        js_getClientX :: MouseEvent -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/clientX MDN MouseEvent.clientX documentation>
getClientX :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getClientX self = liftDOM ((js_getClientX ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"clientY\"]; })"
        js_getClientY :: MouseEvent -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/clientY MDN MouseEvent.clientY documentation>
getClientY :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getClientY self = liftDOM ((js_getClientY ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"layerX\"]; })"
        js_getLayerX :: MouseEvent -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/layerX MDN MouseEvent.layerX documentation>
getLayerX :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getLayerX self = liftDOM ((js_getLayerX ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"layerY\"]; })"
        js_getLayerY :: MouseEvent -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/layerY MDN MouseEvent.layerY documentation>
getLayerY :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getLayerY self = liftDOM ((js_getLayerY ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"ctrlKey\"]; })"
        js_getCtrlKey :: MouseEvent -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/ctrlKey MDN MouseEvent.ctrlKey documentation>
getCtrlKey :: (MonadDOM m, IsMouseEvent self) => self -> m Bool
getCtrlKey self = liftDOM ((js_getCtrlKey ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"shiftKey\"]; })"
        js_getShiftKey :: MouseEvent -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/shiftKey MDN MouseEvent.shiftKey documentation>
getShiftKey :: (MonadDOM m, IsMouseEvent self) => self -> m Bool
getShiftKey self = liftDOM ((js_getShiftKey ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"altKey\"]; })"
        js_getAltKey :: MouseEvent -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/altKey MDN MouseEvent.altKey documentation>
getAltKey :: (MonadDOM m, IsMouseEvent self) => self -> m Bool
getAltKey self = liftDOM ((js_getAltKey ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"metaKey\"]; })"
        js_getMetaKey :: MouseEvent -> IO Bool
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/metaKey MDN MouseEvent.metaKey documentation>
getMetaKey :: (MonadDOM m, IsMouseEvent self) => self -> m Bool
getMetaKey self = liftDOM ((js_getMetaKey ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"button\"]; })"
        js_getButton :: MouseEvent -> IO Int
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/button MDN MouseEvent.button documentation>
getButton :: (MonadDOM m, IsMouseEvent self) => self -> m Int
getButton self = liftDOM ((js_getButton ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"buttons\"]; })"
        js_getButtons :: MouseEvent -> IO Word
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/buttons MDN MouseEvent.buttons documentation>
getButtons :: (MonadDOM m, IsMouseEvent self) => self -> m Word
getButtons self = liftDOM ((js_getButtons ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"relatedTarget\"]; })"
        js_getRelatedTarget :: MouseEvent -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/relatedTarget MDN MouseEvent.relatedTarget documentation>
getRelatedTarget :: (MonadDOM m, IsMouseEvent self) => self -> m (Maybe EventTarget)
getRelatedTarget self = liftDOM (((js_getRelatedTarget ((Types.toMouseEvent self))) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/relatedTarget MDN MouseEvent.relatedTarget documentation>
getRelatedTargetUnsafe :: (MonadDOM m, IsMouseEvent self, HasCallStack) => self -> m EventTarget
getRelatedTargetUnsafe self = liftDOM ((((js_getRelatedTarget ((Types.toMouseEvent self))) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/relatedTarget MDN MouseEvent.relatedTarget documentation>
getRelatedTargetUnchecked :: (MonadDOM m, IsMouseEvent self) => self -> m EventTarget
getRelatedTargetUnchecked self = liftDOM ((pFromJSVal <$> (js_getRelatedTarget ((Types.toMouseEvent self)))))

foreign import javascript unsafe "(($1) => { return $1[\"pageX\"]; })"
        js_getPageX :: MouseEvent -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/pageX MDN MouseEvent.pageX documentation>
getPageX :: (MonadDOM m, IsMouseEvent self) => self -> m Double
getPageX self = liftDOM ((js_getPageX ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"pageY\"]; })"
        js_getPageY :: MouseEvent -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/pageY MDN MouseEvent.pageY documentation>
getPageY :: (MonadDOM m, IsMouseEvent self) => self -> m Double
getPageY self = liftDOM ((js_getPageY ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"x\"]; })"
        js_getX :: MouseEvent -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/x MDN MouseEvent.x documentation>
getX :: (MonadDOM m, IsMouseEvent self) => self -> m Double
getX self = liftDOM ((js_getX ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"y\"]; })"
        js_getY :: MouseEvent -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/y MDN MouseEvent.y documentation>
getY :: (MonadDOM m, IsMouseEvent self) => self -> m Double
getY self = liftDOM ((js_getY ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"offsetX\"]; })"
        js_getOffsetX :: MouseEvent -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/offsetX MDN MouseEvent.offsetX documentation>
getOffsetX :: (MonadDOM m, IsMouseEvent self) => self -> m Double
getOffsetX self = liftDOM ((js_getOffsetX ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"offsetY\"]; })"
        js_getOffsetY :: MouseEvent -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/offsetY MDN MouseEvent.offsetY documentation>
getOffsetY :: (MonadDOM m, IsMouseEvent self) => self -> m Double
getOffsetY self = liftDOM ((js_getOffsetY ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"movementX\"]; })"
        js_getMovementX :: MouseEvent -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/movementX MDN MouseEvent.movementX documentation>
getMovementX :: (MonadDOM m, IsMouseEvent self) => self -> m Double
getMovementX self = liftDOM ((js_getMovementX ((Types.toMouseEvent self))))

foreign import javascript unsafe "(($1) => { return $1[\"movementY\"]; })"
        js_getMovementY :: MouseEvent -> IO Double
-- | <https://developer.mozilla.org/docs/Web/API/MouseEvent/movementY MDN MouseEvent.movementY documentation>
getMovementY :: (MonadDOM m, IsMouseEvent self) => self -> m Double
getMovementY self = liftDOM ((js_getMovementY ((Types.toMouseEvent self))))