{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
module JSDOM.Generated.SVGAngle
(newValueSpecifiedUnits, convertToSpecifiedUnits,
pattern SVG_ANGLETYPE_UNKNOWN, pattern SVG_ANGLETYPE_UNSPECIFIED,
pattern SVG_ANGLETYPE_DEG, pattern SVG_ANGLETYPE_RAD,
pattern SVG_ANGLETYPE_GRAD, getUnitType, setValue, getValue,
setValueInSpecifiedUnits, getValueInSpecifiedUnits,
setValueAsString, getValueAsString, SVGAngle(..), gTypeSVGAngle)
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) => SVGAngle -> Word -> Float -> m ()
newValueSpecifiedUnits :: forall (m :: * -> *).
MonadDOM m =>
SVGAngle -> Word -> Float -> m ()
newValueSpecifiedUnits SVGAngle
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
(SVGAngle
self SVGAngle -> Getting (JSM JSVal) SVGAngle (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
"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) => SVGAngle -> Word -> m ()
convertToSpecifiedUnits :: forall (m :: * -> *). MonadDOM m => SVGAngle -> Word -> m ()
convertToSpecifiedUnits SVGAngle
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 (SVGAngle
self SVGAngle -> Getting (JSM JSVal) SVGAngle (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
"convertToSpecifiedUnits" [Word -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Word
unitType]))
pattern $mSVG_ANGLETYPE_UNKNOWN :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_ANGLETYPE_UNKNOWN :: forall {a}. (Eq a, Num a) => a
SVG_ANGLETYPE_UNKNOWN = 0
pattern $mSVG_ANGLETYPE_UNSPECIFIED :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_ANGLETYPE_UNSPECIFIED :: forall {a}. (Eq a, Num a) => a
SVG_ANGLETYPE_UNSPECIFIED = 1
pattern $mSVG_ANGLETYPE_DEG :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_ANGLETYPE_DEG :: forall {a}. (Eq a, Num a) => a
SVG_ANGLETYPE_DEG = 2
pattern $mSVG_ANGLETYPE_RAD :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_ANGLETYPE_RAD :: forall {a}. (Eq a, Num a) => a
SVG_ANGLETYPE_RAD = 3
pattern $mSVG_ANGLETYPE_GRAD :: forall {r} {a}.
(Eq a, Num a) =>
a -> ((# #) -> r) -> ((# #) -> r) -> r
$bSVG_ANGLETYPE_GRAD :: forall {a}. (Eq a, Num a) => a
SVG_ANGLETYPE_GRAD = 4
getUnitType :: (MonadDOM m) => SVGAngle -> m Word
getUnitType :: forall (m :: * -> *). MonadDOM m => SVGAngle -> m Word
getUnitType SVGAngle
self
= DOM Word -> m Word
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (Double -> Word
forall b. Integral b => Double -> b
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
<$> ((SVGAngle
self SVGAngle -> Getting (JSM JSVal) SVGAngle (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGAngle (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"unitType") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setValue :: (MonadDOM m) => SVGAngle -> Float -> m ()
setValue :: forall (m :: * -> *). MonadDOM m => SVGAngle -> Float -> m ()
setValue SVGAngle
self Float
val = DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGAngle
self SVGAngle -> Getting (DOM ()) SVGAngle (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
"value" (Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
val))
getValue :: (MonadDOM m) => SVGAngle -> m Float
getValue :: forall (m :: * -> *). MonadDOM m => SVGAngle -> m Float
getValue SVGAngle
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
<$> ((SVGAngle
self SVGAngle -> Getting (JSM JSVal) SVGAngle (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGAngle (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"value") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setValueInSpecifiedUnits ::
(MonadDOM m) => SVGAngle -> Float -> m ()
setValueInSpecifiedUnits :: forall (m :: * -> *). MonadDOM m => SVGAngle -> Float -> m ()
setValueInSpecifiedUnits SVGAngle
self Float
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGAngle
self SVGAngle -> Getting (DOM ()) SVGAngle (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
"valueInSpecifiedUnits" (Float -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal Float
val))
getValueInSpecifiedUnits :: (MonadDOM m) => SVGAngle -> m Float
getValueInSpecifiedUnits :: forall (m :: * -> *). MonadDOM m => SVGAngle -> m Float
getValueInSpecifiedUnits SVGAngle
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
<$>
((SVGAngle
self SVGAngle -> Getting (JSM JSVal) SVGAngle (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGAngle (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"valueInSpecifiedUnits") JSM JSVal -> (JSVal -> JSM Double) -> JSM 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 -> JSM Double
forall value. ToJSVal value => value -> JSM Double
valToNumber))
setValueAsString ::
(MonadDOM m, ToJSString val) => SVGAngle -> val -> m ()
setValueAsString :: forall (m :: * -> *) val.
(MonadDOM m, ToJSString val) =>
SVGAngle -> val -> m ()
setValueAsString SVGAngle
self val
val
= DOM () -> m ()
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM (SVGAngle
self SVGAngle -> Getting (DOM ()) SVGAngle (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
"valueAsString" (val -> JSM JSVal
forall a. ToJSVal a => a -> JSM JSVal
toJSVal val
val))
getValueAsString ::
(MonadDOM m, FromJSString result) => SVGAngle -> m result
getValueAsString :: forall (m :: * -> *) result.
(MonadDOM m, FromJSString result) =>
SVGAngle -> m result
getValueAsString SVGAngle
self
= DOM result -> m result
forall (m :: * -> *) a. MonadDOM m => DOM a -> m a
liftDOM ((SVGAngle
self SVGAngle -> Getting (JSM JSVal) SVGAngle (JSM JSVal) -> JSM JSVal
forall s a. s -> Getting a s a -> a
^. String -> IndexPreservingGetter SVGAngle (JSM JSVal)
forall s name.
(MakeObject s, ToJSString name) =>
name -> IndexPreservingGetter s (JSM JSVal)
js String
"valueAsString") JSM JSVal -> (JSVal -> DOM result) -> DOM result
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 result
forall a. FromJSVal a => JSVal -> JSM a
fromJSValUnchecked)