{-# LANGUAGE PatternSynonyms #-}
-- For HasCallStack compatibility
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.SVGMatrix
       (multiply, multiply_, inverse, inverse_, translate, translate_,
        scale, scale_, scaleNonUniform, scaleNonUniform_, rotate, rotate_,
        rotateFromVector, rotateFromVector_, flipX, flipX_, flipY, flipY_,
        skewX, skewX_, skewY, skewY_, setA, getA, setB, getB, setC, getC,
        setD, getD, setE, getE, setF, getF, SVGMatrix(..), gTypeSVGMatrix)
       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/SVGMatrix.multiply Mozilla SVGMatrix.multiply documentation> 
multiply :: (MonadDOM m) => SVGMatrix -> SVGMatrix -> m SVGMatrix
multiply :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> SVGMatrix -> m SVGMatrix
multiply SVGMatrix
self SVGMatrix
secondMatrix
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"multiply" [SVGMatrix -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal SVGMatrix
secondMatrix]) JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.multiply Mozilla SVGMatrix.multiply documentation> 
multiply_ :: (MonadDOM m) => SVGMatrix -> SVGMatrix -> m ()
multiply_ :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> SVGMatrix -> m ()
multiply_ SVGMatrix
self SVGMatrix
secondMatrix
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"multiply" [SVGMatrix -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal SVGMatrix
secondMatrix]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.inverse Mozilla SVGMatrix.inverse documentation> 
inverse :: (MonadDOM m) => SVGMatrix -> m SVGMatrix
inverse :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m SVGMatrix
inverse SVGMatrix
self
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"inverse" ()) JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.inverse Mozilla SVGMatrix.inverse documentation> 
inverse_ :: (MonadDOM m) => SVGMatrix -> m ()
inverse_ :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m ()
inverse_ SVGMatrix
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"inverse" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.translate Mozilla SVGMatrix.translate documentation> 
translate ::
          (MonadDOM m) => SVGMatrix -> Float -> Float -> m SVGMatrix
translate :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> Float -> Float -> m SVGMatrix
translate SVGMatrix
self Float
x Float
y
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"translate" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
x, Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
y]) JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.translate Mozilla SVGMatrix.translate documentation> 
translate_ :: (MonadDOM m) => SVGMatrix -> Float -> Float -> m ()
translate_ :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> Float -> Float -> m ()
translate_ SVGMatrix
self Float
x Float
y
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"translate" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
x, Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
y]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.scale Mozilla SVGMatrix.scale documentation> 
scale :: (MonadDOM m) => SVGMatrix -> Float -> m SVGMatrix
scale :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> Float -> m SVGMatrix
scale SVGMatrix
self Float
scaleFactor
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scale" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
scaleFactor]) JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.scale Mozilla SVGMatrix.scale documentation> 
scale_ :: (MonadDOM m) => SVGMatrix -> Float -> m ()
scale_ :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> Float -> m ()
scale_ SVGMatrix
self Float
scaleFactor
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scale" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
scaleFactor]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.scaleNonUniform Mozilla SVGMatrix.scaleNonUniform documentation> 
scaleNonUniform ::
                (MonadDOM m) => SVGMatrix -> Float -> Float -> m SVGMatrix
scaleNonUniform :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> Float -> Float -> m SVGMatrix
scaleNonUniform SVGMatrix
self Float
scaleFactorX Float
scaleFactorY
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scaleNonUniform"
          [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
scaleFactorX, Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
scaleFactorY])
         JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.scaleNonUniform Mozilla SVGMatrix.scaleNonUniform documentation> 
scaleNonUniform_ ::
                 (MonadDOM m) => SVGMatrix -> Float -> Float -> m ()
scaleNonUniform_ :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> Float -> Float -> m ()
scaleNonUniform_ SVGMatrix
self Float
scaleFactorX Float
scaleFactorY
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
         (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"scaleNonUniform"
            [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
scaleFactorX, Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
scaleFactorY]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.rotate Mozilla SVGMatrix.rotate documentation> 
rotate :: (MonadDOM m) => SVGMatrix -> Float -> m SVGMatrix
rotate :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> Float -> m SVGMatrix
rotate SVGMatrix
self Float
angle
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"rotate" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
angle]) JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.rotate Mozilla SVGMatrix.rotate documentation> 
rotate_ :: (MonadDOM m) => SVGMatrix -> Float -> m ()
rotate_ :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> Float -> m ()
rotate_ SVGMatrix
self Float
angle
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"rotate" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
angle]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.rotateFromVector Mozilla SVGMatrix.rotateFromVector documentation> 
rotateFromVector ::
                 (MonadDOM m) => SVGMatrix -> Float -> Float -> m SVGMatrix
rotateFromVector :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> Float -> Float -> m SVGMatrix
rotateFromVector SVGMatrix
self Float
x Float
y
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"rotateFromVector" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
x, Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
y]) JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.rotateFromVector Mozilla SVGMatrix.rotateFromVector documentation> 
rotateFromVector_ ::
                  (MonadDOM m) => SVGMatrix -> Float -> Float -> m ()
