packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from geometry-1 (webref). Do not edit.
module JSDOM.Generated.DOMPoint
       (newDOMPoint, newDOMPoint', fromPoint, fromPoint_, setX, getX, setY, getY, setZ, getZ, setW, getW, DOMPoint(..), gTypeDOMPoint)
       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/DOMPoint/DOMPoint MDN DOMPoint. documentation>
newDOMPoint :: (MonadDOM m) => Maybe Double -> m DOMPoint
newDOMPoint x = liftDOM (((new (jsg "DOMPoint") [P.maybe (P.return jsUndefined) toJSVal x]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/DOMPoint/DOMPoint MDN DOMPoint. documentation>
newDOMPoint' :: (MonadDOM m) => Maybe Double -> Maybe Double -> Maybe Double -> Maybe Double -> m DOMPoint
newDOMPoint' x y z w = liftDOM (((new (jsg "DOMPoint") [P.maybe (P.return jsUndefined) toJSVal x, P.maybe (P.return jsUndefined) toJSVal y, P.maybe (P.return jsUndefined) toJSVal z, P.maybe (P.return jsUndefined) toJSVal w]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/DOMPoint/fromPoint_static MDN DOMPoint.fromPoint documentation>
fromPoint :: (MonadDOM m) => Maybe DOMPointInit -> m DOMPoint
fromPoint other = liftDOM ((((jsg "DOMPoint") ^. jsf "fromPoint" [P.maybe (P.return jsUndefined) toJSVal other]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/DOMPoint/fromPoint_static MDN DOMPoint.fromPoint documentation>
fromPoint_ :: (MonadDOM m) => Maybe DOMPointInit -> m ()
fromPoint_ other = liftDOM (void ((jsg "DOMPoint") ^. jsf "fromPoint" [P.maybe (P.return jsUndefined) toJSVal other]))

-- | <https://developer.mozilla.org/docs/Web/API/DOMPoint/x MDN DOMPoint.x documentation>
setX :: (MonadDOM m) => DOMPoint -> Double -> m ()
setX self val = liftDOM (void (self ^. jss "x" (toJSVal val)))

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

-- | <https://developer.mozilla.org/docs/Web/API/DOMPoint/y MDN DOMPoint.y documentation>
setY :: (MonadDOM m) => DOMPoint -> Double -> m ()
setY self val = liftDOM (void (self ^. jss "y" (toJSVal val)))

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

-- | <https://developer.mozilla.org/docs/Web/API/DOMPoint/z MDN DOMPoint.z documentation>
setZ :: (MonadDOM m) => DOMPoint -> Double -> m ()
setZ self val = liftDOM (void (self ^. jss "z" (toJSVal val)))

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

-- | <https://developer.mozilla.org/docs/Web/API/DOMPoint/w MDN DOMPoint.w documentation>
setW :: (MonadDOM m) => DOMPoint -> Double -> m ()
setW self val = liftDOM (void (self ^. jss "w" (toJSVal val)))

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