{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.SVGLength
(newValueSpecifiedUnits, convertToSpecifiedUnits,
pattern SVG_LENGTHTYPE_UNKNOWN, pattern SVG_LENGTHTYPE_NUMBER,
pattern SVG_LENGTHTYPE_PERCENTAGE, pattern SVG_LENGTHTYPE_EMS,
pattern SVG_LENGTHTYPE_EXS, pattern SVG_LENGTHTYPE_PX,
pattern SVG_LENGTHTYPE_CM, pattern SVG_LENGTHTYPE_MM,
pattern SVG_LENGTHTYPE_IN, pattern SVG_LENGTHTYPE_PT,
pattern SVG_LENGTHTYPE_PC, getUnitType, setValue, getValue,
setValueInSpecifiedUnits, getValueInSpecifiedUnits,
setValueAsString, getValueAsString, SVGLength(..), gTypeSVGLength)
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
newValueSpecifiedUnits ::
(MonadDOM m) => SVGLength -> Word -> Float -> m ()
newValueSpecifiedUnits :: SVGLength -> Word -> Float -> m ()
newValueSpecifiedUnits SVGLength
self Word
unitType Float
valueInSpecifiedUnits
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void
(SVGLength
self SVGLength -> Getting (JSM JSVal) SVGLength (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"newValueSpecifiedUnits"
[Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
unitType, Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
valueInSpecifiedUnits]))
convertToSpecifiedUnits ::
(MonadDOM m) => SVGLength -> Word -> m ()
convertToSpecifiedUnits :: SVGLength -> Word -> m ()
convertToSpecifiedUnits SVGLength
self Word
unitType
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(JSM JSVal -> DOM ()
forall (f :: * -> *) a. Functor f => f a -> f ()
void (SVGLength
self SVGLength -> Getting (JSM JSVal) SVGLength (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> [JSM JSVal] -> JSF
forall name args.
(ToJSString name, MakeArgs args) =>
name -> args -> JSF
jsf [Char]
"convertToSpecifiedUnits" [Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
unitType]))
pattern $bSVG_LENGTHTYPE_UNKNOWN :: a
$mSVG_LENGTHTYPE_UNKNOWN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_UNKNOWN = 0
pattern $bSVG_LENGTHTYPE_NUMBER :: a
$mSVG_LENGTHTYPE_NUMBER :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_NUMBER = 1
pattern $bSVG_LENGTHTYPE_PERCENTAGE :: a
$mSVG_LENGTHTYPE_PERCENTAGE :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_PERCENTAGE = 2
pattern $bSVG_LENGTHTYPE_EMS :: a
$mSVG_LENGTHTYPE_EMS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_EMS = 3
pattern $bSVG_LENGTHTYPE_EXS :: a
$mSVG_LENGTHTYPE_EXS :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_EXS = 4
pattern $bSVG_LENGTHTYPE_PX :: a
$mSVG_LENGTHTYPE_PX :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_PX = 5
pattern $bSVG_LENGTHTYPE_CM :: a
$mSVG_LENGTHTYPE_CM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_CM = 6
pattern $bSVG_LENGTHTYPE_MM :: a
$mSVG_LENGTHTYPE_MM :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_MM = 7
pattern $bSVG_LENGTHTYPE_IN :: a
$mSVG_LENGTHTYPE_IN :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_IN = 8
pattern $bSVG_LENGTHTYPE_PT :: a
$mSVG_LENGTHTYPE_PT :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_PT = 9
pattern $bSVG_LENGTHTYPE_PC :: a
$mSVG_LENGTHTYPE_PC :: forall r a. (Eq a, Num a) => a -> (Void# -> r) -> (Void# -> r) -> r
SVG_LENGTHTYPE_PC = 10
getUnitType :: (MonadDOM m) => SVGLength -> m Word
getUnitType :: SVGLength -> m Word
getUnitType SVGLength
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall a b. (RealFrac a, Integral b) => a -> b
round (Double -> Word) -> JSM Double -> DOM Word
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((SVGLength
self SVGLength -> Getting (JSM JSVal) SVGLength (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGLength (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"unitType") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setValue :: (MonadDOM m) => SVGLength -> Float -> m ()
setValue :: SVGLength -> Float -> m ()
setValue SVGLength
self Float
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGLength
self SVGLength -> Getting (DOM ()) SVGLength (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"value" (Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
val))
getValue :: (MonadDOM m) => SVGLength -> m Float
getValue :: SVGLength -> m Float
getValue SVGLength
self
= DOM Float -> m Float
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Float
forall a b. (Real a, Fractional b) => a -> b
realToFrac (Double -> Float) -> JSM Double -> DOM Float
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> ((SVGLength
self SVGLength -> Getting (JSM JSVal) SVGLength (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGLength (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"value") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setValueInSpecifiedUnits ::
(MonadDOM m) => SVGLength -> Float -> m ()
setValueInSpecifiedUnits :: SVGLength -> Float -> m ()
setValueInSpecifiedUnits SVGLength
self Float
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGLength
self SVGLength -> Getting (DOM ()) SVGLength (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"valueInSpecifiedUnits" (Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
val))
getValueInSpecifiedUnits :: (MonadDOM m) => SVGLength -> m Float
getValueInSpecifiedUnits :: SVGLength -> m Float
getValueInSpecifiedUnits SVGLength
self
= DOM Float -> m Float
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM
(Double -> Float
forall a b. (Real a, Fractional b) => a -> b
realToFrac (Double -> Float) -> JSM Double -> DOM Float
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$>
((SVGLength
self SVGLength -> Getting (JSM JSVal) SVGLength (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGLength (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"valueInSpecifiedUnits") JSM JSVal -> (JSVal -> JSM Double) -> JSM Double
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setValueAsString ::
(MonadDOM m, ToJSString val) => SVGLength -> val -> m ()
setValueAsString :: SVGLength -> val -> m ()
setValueAsString SVGLength
self val
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGLength
self SVGLength -> Getting (DOM ()) SVGLength (DOM ()) -> DOM ()
forall s a. s -> Getting a s a -> a
^. [Char]
-> 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 [Char]
"valueAsString" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))
getValueAsString ::
(MonadDOM m, FromJSString result) => SVGLength -> m result
getValueAsString :: SVGLength -> m result
getValueAsString SVGLength
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGLength
self SVGLength -> Getting (JSM JSVal) SVGLength (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. [Char] -> IndexPreservingGetter SVGLength (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js [Char]
"valueAsString") JSM JSVal -> (JSVal -> DOM result) -> DOM result
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= JSVal -> DOM result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)