packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/Touch.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from touch-events (webref). Do not edit.
module JSDOM.Generated.Touch
       (newTouch, getIdentifier, getTarget, getScreenX, getScreenY, getClientX, getClientY, getPageX, getPageY, getRadiusX, getRadiusY, getRotationAngle, getForce, Touch(..), gTypeTouch)
       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/Touch/Touch MDN Touch. documentation>
newTouch :: (MonadDOM m) => TouchInit -> m Touch
newTouch touchInitDict = liftDOM (((new (jsg "Touch") [toJSVal touchInitDict]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/identifier MDN Touch.identifier documentation>
getIdentifier :: (MonadDOM m) => Touch -> m Int
getIdentifier self = liftDOM ((P.round <$> ((self ^. js "identifier") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/target MDN Touch.target documentation>
getTarget :: (MonadDOM m) => Touch -> m EventTarget
getTarget self = liftDOM (((self ^. js "target") >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/screenX MDN Touch.screenX documentation>
getScreenX :: (MonadDOM m) => Touch -> m Double
getScreenX self = liftDOM (((self ^. js "screenX") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/screenY MDN Touch.screenY documentation>
getScreenY :: (MonadDOM m) => Touch -> m Double
getScreenY self = liftDOM (((self ^. js "screenY") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/clientX MDN Touch.clientX documentation>
getClientX :: (MonadDOM m) => Touch -> m Double
getClientX self = liftDOM (((self ^. js "clientX") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/clientY MDN Touch.clientY documentation>
getClientY :: (MonadDOM m) => Touch -> m Double
getClientY self = liftDOM (((self ^. js "clientY") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/pageX MDN Touch.pageX documentation>
getPageX :: (MonadDOM m) => Touch -> m Double
getPageX self = liftDOM (((self ^. js "pageX") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/pageY MDN Touch.pageY documentation>
getPageY :: (MonadDOM m) => Touch -> m Double
getPageY self = liftDOM (((self ^. js "pageY") >>= valToNumber))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/radiusX MDN Touch.radiusX documentation>
getRadiusX :: (MonadDOM m) => Touch -> m Float
getRadiusX self = liftDOM ((P.realToFrac <$> ((self ^. js "radiusX") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/radiusY MDN Touch.radiusY documentation>
getRadiusY :: (MonadDOM m) => Touch -> m Float
getRadiusY self = liftDOM ((P.realToFrac <$> ((self ^. js "radiusY") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/rotationAngle MDN Touch.rotationAngle documentation>
getRotationAngle :: (MonadDOM m) => Touch -> m Float
getRotationAngle self = liftDOM ((P.realToFrac <$> ((self ^. js "rotationAngle") >>= valToNumber)))

-- | <https://developer.mozilla.org/docs/Web/API/Touch/force MDN Touch.force documentation>
getForce :: (MonadDOM m) => Touch -> m Float
getForce self = liftDOM ((P.realToFrac <$> ((self ^. js "force") >>= valToNumber)))