{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.SVGRectElement
       (getX, getY, getWidth, getHeight, getRx, getRy, SVGRectElement(..),
        gTypeSVGRectElement)
       where
import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..))
import qualified Prelude (error)
import Data.Typeable (Typeable)
import Data.Traversable (mapM)
import Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, asyncFunction, new, array, jsUndefined, (!), (!!))
import Data.Int (Int64)
import Data.Word (Word, Word64)
import JSDOM.Types
import Control.Applicative ((<$>))
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Enums

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGRectElement.x Mozilla SVGRectElement.x documentation> 
getX :: (MonadDOM m) => SVGRectElement -> m SVGAnimatedLength
getX :: forall (m :: * -> *).
MonadDOM m =>
SVGRectElement -> m SVGAnimatedLength
getX SVGRectElement
self = DOM SVGAnimatedLength -> m SVGAnimatedLength
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGRectElement
self SVGRectElement
-> Getting (JSM JSVal) SVGRectElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGRectElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"x") JSM JSVal
-> (JSVal -> DOM SVGAnimatedLength) -> DOM SVGAnimatedLength
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedLength
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGRectElement.y Mozilla SVGRectElement.y documentation> 
getY :: (MonadDOM m) => SVGRectElement -> m SVGAnimatedLength
getY :: forall (m :: * -> *).
MonadDOM m =>
SVGRectElement -> m SVGAnimatedLength
getY SVGRectElement
self = DOM SVGAnimatedLength -> m SVGAnimatedLength
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGRectElement
self SVGRectElement
-> Getting (JSM JSVal) SVGRectElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGRectElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"y") JSM JSVal
-> (JSVal -> DOM SVGAnimatedLength) -> DOM SVGAnimatedLength
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedLength
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGRectElement.width Mozilla SVGRectElement.width documentation> 
getWidth :: (MonadDOM m) => SVGRectElement -> m SVGAnimatedLength
getWidth :: forall (m :: * -> *).
MonadDOM m =>
SVGRectElement -> m SVGAnimatedLength
getWidth SVGRectElement
self
  = DOM SVGAnimatedLength -> m SVGAnimatedLength
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGRectElement
self SVGRectElement
-> Getting (JSM JSVal) SVGRectElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGRectElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"width") JSM JSVal
-> (JSVal -> DOM SVGAnimatedLength) -> DOM SVGAnimatedLength
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedLength
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGRectElement.height Mozilla SVGRectElement.height documentation> 
getHeight :: (MonadDOM m) => SVGRectElement -> m SVGAnimatedLength
getHeight :: forall (m :: * -> *).
MonadDOM m =>
SVGRectElement -> m SVGAnimatedLength
getHeight SVGRectElement
self
  = DOM SVGAnimatedLength -> m SVGAnimatedLength
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGRectElement
self SVGRectElement
-> Getting (JSM JSVal) SVGRectElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGRectElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"height") JSM JSVal
-> (JSVal -> DOM SVGAnimatedLength) -> DOM SVGAnimatedLength
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedLength
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGRectElement.rx Mozilla SVGRectElement.rx documentation> 
getRx :: (MonadDOM m) => SVGRectElement -> m SVGAnimatedLength
getRx :: forall (m :: * -> *).
MonadDOM m =>
SVGRectElement -> m SVGAnimatedLength
getRx SVGRectElement
self = DOM SVGAnimatedLength -> m SVGAnimatedLength
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGRectElement
self SVGRectElement
-> Getting (JSM JSVal) SVGRectElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGRectElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"rx") JSM JSVal
-> (JSVal -> DOM SVGAnimatedLength) -> DOM SVGAnimatedLength
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedLength
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGRectElement.ry Mozilla SVGRectElement.ry documentation> 
getRy :: (MonadDOM m) => SVGRectElement -> m SVGAnimatedLength
getRy :: forall (m :: * -> *).
MonadDOM m =>
SVGRectElement -> m SVGAnimatedLength
getRy SVGRectElement
self = DOM SVGAnimatedLength -> m SVGAnimatedLength
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGRectElement
self SVGRectElement
-> Getting (JSM JSVal) SVGRectElement (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGRectElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"ry") JSM JSVal
-> (JSVal -> DOM SVGAnimatedLength) -> DOM SVGAnimatedLength
forall a b. JSM a -> (a -> JSM b) -> JSM b
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedLength
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)