rotateFromVector_ :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> Float -> Float -> m ()
rotateFromVector_ SVGMatrix
self Float
x Float
y
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"rotateFromVector" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
x, Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
y]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.flipX Mozilla SVGMatrix.flipX documentation> 
flipX :: (MonadDOM m) => SVGMatrix -> m SVGMatrix
flipX :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m SVGMatrix
flipX SVGMatrix
self
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"flipX" ()) JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.flipX Mozilla SVGMatrix.flipX documentation> 
flipX_ :: (MonadDOM m) => SVGMatrix -> m ()
flipX_ :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m ()
flipX_ SVGMatrix
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"flipX" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.flipY Mozilla SVGMatrix.flipY documentation> 
flipY :: (MonadDOM m) => SVGMatrix -> m SVGMatrix
flipY :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m SVGMatrix
flipY SVGMatrix
self
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"flipY" ()) JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.flipY Mozilla SVGMatrix.flipY documentation> 
flipY_ :: (MonadDOM m) => SVGMatrix -> m ()
flipY_ :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m ()
flipY_ SVGMatrix
self = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> () -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"flipY" ()))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.skewX Mozilla SVGMatrix.skewX documentation> 
skewX :: (MonadDOM m) => SVGMatrix -> Float -> m SVGMatrix
skewX :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> Float -> m SVGMatrix
skewX SVGMatrix
self Float
angle
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"skewX" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
angle]) JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.skewX Mozilla SVGMatrix.skewX documentation> 
skewX_ :: (MonadDOM m) => SVGMatrix -> Float -> m ()
skewX_ :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> Float -> m ()
skewX_ SVGMatrix
self Float
angle
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"skewX" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
angle]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.skewY Mozilla SVGMatrix.skewY documentation> 
skewY :: (MonadDOM m) => SVGMatrix -> Float -> m SVGMatrix
skewY :: forall (m :: * -> *).
MonadDOM m =>
SVGMatrix -> Float -> m SVGMatrix
skewY SVGMatrix
self Float
angle
  = DOM SVGMatrix -> m SVGMatrix
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
      ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"skewY" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
angle]) JSM JSVal -> (JSVal -> DOM SVGMatrix) -> DOM SVGMatrix
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 SVGMatrix
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.skewY Mozilla SVGMatrix.skewY documentation> 
skewY_ :: (MonadDOM m) => SVGMatrix -> Float -> m ()
skewY_ :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> Float -> m ()
skewY_ SVGMatrix
self Float
angle
  = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf String
"skewY" [Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
angle]))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.a Mozilla SVGMatrix.a documentation> 
setA :: (MonadDOM m) => SVGMatrix -> Double -> m ()
setA :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> Double -> m ()
setA SVGMatrix
self Double
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGMatrix
self SVGMatrix -> Getting (DOM ()) SVGMatrix (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"a" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.a Mozilla SVGMatrix.a documentation> 
getA :: (MonadDOM m) => SVGMatrix -> m Double
getA :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m Double
getA SVGMatrix
self = DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGMatrix (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"a") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
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 Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.b Mozilla SVGMatrix.b documentation> 
setB :: (MonadDOM m) => SVGMatrix -> Double -> m ()
setB :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> Double -> m ()
setB SVGMatrix
self Double
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGMatrix
self SVGMatrix -> Getting (DOM ()) SVGMatrix (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"b" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.b Mozilla SVGMatrix.b documentation> 
getB :: (MonadDOM m) => SVGMatrix -> m Double
getB :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m Double
getB SVGMatrix
self = DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGMatrix (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"b") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
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 Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.c Mozilla SVGMatrix.c documentation> 
setC :: (MonadDOM m) => SVGMatrix -> Double -> m ()
setC :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> Double -> m ()
setC SVGMatrix
self Double
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGMatrix
self SVGMatrix -> Getting (DOM ()) SVGMatrix (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"c" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.c Mozilla SVGMatrix.c documentation> 
getC :: (MonadDOM m) => SVGMatrix -> m Double
getC :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m Double
getC SVGMatrix
self = DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGMatrix (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"c") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
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 Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.d Mozilla SVGMatrix.d documentation> 
setD :: (MonadDOM m) => SVGMatrix -> Double -> m ()
setD :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> Double -> m ()
setD SVGMatrix
self Double
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGMatrix
self SVGMatrix -> Getting (DOM ()) SVGMatrix (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"d" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.d Mozilla SVGMatrix.d documentation> 
getD :: (MonadDOM m) => SVGMatrix -> m Double
getD :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m Double
getD SVGMatrix
self = DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGMatrix (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"d") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
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 Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.e Mozilla SVGMatrix.e documentation> 
setE :: (MonadDOM m) => SVGMatrix -> Double -> m ()
setE :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> Double -> m ()
setE SVGMatrix
self Double
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGMatrix
self SVGMatrix -> Getting (DOM ()) SVGMatrix (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"e" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.e Mozilla SVGMatrix.e documentation> 
getE :: (MonadDOM m) => SVGMatrix -> m Double
getE :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m Double
getE SVGMatrix
self = DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGMatrix (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"e") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
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 Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.f Mozilla SVGMatrix.f documentation> 
setF :: (MonadDOM m) => SVGMatrix -> Double -> m ()
setF :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> Double -> m ()
setF SVGMatrix
self Double
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGMatrix
self SVGMatrix -> Getting (DOM ()) SVGMatrix (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. String
-> JSM JSVal
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
forall name val.
(ToJSString name, ToJSVal val) =>
name
-> val
-> forall o. MakeObject o => IndexPreservingGetter o (DOM ())
jss String
"f" (Double -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Double
val))

-- | <https://developer.mozilla.org/en-US/docs/Web/API/SVGMatrix.f Mozilla SVGMatrix.f documentation> 
getF :: (MonadDOM m) => SVGMatrix -> m Double
getF :: forall (m :: * -> *). MonadDOM m => SVGMatrix -> m Double
getF SVGMatrix
self = DOM Double -> m Double
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGMatrix
self SVGMatrix -> Getting (JSM JSVal) SVGMatrix (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGMatrix (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"f") JSM JSVal -> (JSVal -> DOM Double) -> DOM Double
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 Double
forall value. ToJSVal value => value -> DOM Double
valToNumber)