packages feed

ghcjs-dom-javascript-0.10.0.0: src/GHCJS/DOM/JSFFI/Generated/TextTrack.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.TextTrack
       (js_addCue, js_removeCue, js_getKind, js_getLabel, js_getLanguage, js_getId, js_getInBandMetadataTrackDispatchType, js_setMode, js_getMode, js_getCues, js_getActiveCues, js_getSourceBuffer, addCue, removeCue, getKind, getLabel, getLanguage, getId, getInBandMetadataTrackDispatchType, setMode, getMode, getCues, getCuesUnsafe, getCuesUnchecked, getActiveCues, getActiveCuesUnsafe, getActiveCuesUnchecked, getSourceBuffer, getSourceBufferUnsafe, getSourceBufferUnchecked, cueChange, TextTrack(..), gTypeTextTrack)
       where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import GHCJS.Types (JSVal, JSString)
import GHCJS.Foreign (jsUndefined, jsNull)
import GHCJS.DOM.Types
import qualified GHCJS.DOM.Types as Types
import GHCJS.DOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import GHCJS.DOM.JSFFI.Generated.Enums

foreign import javascript safe "(($1, $2) => { return $1[\"addCue\"]($2); })"
        js_addCue :: TextTrack -> TextTrackCue -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/addCue MDN TextTrack.addCue documentation>
addCue :: (MonadDOM m, IsTextTrackCue cue) => TextTrack -> cue -> m ()
addCue self cue = liftDOM (void ((js_addCue (self) (Types.toTextTrackCue cue))))

foreign import javascript safe "(($1, $2) => { return $1[\"removeCue\"]($2); })"
        js_removeCue :: TextTrack -> TextTrackCue -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/removeCue MDN TextTrack.removeCue documentation>
removeCue :: (MonadDOM m, IsTextTrackCue cue) => TextTrack -> cue -> m ()
removeCue self cue = liftDOM (void ((js_removeCue (self) (Types.toTextTrackCue cue))))

foreign import javascript unsafe "(($1) => { return $1[\"kind\"]; })"
        js_getKind :: TextTrack -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/kind MDN TextTrack.kind documentation>
getKind :: (MonadDOM m) => TextTrack -> m TextTrackKind
getKind self = liftDOM (((js_getKind (self)) >>= fromJSValUnchecked))

foreign import javascript unsafe "(($1) => { return $1[\"label\"]; })"
        js_getLabel :: TextTrack -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/label MDN TextTrack.label documentation>
getLabel :: (MonadDOM m, FromJSString result) => TextTrack -> m result
getLabel self = liftDOM ((fromJSString <$> (js_getLabel (self))))

foreign import javascript unsafe "(($1) => { return $1[\"language\"]; })"
        js_getLanguage :: TextTrack -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/language MDN TextTrack.language documentation>
getLanguage :: (MonadDOM m, FromJSString result) => TextTrack -> m result
getLanguage self = liftDOM ((fromJSString <$> (js_getLanguage (self))))

foreign import javascript unsafe "(($1) => { return $1[\"id\"]; })"
        js_getId :: TextTrack -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/id MDN TextTrack.id documentation>
getId :: (MonadDOM m, FromJSString result) => TextTrack -> m result
getId self = liftDOM ((fromJSString <$> (js_getId (self))))

foreign import javascript unsafe "(($1) => { return $1[\"inBandMetadataTrackDispatchType\"]; })"
        js_getInBandMetadataTrackDispatchType :: TextTrack -> IO JSString
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/inBandMetadataTrackDispatchType MDN TextTrack.inBandMetadataTrackDispatchType documentation>
getInBandMetadataTrackDispatchType :: (MonadDOM m, FromJSString result) => TextTrack -> m result
getInBandMetadataTrackDispatchType self = liftDOM ((fromJSString <$> (js_getInBandMetadataTrackDispatchType (self))))

foreign import javascript safe "(($1, $2) => { $1[\"mode\"] = $2; })"
        js_setMode :: TextTrack -> JSVal -> IO ()
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/mode MDN TextTrack.mode documentation>
setMode :: (MonadDOM m) => TextTrack -> TextTrackMode -> m ()
setMode self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setMode (self) a2')))

foreign import javascript unsafe "(($1) => { return $1[\"mode\"]; })"
        js_getMode :: TextTrack -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/mode MDN TextTrack.mode documentation>
getMode :: (MonadDOM m) => TextTrack -> m TextTrackMode
getMode self = liftDOM (((js_getMode (self)) >>= fromJSValUnchecked))

foreign import javascript unsafe "(($1) => { return $1[\"cues\"]; })"
        js_getCues :: TextTrack -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/cues MDN TextTrack.cues documentation>
getCues :: (MonadDOM m) => TextTrack -> m (Maybe TextTrackCueList)
getCues self = liftDOM (((js_getCues (self)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/cues MDN TextTrack.cues documentation>
getCuesUnsafe :: (MonadDOM m, HasCallStack) => TextTrack -> m TextTrackCueList
getCuesUnsafe self = liftDOM ((((js_getCues (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/cues MDN TextTrack.cues documentation>
getCuesUnchecked :: (MonadDOM m) => TextTrack -> m TextTrackCueList
getCuesUnchecked self = liftDOM ((pFromJSVal <$> (js_getCues (self))))

foreign import javascript unsafe "(($1) => { return $1[\"activeCues\"]; })"
        js_getActiveCues :: TextTrack -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/activeCues MDN TextTrack.activeCues documentation>
getActiveCues :: (MonadDOM m) => TextTrack -> m (Maybe TextTrackCueList)
getActiveCues self = liftDOM (((js_getActiveCues (self)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/activeCues MDN TextTrack.activeCues documentation>
getActiveCuesUnsafe :: (MonadDOM m, HasCallStack) => TextTrack -> m TextTrackCueList
getActiveCuesUnsafe self = liftDOM ((((js_getActiveCues (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/activeCues MDN TextTrack.activeCues documentation>
getActiveCuesUnchecked :: (MonadDOM m) => TextTrack -> m TextTrackCueList
getActiveCuesUnchecked self = liftDOM ((pFromJSVal <$> (js_getActiveCues (self))))

foreign import javascript unsafe "(($1) => { return $1[\"sourceBuffer\"]; })"
        js_getSourceBuffer :: TextTrack -> IO JSVal
-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/sourceBuffer MDN TextTrack.sourceBuffer documentation>
getSourceBuffer :: (MonadDOM m) => TextTrack -> m (Maybe SourceBuffer)
getSourceBuffer self = liftDOM (((js_getSourceBuffer (self)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/sourceBuffer MDN TextTrack.sourceBuffer documentation>
getSourceBufferUnsafe :: (MonadDOM m, HasCallStack) => TextTrack -> m SourceBuffer
getSourceBufferUnsafe self = liftDOM ((((js_getSourceBuffer (self)) >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://developer.mozilla.org/docs/Web/API/TextTrack/sourceBuffer MDN TextTrack.sourceBuffer documentation>
getSourceBufferUnchecked :: (MonadDOM m) => TextTrack -> m SourceBuffer
getSourceBufferUnchecked self = liftDOM ((pFromJSVal <$> (js_getSourceBuffer (self))))

-- | <https://html.spec.whatwg.org/multipage/media.html#handler-texttrack-oncuechange cuechange event>
cueChange :: EventName TextTrack Event
cueChange = unsafeEventName (toJSString "cuechange")