{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.SVGFEConvolveMatrixElement
       (pattern SVG_EDGEMODE_UNKNOWN, pattern SVG_EDGEMODE_DUPLICATE,
        pattern SVG_EDGEMODE_WRAP, pattern SVG_EDGEMODE_NONE, getIn1,
        getOrderX, getOrderY, getKernelMatrix, getDivisor, getBias,
        getTargetX, getTargetY, getEdgeMode, getKernelUnitLengthX,
        getKernelUnitLengthY, getPreserveAlpha,
        SVGFEConvolveMatrixElement(..), gTypeSVGFEConvolveMatrixElement)
       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_EDGEMODE_UNKNOWN :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_EDGEMODE_UNKNOWN :: forall {a}. (Eq a, Num a) => a
SVG_EDGEMODE_UNKNOWN = 0
pattern $mSVG_EDGEMODE_DUPLICATE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_EDGEMODE_DUPLICATE :: forall {a}. (Eq a, Num a) => a
SVG_EDGEMODE_DUPLICATE = 1
pattern $mSVG_EDGEMODE_WRAP :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_EDGEMODE_WRAP :: forall {a}. (Eq a, Num a) => a
SVG_EDGEMODE_WRAP = 2
pattern $mSVG_EDGEMODE_NONE :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_EDGEMODE_NONE :: forall {a}. (Eq a, Num a) => a
SVG_EDGEMODE_NONE = 3

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

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

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGFEConvolveMatrixElement.divisor Mozilla SVGFEConvolveMatrixElement.divisor documentation> 
getDivisor ::
           (MonadDOM m) => SVGFEConvolveMatrixElement -> m SVGAnimatedNumber
getDivisor :: forall (m :: * -> *).
MonadDOM m =>
SVGFEConvolveMatrixElement -> m SVGAnimatedNumber
getDivisor SVGFEConvolveMatrixElement
self
  = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFEConvolveMatrixElement
self SVGFEConvolveMatrixElement
-> Getting (JSM JSVal) SVGFEConvolveMatrixElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String
-> IndexPreservingGetter SVGFEConvolveMatrixElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"divisor") 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/SVGFEConvolveMatrixElement.bias Mozilla SVGFEConvolveMatrixElement.bias documentation> 
getBias ::
        (MonadDOM m) => SVGFEConvolveMatrixElement -> m SVGAnimatedNumber
getBias :: forall (m :: * -> *).
MonadDOM m =>
SVGFEConvolveMatrixElement -> m SVGAnimatedNumber
getBias SVGFEConvolveMatrixElement
self = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFEConvolveMatrixElement
self SVGFEConvolveMatrixElement
-> Getting (JSM JSVal) SVGFEConvolveMatrixElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String
-> IndexPreservingGetter SVGFEConvolveMatrixElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"bias") 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/SVGFEConvolveMatrixElement.targetX Mozilla SVGFEConvolveMatrixElement.targetX documentation> 
getTargetX ::
           (MonadDOM m) => SVGFEConvolveMatrixElement -> m SVGAnimatedInteger
getTargetX :: forall (m :: * -> *).
MonadDOM m =>
SVGFEConvolveMatrixElement -> m SVGAnimatedInteger
getTargetX SVGFEConvolveMatrixElement
self
  = DOM SVGAnimatedInteger -> m SVGAnimatedInteger
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFEConvolveMatrixElement
self SVGFEConvolveMatrixElement
-> Getting (JSM JSVal) SVGFEConvolveMatrixElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String
-> IndexPreservingGetter SVGFEConvolveMatrixElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"targetX") 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/SVGFEConvolveMatrixElement.targetY Mozilla SVGFEConvolveMatrixElement.targetY documentation> 
getTargetY ::
           (MonadDOM m) => SVGFEConvolveMatrixElement -> m SVGAnimatedInteger
