{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.SVGFESpotLightElement
       (getX, getY, getZ, getPointsAtX, getPointsAtY, getPointsAtZ,
        getSpecularExponent, getLimitingConeAngle,
        SVGFESpotLightElement(..), gTypeSVGFESpotLightElement)
       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/SVGFESpotLightElement.x Mozilla SVGFESpotLightElement.x documentation> 
getX ::
     (MonadDOM m) => SVGFESpotLightElement -> m SVGAnimatedNumber
getX :: SVGFESpotLightElement -> m SVGAnimatedNumber
getX SVGFESpotLightElement
self = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFESpotLightElement
self SVGFESpotLightElement
-> Getting (JSM JSVal) SVGFESpotLightElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGFESpotLightElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"x") JSM JSVal
-> (JSVal -> DOM SVGAnimatedNumber) -> DOM SVGAnimatedNumber
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedNumber
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

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

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpotLightElement.z Mozilla SVGFESpotLightElement.z documentation> 
getZ ::
     (MonadDOM m) => SVGFESpotLightElement -> m SVGAnimatedNumber
getZ :: SVGFESpotLightElement -> m SVGAnimatedNumber
getZ SVGFESpotLightElement
self = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFESpotLightElement
self SVGFESpotLightElement
-> Getting (JSM JSVal) SVGFESpotLightElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGFESpotLightElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"z") JSM JSVal
-> (JSVal -> DOM SVGAnimatedNumber) -> DOM SVGAnimatedNumber
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedNumber
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpotLightElement.pointsAtX Mozilla SVGFESpotLightElement.pointsAtX documentation> 
getPointsAtX ::
             (MonadDOM m) => SVGFESpotLightElement -> m SVGAnimatedNumber
getPointsAtX :: SVGFESpotLightElement -> m SVGAnimatedNumber
getPointsAtX SVGFESpotLightElement
self
  = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFESpotLightElement
self SVGFESpotLightElement
-> Getting (JSM JSVal) SVGFESpotLightElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGFESpotLightElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"pointsAtX") JSM JSVal
-> (JSVal -> DOM SVGAnimatedNumber) -> DOM SVGAnimatedNumber
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedNumber
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpotLightElement.pointsAtY Mozilla SVGFESpotLightElement.pointsAtY documentation> 
getPointsAtY ::
             (MonadDOM m) => SVGFESpotLightElement -> m SVGAnimatedNumber
getPointsAtY :: SVGFESpotLightElement -> m SVGAnimatedNumber
getPointsAtY SVGFESpotLightElement
self
  = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFESpotLightElement
self SVGFESpotLightElement
-> Getting (JSM JSVal) SVGFESpotLightElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGFESpotLightElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"pointsAtY") JSM JSVal
-> (JSVal -> DOM SVGAnimatedNumber) -> DOM SVGAnimatedNumber
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedNumber
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpotLightElement.pointsAtZ Mozilla SVGFESpotLightElement.pointsAtZ documentation> 
getPointsAtZ ::
             (MonadDOM m) => SVGFESpotLightElement -> m SVGAnimatedNumber
getPointsAtZ :: SVGFESpotLightElement -> m SVGAnimatedNumber
getPointsAtZ SVGFESpotLightElement
self
  = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFESpotLightElement
self SVGFESpotLightElement
-> Getting (JSM JSVal) SVGFESpotLightElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGFESpotLightElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"pointsAtZ") JSM JSVal
-> (JSVal -> DOM SVGAnimatedNumber) -> DOM SVGAnimatedNumber
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedNumber
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpotLightElement.specularExponent Mozilla SVGFESpotLightElement.specularExponent documentation> 
getSpecularExponent ::
                    (MonadDOM m) => SVGFESpotLightElement -> m SVGAnimatedNumber
getSpecularExponent :: SVGFESpotLightElement -> m SVGAnimatedNumber
getSpecularExponent SVGFESpotLightElement
self
  = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFESpotLightElement
self SVGFESpotLightElement
-> Getting (JSM JSVal) SVGFESpotLightElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGFESpotLightElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"specularExponent") JSM JSVal
-> (JSVal -> DOM SVGAnimatedNumber) -> DOM SVGAnimatedNumber
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedNumber
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFESpotLightElement.limitingConeAngle Mozilla SVGFESpotLightElement.limitingConeAngle documentation> 
getLimitingConeAngle ::
                     (MonadDOM m) => SVGFESpotLightElement -> m SVGAnimatedNumber
getLimitingConeAngle :: SVGFESpotLightElement -> m SVGAnimatedNumber
getLimitingConeAngle SVGFESpotLightElement
self
  = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFESpotLightElement
self SVGFESpotLightElement
-> Getting (JSM JSVal) SVGFESpotLightElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGFESpotLightElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"limitingConeAngle") JSM JSVal
-> (JSVal -> DOM SVGAnimatedNumber) -> DOM SVGAnimatedNumber
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM SVGAnimatedNumber
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)