{-# LANGUAGE PatternSynonyms #-} module Language.Javascript.JSaddle.DOM.Generated.SpeechSynthesisUtterance (newSpeechSynthesisUtterance, setText, getText, setLang, getLang, setVoice, getVoice, setVolume, getVolume, setRate, getRate, setPitch, getPitch, start, end, error, pause, resume, mark, boundary, SpeechSynthesisUtterance, castToSpeechSynthesisUtterance, gTypeSpeechSynthesisUtterance) 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 -- | newSpeechSynthesisUtterance :: (MonadDOM m, ToJSString text) => text -> m SpeechSynthesisUtterance newSpeechSynthesisUtterance text = liftDOM (SpeechSynthesisUtterance <$> new (jsg "SpeechSynthesisUtterance") [toJSVal text]) -- | setText :: (MonadDOM m, ToJSString val) => SpeechSynthesisUtterance -> val -> m () setText self val = liftDOM (self ^. jss "text" (toJSVal val)) -- | getText :: (MonadDOM m, FromJSString result) => SpeechSynthesisUtterance -> m result getText self = liftDOM ((self ^. js "text") >>= fromJSValUnchecked) -- | setLang :: (MonadDOM m, ToJSString val) => SpeechSynthesisUtterance -> val -> m () setLang self val = liftDOM (self ^. jss "lang" (toJSVal val)) -- | getLang :: (MonadDOM m, FromJSString result) => SpeechSynthesisUtterance -> m result getLang self = liftDOM ((self ^. js "lang") >>= fromJSValUnchecked) -- | setVoice :: (MonadDOM m) => SpeechSynthesisUtterance -> Maybe SpeechSynthesisVoice -> m () setVoice self val = liftDOM (self ^. jss "voice" (toJSVal val)) -- | getVoice :: (MonadDOM m) => SpeechSynthesisUtterance -> m (Maybe SpeechSynthesisVoice) getVoice self = liftDOM ((self ^. js "voice") >>= fromJSVal) -- | setVolume :: (MonadDOM m) => SpeechSynthesisUtterance -> Float -> m () setVolume self val = liftDOM (self ^. jss "volume" (toJSVal val)) -- | getVolume :: (MonadDOM m) => SpeechSynthesisUtterance -> m Float getVolume self = liftDOM (realToFrac <$> ((self ^. js "volume") >>= valToNumber)) -- | setRate :: (MonadDOM m) => SpeechSynthesisUtterance -> Float -> m () setRate self val = liftDOM (self ^. jss "rate" (toJSVal val)) -- | getRate :: (MonadDOM m) => SpeechSynthesisUtterance -> m Float getRate self = liftDOM (realToFrac <$> ((self ^. js "rate") >>= valToNumber)) -- | setPitch :: (MonadDOM m) => SpeechSynthesisUtterance -> Float -> m () setPitch self val = liftDOM (self ^. jss "pitch" (toJSVal val)) -- | getPitch :: (MonadDOM m) => SpeechSynthesisUtterance -> m Float getPitch self = liftDOM (realToFrac <$> ((self ^. js "pitch") >>= valToNumber)) -- | start :: EventName SpeechSynthesisUtterance Event start = unsafeEventName (toJSString "start") -- | end :: EventName SpeechSynthesisUtterance Event end = unsafeEventName (toJSString "end") -- | error :: EventName SpeechSynthesisUtterance UIEvent error = unsafeEventName (toJSString "error") -- | pause :: EventName SpeechSynthesisUtterance Event pause = unsafeEventName (toJSString "pause") -- | resume :: EventName SpeechSynthesisUtterance Event resume = unsafeEventName (toJSString "resume") -- | mark :: EventName SpeechSynthesisUtterance Event mark = unsafeEventName (toJSString "mark") -- | boundary :: EventName SpeechSynthesisUtterance Event boundary = unsafeEventName (toJSString "boundary")