jsaddle-dom-0.10.0.0: src/JSDOM/Generated/DOMRect.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.DOMRect
(newDOMRect, fromRect, fromRect_, setX, getX, setY, getY, setWidth, getWidth, setHeight, getHeight, DOMRect(..), gTypeDOMRect)
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/DOMRect/DOMRect MDN DOMRect. documentation>
newDOMRect :: (MonadDOM m) => Maybe Double -> Maybe Double -> Maybe Double -> Maybe Double -> m DOMRect
newDOMRect x y width height = liftDOM (((new (jsg "DOMRect") [P.maybe (P.return jsUndefined) toJSVal x, P.maybe (P.return jsUndefined) toJSVal y, P.maybe (P.return jsUndefined) toJSVal width, P.maybe (P.return jsUndefined) toJSVal height]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DOMRect/fromRect_static MDN DOMRect.fromRect documentation>
fromRect :: (MonadDOM m) => Maybe DOMRectInit -> m DOMRect
fromRect other = liftDOM ((((jsg "DOMRect") ^. jsf "fromRect" [P.maybe (P.return jsUndefined) toJSVal other]) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/DOMRect/fromRect_static MDN DOMRect.fromRect documentation>
fromRect_ :: (MonadDOM m) => Maybe DOMRectInit -> m ()
fromRect_ other = liftDOM (void ((jsg "DOMRect") ^. jsf "fromRect" [P.maybe (P.return jsUndefined) toJSVal other]))
-- | <https://developer.mozilla.org/docs/Web/API/DOMRect/x MDN DOMRect.x documentation>
setX :: (MonadDOM m) => DOMRect -> Double -> m ()
setX self val = liftDOM (void (self ^. jss "x" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/DOMRect/x MDN DOMRect.x documentation>
getX :: (MonadDOM m) => DOMRect -> m Double
getX self = liftDOM (((self ^. js "x") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/DOMRect/y MDN DOMRect.y documentation>
setY :: (MonadDOM m) => DOMRect -> Double -> m ()
setY self val = liftDOM (void (self ^. jss "y" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/DOMRect/y MDN DOMRect.y documentation>
getY :: (MonadDOM m) => DOMRect -> m Double
getY self = liftDOM (((self ^. js "y") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/DOMRect/width MDN DOMRect.width documentation>
setWidth :: (MonadDOM m) => DOMRect -> Double -> m ()
setWidth self val = liftDOM (void (self ^. jss "width" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/DOMRect/width MDN DOMRect.width documentation>
getWidth :: (MonadDOM m) => DOMRect -> m Double
getWidth self = liftDOM (((self ^. js "width") >>= valToNumber))
-- | <https://developer.mozilla.org/docs/Web/API/DOMRect/height MDN DOMRect.height documentation>
setHeight :: (MonadDOM m) => DOMRect -> Double -> m ()
setHeight self val = liftDOM (void (self ^. jss "height" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/DOMRect/height MDN DOMRect.height documentation>
getHeight :: (MonadDOM m) => DOMRect -> m Double
getHeight self = liftDOM (((self ^. js "height") >>= valToNumber))