jsaddle-dom-0.10.0.0: src/JSDOM/Generated/PointerEvent.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from pointerevents4 (webref). Do not edit.
module JSDOM.Generated.PointerEvent
(newPointerEvent, getCoalescedEvents, getCoalescedEvents_, getPredictedEvents, getPredictedEvents_, getPointerId, getWidth, getHeight, getPressure, getTangentialPressure, getTiltX, getTiltY, getTwist, getAltitudeAngle, getAzimuthAngle, getPointerType, getIsPrimary, getPersistentDeviceId, PointerEvent(..), gTypePointerEvent)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/PointerEvent MDN PointerEvent. documentation>
newPointerEvent :: (MonadDOM m, ToJSString type') => type' -> Maybe PointerEventInit -> m PointerEvent
newPointerEvent type' eventInitDict = liftDOM (((new (jsg "PointerEvent") [toJSVal type', P.maybe (P.return jsUndefined) toJSVal eventInitDict]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/getCoalescedEvents MDN PointerEvent.getCoalescedEvents documentation>
getCoalescedEvents :: (MonadDOM m) => PointerEvent -> m [PointerEvent]
getCoalescedEvents self = liftDOM (((self ^. jsf "getCoalescedEvents" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/getCoalescedEvents MDN PointerEvent.getCoalescedEvents documentation>
getCoalescedEvents_ :: (MonadDOM m) => PointerEvent -> m ()
getCoalescedEvents_ self = liftDOM (void (self ^. jsf "getCoalescedEvents" ()))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/getPredictedEvents MDN PointerEvent.getPredictedEvents documentation>
getPredictedEvents :: (MonadDOM m) => PointerEvent -> m [PointerEvent]
getPredictedEvents self = liftDOM (((self ^. jsf "getPredictedEvents" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/getPredictedEvents MDN PointerEvent.getPredictedEvents documentation>
getPredictedEvents_ :: (MonadDOM m) => PointerEvent -> m ()
getPredictedEvents_ self = liftDOM (void (self ^. jsf "getPredictedEvents" ()))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/pointerId MDN PointerEvent.pointerId documentation>
getPointerId :: (MonadDOM m) => PointerEvent -> m Int
getPointerId self = liftDOM ((P.round <$> ((self ^. js "pointerId") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/width MDN PointerEvent.width documentation>
getWidth :: (MonadDOM m) => PointerEvent -> m Double
getWidth self = liftDOM (((self ^. js "width") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/height MDN PointerEvent.height documentation>
getHeight :: (MonadDOM m) => PointerEvent -> m Double
getHeight self = liftDOM (((self ^. js "height") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/pressure MDN PointerEvent.pressure documentation>
getPressure :: (MonadDOM m) => PointerEvent -> m Float
getPressure self = liftDOM ((P.realToFrac <$> ((self ^. js "pressure") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/tangentialPressure MDN PointerEvent.tangentialPressure documentation>
getTangentialPressure :: (MonadDOM m) => PointerEvent -> m Float
getTangentialPressure self = liftDOM ((P.realToFrac <$> ((self ^. js "tangentialPressure") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/tiltX MDN PointerEvent.tiltX documentation>
getTiltX :: (MonadDOM m) => PointerEvent -> m Int
getTiltX self = liftDOM ((P.round <$> ((self ^. js "tiltX") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/tiltY MDN PointerEvent.tiltY documentation>
getTiltY :: (MonadDOM m) => PointerEvent -> m Int
getTiltY self = liftDOM ((P.round <$> ((self ^. js "tiltY") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/twist MDN PointerEvent.twist documentation>
getTwist :: (MonadDOM m) => PointerEvent -> m Int
getTwist self = liftDOM ((P.round <$> ((self ^. js "twist") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/altitudeAngle MDN PointerEvent.altitudeAngle documentation>
getAltitudeAngle :: (MonadDOM m) => PointerEvent -> m Double
getAltitudeAngle self = liftDOM (((self ^. js "altitudeAngle") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/azimuthAngle MDN PointerEvent.azimuthAngle documentation>
getAzimuthAngle :: (MonadDOM m) => PointerEvent -> m Double
getAzimuthAngle self = liftDOM (((self ^. js "azimuthAngle") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/pointerType MDN PointerEvent.pointerType documentation>
getPointerType :: (MonadDOM m, FromJSString result) => PointerEvent -> m result
getPointerType self = liftDOM (((self ^. js "pointerType") >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/isPrimary MDN PointerEvent.isPrimary documentation>
getIsPrimary :: (MonadDOM m) => PointerEvent -> m Bool
getIsPrimary self = liftDOM (((self ^. js "isPrimary") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/PointerEvent/persistentDeviceId MDN PointerEvent.persistentDeviceId documentation>
getPersistentDeviceId :: (MonadDOM m) => PointerEvent -> m Int
getPersistentDeviceId self = liftDOM ((P.round <$> ((self ^. js "persistentDeviceId") >>= valToNumber)))