getTargetY :: forall (m :: * -> *).
MonadDOM m =>
SVGFEConvolveMatrixElement -> m SVGAnimatedInteger
getTargetY SVGFEConvolveMatrixElement
self
  = DOM SVGAnimatedInteger -> m SVGAnimatedInteger
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFEConvolveMatrixElement
self SVGFEConvolveMatrixElement
-> Getting (JSM JSVal) SVGFEConvolveMatrixElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String
-> IndexPreservingGetter SVGFEConvolveMatrixElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"targetY") 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/SVGFEConvolveMatrixElement.edgeMode Mozilla SVGFEConvolveMatrixElement.edgeMode documentation> 
getEdgeMode ::
            (MonadDOM m) =>
              SVGFEConvolveMatrixElement -> m SVGAnimatedEnumeration
getEdgeMode :: forall (m :: * -> *).
MonadDOM m =>
SVGFEConvolveMatrixElement -> m SVGAnimatedEnumeration
getEdgeMode SVGFEConvolveMatrixElement
self
  = DOM SVGAnimatedEnumeration -> m SVGAnimatedEnumeration
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFEConvolveMatrixElement
self SVGFEConvolveMatrixElement
-> Getting (JSM JSVal) SVGFEConvolveMatrixElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String
-> IndexPreservingGetter SVGFEConvolveMatrixElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"edgeMode") 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/SVGFEConvolveMatrixElement.kernelUnitLengthX Mozilla SVGFEConvolveMatrixElement.kernelUnitLengthX documentation> 
getKernelUnitLengthX ::
                     (MonadDOM m) => SVGFEConvolveMatrixElement -> m SVGAnimatedNumber
getKernelUnitLengthX :: forall (m :: * -> *).
MonadDOM m =>
SVGFEConvolveMatrixElement -> m SVGAnimatedNumber
getKernelUnitLengthX SVGFEConvolveMatrixElement
self
  = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFEConvolveMatrixElement
self SVGFEConvolveMatrixElement
-> Getting (JSM JSVal) SVGFEConvolveMatrixElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String
-> IndexPreservingGetter SVGFEConvolveMatrixElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"kernelUnitLengthX") 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/SVGFEConvolveMatrixElement.kernelUnitLengthY Mozilla SVGFEConvolveMatrixElement.kernelUnitLengthY documentation> 
getKernelUnitLengthY ::
                     (MonadDOM m) => SVGFEConvolveMatrixElement -> m SVGAnimatedNumber
getKernelUnitLengthY :: forall (m :: * -> *).
MonadDOM m =>
SVGFEConvolveMatrixElement -> m SVGAnimatedNumber
getKernelUnitLengthY SVGFEConvolveMatrixElement
self
  = DOM SVGAnimatedNumber -> m SVGAnimatedNumber
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFEConvolveMatrixElement
self SVGFEConvolveMatrixElement
-> Getting (JSM JSVal) SVGFEConvolveMatrixElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String
-> IndexPreservingGetter SVGFEConvolveMatrixElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"kernelUnitLengthY") 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/SVGFEConvolveMatrixElement.preserveAlpha Mozilla SVGFEConvolveMatrixElement.preserveAlpha documentation> 
getPreserveAlpha ::
                 (MonadDOM m) => SVGFEConvolveMatrixElement -> m SVGAnimatedBoolean
getPreserveAlpha :: forall (m :: * -> *).
MonadDOM m =>
SVGFEConvolveMatrixElement -> m SVGAnimatedBoolean
getPreserveAlpha SVGFEConvolveMatrixElement
self
  = DOM SVGAnimatedBoolean -> m SVGAnimatedBoolean
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGFEConvolveMatrixElement
self SVGFEConvolveMatrixElement
-> Getting (JSM JSVal) SVGFEConvolveMatrixElement (JSM JSVal)
-> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String
-> IndexPreservingGetter SVGFEConvolveMatrixElement (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"preserveAlpha") JSM JSVal
-> (JSVal -> DOM SVGAnimatedBoolean) -> DOM SVGAnimatedBoolean
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 SVGAnimatedBoolean
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)