module JSDOM.Generated.SVGPoint
(matrixTransform, matrixTransform_, matrixTransformUnsafe,
matrixTransformUnchecked, setX, getX, setY, getY, SVGPoint(..),
gTypeSVGPoint)
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 Language.Javascript.JSaddle (JSM(..), JSVal(..), JSString, strictEqual, toJSVal, valToStr, valToNumber, valToBool, js, jss, jsf, jsg, function, new, array)
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)
import JSDOM.Enums
#if MIN_VERSION_base(4,9,0)
import GHC.Stack (HasCallStack)
#elif MIN_VERSION_base(4,8,0)
import GHC.Stack (CallStack)
import GHC.Exts (Constraint)
type HasCallStack = ((?callStack :: CallStack) :: Constraint)
#else
import GHC.Exts (Constraint)
type HasCallStack = (() :: Constraint)
#endif
matrixTransform ::
(MonadDOM m) => SVGPoint -> Maybe SVGMatrix -> m (Maybe SVGPoint)
matrixTransform self matrix
= liftDOM
((self ^. jsf "matrixTransform" [toJSVal matrix]) >>= fromJSVal)
matrixTransform_ ::
(MonadDOM m) => SVGPoint -> Maybe SVGMatrix -> m ()
matrixTransform_ self matrix
= liftDOM (void (self ^. jsf "matrixTransform" [toJSVal matrix]))
matrixTransformUnsafe ::
(MonadDOM m, HasCallStack) =>
SVGPoint -> Maybe SVGMatrix -> m SVGPoint
matrixTransformUnsafe self matrix
= liftDOM
(((self ^. jsf "matrixTransform" [toJSVal matrix]) >>= fromJSVal)
>>= maybe (Prelude.error "Nothing to return") return)
matrixTransformUnchecked ::
(MonadDOM m) => SVGPoint -> Maybe SVGMatrix -> m SVGPoint
matrixTransformUnchecked self matrix
= liftDOM
((self ^. jsf "matrixTransform" [toJSVal matrix]) >>=
fromJSValUnchecked)
setX :: (MonadDOM m) => SVGPoint -> Float -> m ()
setX self val = liftDOM (self ^. jss "x" (toJSVal val))
getX :: (MonadDOM m) => SVGPoint -> m Float
getX self
= liftDOM (realToFrac <$> ((self ^. js "x") >>= valToNumber))
setY :: (MonadDOM m) => SVGPoint -> Float -> m ()
setY self val = liftDOM (self ^. jss "y" (toJSVal val))
getY :: (MonadDOM m) => SVGPoint -> m Float
getY self
= liftDOM (realToFrac <$> ((self ^. js "y") >>= valToNumber))