{-# LANGUAGE PatternSynonyms #-} -- For HasCallStack compatibility {-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-} {-# OPTIONS_GHC -fno-warn-unused-imports #-} module JSDOM.Generated.SVGColor (setRGBColor, setRGBColorICCColor, setColor, pattern SVG_COLORTYPE_UNKNOWN, pattern SVG_COLORTYPE_RGBCOLOR, pattern SVG_COLORTYPE_RGBCOLOR_ICCCOLOR, pattern SVG_COLORTYPE_CURRENTCOLOR, getColorType, getRgbColor, getRgbColorUnsafe, getRgbColorUnchecked, SVGColor(..), gTypeSVGColor, IsSVGColor, toSVGColor) 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 -- | setRGBColor :: (MonadDOM m, IsSVGColor self, ToJSString rgbColor) => self -> rgbColor -> m () setRGBColor self rgbColor = liftDOM (void ((toSVGColor self) ^. jsf "setRGBColor" [toJSVal rgbColor])) -- | setRGBColorICCColor :: (MonadDOM m, IsSVGColor self, ToJSString rgbColor, ToJSString iccColor) => self -> rgbColor -> iccColor -> m () setRGBColorICCColor self rgbColor iccColor = liftDOM (void ((toSVGColor self) ^. jsf "setRGBColorICCColor" [toJSVal rgbColor, toJSVal iccColor])) -- | setColor :: (MonadDOM m, IsSVGColor self, ToJSString rgbColor, ToJSString iccColor) => self -> Word -> rgbColor -> iccColor -> m () setColor self colorType rgbColor iccColor = liftDOM (void ((toSVGColor self) ^. jsf "setColor" [toJSVal colorType, toJSVal rgbColor, toJSVal iccColor])) pattern SVG_COLORTYPE_UNKNOWN = 0 pattern SVG_COLORTYPE_RGBCOLOR = 1 pattern SVG_COLORTYPE_RGBCOLOR_ICCCOLOR = 2 pattern SVG_COLORTYPE_CURRENTCOLOR = 3 -- | getColorType :: (MonadDOM m, IsSVGColor self) => self -> m Word getColorType self = liftDOM (round <$> (((toSVGColor self) ^. js "colorType") >>= valToNumber)) -- | getRgbColor :: (MonadDOM m, IsSVGColor self) => self -> m (Maybe RGBColor) getRgbColor self = liftDOM (((toSVGColor self) ^. js "rgbColor") >>= fromJSVal) -- | getRgbColorUnsafe :: (MonadDOM m, IsSVGColor self, HasCallStack) => self -> m RGBColor getRgbColorUnsafe self = liftDOM ((((toSVGColor self) ^. js "rgbColor") >>= fromJSVal) >>= maybe (Prelude.error "Nothing to return") return) -- | getRgbColorUnchecked :: (MonadDOM m, IsSVGColor self) => self -> m RGBColor getRgbColorUnchecked self = liftDOM (((toSVGColor self) ^. js "rgbColor") >>= fromJSValUnchecked)