{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.SVGFETurbulenceElement
       (pattern SVG_TURBULENCE_TYPE_UNKNOWN,
        pattern SVG_TURBULENCE_TYPE_FRACTALNOISE,
        pattern SVG_TURBULENCE_TYPE_TURBULENCE,
        pattern SVG_STITCHTYPE_UNKNOWN, pattern SVG_STITCHTYPE_STITCH,
        pattern SVG_STITCHTYPE_NOSTITCH, getBaseFrequencyX,
        getBaseFrequencyY, getNumOctaves, getSeed, getStitchTiles, getType,
        SVGFETurbulenceElement(..), gTypeSVGFETurbulenceElement)
       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
pattern $mSVG_TURBULENCE_TYPE_UNKNOWN :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_TURBULENCE_TYPE_UNKNOWN :: forall {a}. (Eq a, Num a) => a
SVG_TURBULENCE_TYPE_UNKNOWN = 0
pattern $mSVG_TURBULENCE_TYPE_FRACTALNOISE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_TURBULENCE_TYPE_FRACTALNOISE :: forall {a}. (Eq a, Num a) => a
SVG_TURBULENCE_TYPE_FRACTALNOISE = 1
pattern $mSVG_TURBULENCE_TYPE_TURBULENCE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_TURBULENCE_TYPE_TURBULENCE :: forall {a}. (Eq a, Num a) => a
SVG_TURBULENCE_TYPE_TURBULENCE = 2
pattern $mSVG_STITCHTYPE_UNKNOWN :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_STITCHTYPE_UNKNOWN :: forall {a}. (Eq a, Num a) => a
SVG_STITCHTYPE_UNKNOWN = 0
pattern $mSVG_STITCHTYPE_STITCH :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_STITCHTYPE_STITCH :: forall {a}. (Eq a, Num a) => a
SVG_STITCHTYPE_STITCH = 1
pattern $mSVG_STITCHTYPE_NOSTITCH :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_STITCHTYPE_NOSTITCH :: forall {a}. (Eq a, Num a) => a
SVG_STITCHTYPE_NOSTITCH = 2

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFETurbulenceElement.baseFrequencyX Mozilla SVGFETurbulenceElement.baseFrequencyX documentation> 
getBaseFrequencyX ::
                  (MonadDOM m) => SVGFETurbulenceElement -> m SVGAnimatedNumber
getBaseFrequencyX :: forall (m :: * -> *).
MonadDOM m =>
SVGFETurbulenceElement -> m SVGAnimatedNumber
getBaseFrequencyX SVGFETurbulenceElement
self
  = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFETurbulenceElement
self SVGFETurbulenceElement
-> Getting (JSM JSVal) SVGFETurbulenceElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGFETurbulenceElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"baseFrequencyX") JSM JSVal
-> (JSVal -> DOM SVGAnimatedNumber) -> DOM SVGAnimatedNumber
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 SVGAnimatedNumber
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFETurbulenceElement.baseFrequencyY Mozilla SVGFETurbulenceElement.baseFrequencyY documentation> 
getBaseFrequencyY ::
                  (MonadDOM m) => SVGFETurbulenceElement -> m SVGAnimatedNumber
getBaseFrequencyY :: forall (m :: * -> *).
MonadDOM m =>
SVGFETurbulenceElement -> m SVGAnimatedNumber
getBaseFrequencyY SVGFETurbulenceElement
self
  = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFETurbulenceElement
self SVGFETurbulenceElement
-> Getting (JSM JSVal) SVGFETurbulenceElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGFETurbulenceElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"baseFrequencyY") JSM JSVal
-> (JSVal -> DOM SVGAnimatedNumber) -> DOM SVGAnimatedNumber
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 SVGAnimatedNumber
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFETurbulenceElement.numOctaves Mozilla SVGFETurbulenceElement.numOctaves documentation> 
getNumOctaves ::
              (MonadDOM m) => SVGFETurbulenceElement -> m SVGAnimatedInteger
getNumOctaves :: forall (m :: * -> *).
MonadDOM m =>
SVGFETurbulenceElement -> m SVGAnimatedInteger
getNumOctaves SVGFETurbulenceElement
self
  = DOM SVGAnimatedInteger -> m SVGAnimatedInteger
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFETurbulenceElement
self SVGFETurbulenceElement
-> Getting (JSM JSVal) SVGFETurbulenceElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGFETurbulenceElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"numOctaves") JSM JSVal
-> (JSVal -> DOM SVGAnimatedInteger) -> DOM SVGAnimatedInteger
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 SVGAnimatedInteger
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFETurbulenceElement.seed Mozilla SVGFETurbulenceElement.seed documentation> 
getSeed ::
        (MonadDOM m) => SVGFETurbulenceElement -> m SVGAnimatedNumber
getSeed :: forall (m :: * -> *).
MonadDOM m =>
SVGFETurbulenceElement -> m SVGAnimatedNumber
getSeed SVGFETurbulenceElement
self = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFETurbulenceElement
self SVGFETurbulenceElement
-> Getting (JSM JSVal) SVGFETurbulenceElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGFETurbulenceElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"seed") JSM JSVal
-> (JSVal -> DOM SVGAnimatedNumber) -> DOM SVGAnimatedNumber
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 SVGAnimatedNumber
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFETurbulenceElement.stitchTiles Mozilla SVGFETurbulenceElement.stitchTiles documentation> 
getStitchTiles ::
               (MonadDOM m) => SVGFETurbulenceElement -> m SVGAnimatedEnumeration
getStitchTiles :: forall (m :: * -> *).
MonadDOM m =>
SVGFETurbulenceElement -> m SVGAnimatedEnumeration
getStitchTiles SVGFETurbulenceElement
self
  = DOM SVGAnimatedEnumeration -> m SVGAnimatedEnumeration
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFETurbulenceElement
self SVGFETurbulenceElement
-> Getting (JSM JSVal) SVGFETurbulenceElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGFETurbulenceElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"stitchTiles") JSM JSVal
-> (JSVal -> DOM SVGAnimatedEnumeration)
-> DOM SVGAnimatedEnumeration
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 SVGAnimatedEnumeration
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFETurbulenceElement.type Mozilla SVGFETurbulenceElement.type documentation> 
getType ::
        (MonadDOM m) => SVGFETurbulenceElement -> m SVGAnimatedEnumeration
getType :: forall (m :: * -> *).
MonadDOM m =>
SVGFETurbulenceElement -> m SVGAnimatedEnumeration
getType SVGFETurbulenceElement
self = DOM SVGAnimatedEnumeration -> m SVGAnimatedEnumeration
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFETurbulenceElement
self SVGFETurbulenceElement
-> Getting (JSM JSVal) SVGFETurbulenceElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGFETurbulenceElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"type") JSM JSVal
-> (JSVal -> DOM SVGAnimatedEnumeration)
-> DOM SVGAnimatedEnumeration
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 SVGAnimatedEnumeration
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)