{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.SVGTextContentElement (getNumberOfChars, getComputedTextLength, getSubStringLength, getStartPositionOfChar, getEndPositionOfChar, getExtentOfChar, getRotationOfChar, getCharNumAtPosition, selectSubString, pattern LENGTHADJUST_UNKNOWN, pattern LENGTHADJUST_SPACING, pattern LENGTHADJUST_SPACINGANDGLYPHS, getTextLength, getLengthAdjust, SVGTextContentElement, castToSVGTextContentElement, gTypeSVGTextContentElement, IsSVGTextContentElement, toSVGTextContentElement) where import Prelude ((.), (==), (>>=), return, IO, Int, Float, Double, Bool(..), Maybe, maybe, fromIntegral, round, realToFrac, fmap, Show, Read, Eq, Ord, Maybe(..)) 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 Language.Javascript.JSaddle.DOM.Types import Control.Applicative ((<$>)) import Control.Monad (void) import Control.Lens.Operators ((^.)) import Language.Javascript.JSaddle.DOM.EventTargetClosures (EventName, unsafeEventName) import Language.Javascript.JSaddle.DOM.Enums -- | getNumberOfChars :: (MonadDOM m, IsSVGTextContentElement self) => self -> m Int getNumberOfChars self = liftDOM (round <$> (((toSVGTextContentElement self) ^. js "getNumberOfChars") >>= valToNumber)) -- | getComputedTextLength :: (MonadDOM m, IsSVGTextContentElement self) => self -> m Float getComputedTextLength self = liftDOM (realToFrac <$> (((toSVGTextContentElement self) ^. js "getComputedTextLength") >>= valToNumber)) -- | getSubStringLength :: (MonadDOM m, IsSVGTextContentElement self) => self -> Word -> Word -> m Float getSubStringLength self offset length = liftDOM (realToFrac <$> (((toSVGTextContentElement self) ^. jsf "getSubStringLength" [toJSVal offset, toJSVal length]) >>= valToNumber)) -- | getStartPositionOfChar :: (MonadDOM m, IsSVGTextContentElement self) => self -> Word -> m (Maybe SVGPoint) getStartPositionOfChar self offset = liftDOM (((toSVGTextContentElement self) ^. jsf "getStartPositionOfChar" [toJSVal offset]) >>= fromJSVal) -- | getEndPositionOfChar :: (MonadDOM m, IsSVGTextContentElement self) => self -> Word -> m (Maybe SVGPoint) getEndPositionOfChar self offset = liftDOM (((toSVGTextContentElement self) ^. jsf "getEndPositionOfChar" [toJSVal offset]) >>= fromJSVal) -- | getExtentOfChar :: (MonadDOM m, IsSVGTextContentElement self) => self -> Word -> m (Maybe SVGRect) getExtentOfChar self offset = liftDOM (((toSVGTextContentElement self) ^. jsf "getExtentOfChar" [toJSVal offset]) >>= fromJSVal) -- | getRotationOfChar :: (MonadDOM m, IsSVGTextContentElement self) => self -> Word -> m Float getRotationOfChar self offset = liftDOM (realToFrac <$> (((toSVGTextContentElement self) ^. jsf "getRotationOfChar" [toJSVal offset]) >>= valToNumber)) -- | getCharNumAtPosition :: (MonadDOM m, IsSVGTextContentElement self) => self -> Maybe SVGPoint -> m Int getCharNumAtPosition self point = liftDOM (round <$> (((toSVGTextContentElement self) ^. jsf "getCharNumAtPosition" [toJSVal point]) >>= valToNumber)) -- | selectSubString :: (MonadDOM m, IsSVGTextContentElement self) => self -> Word -> Word -> m () selectSubString self offset length = liftDOM (void ((toSVGTextContentElement self) ^. jsf "selectSubString" [toJSVal offset, toJSVal length])) pattern LENGTHADJUST_UNKNOWN = 0 pattern LENGTHADJUST_SPACING = 1 pattern LENGTHADJUST_SPACINGANDGLYPHS = 2 -- | getTextLength :: (MonadDOM m, IsSVGTextContentElement self) => self -> m (Maybe SVGAnimatedLength) getTextLength self = liftDOM (((toSVGTextContentElement self) ^. js "textLength") >>= fromJSVal) -- | getLengthAdjust :: (MonadDOM m, IsSVGTextContentElement self) => self -> m (Maybe SVGAnimatedEnumeration) getLengthAdjust self = liftDOM (((toSVGTextContentElement self) ^. js "lengthAdjust") >>= fromJSVal)