jsaddle-dom-0.10.0.0: src/JSDOM/Generated/HTMLVideoElement.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from html (webref). Do not edit.
module JSDOM.Generated.HTMLVideoElement
(cancelVideoFrameCallback, getVideoPlaybackQuality, getVideoPlaybackQuality_, requestPictureInPicture, requestPictureInPicture_, requestVideoFrameCallback, requestVideoFrameCallback_, setWidth, getWidth, setHeight, getHeight, getVideoWidth, getVideoHeight, setPoster, getPoster, setPlaysInline, getPlaysInline, setDisablePictureInPicture, getDisablePictureInPicture, enterpictureinpicture, leavepictureinpicture, HTMLVideoElement(..), gTypeHTMLVideoElement)
where
import Prelude ((.), (==), (>>=), (<$>), (++), Bool(..), Maybe(..), IO, Int, Word, Double, Float)
import qualified Prelude as P
import Control.Monad (void)
import Control.Lens.Operators ((^.))
import Language.Javascript.JSaddle (JSM, JSVal, JSString, toJSVal, valToBool, valToNumber, js, jss, jsf, jsg, new, function, asyncFunction, jsUndefined, jsNull)
import JSDOM.Types
import qualified JSDOM.Types as Types
import JSDOM.EventTargetClosures (EventName, unsafeEventName, unsafeEventNameAsync)
import JSDOM.Generated.Enums
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/cancelVideoFrameCallback MDN HTMLVideoElement.cancelVideoFrameCallback documentation>
cancelVideoFrameCallback :: (MonadDOM m) => HTMLVideoElement -> Word -> m ()
cancelVideoFrameCallback self handle = liftDOM (void (self ^. jsf "cancelVideoFrameCallback" [toJSVal handle]))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/getVideoPlaybackQuality MDN HTMLVideoElement.getVideoPlaybackQuality documentation>
getVideoPlaybackQuality :: (MonadDOM m) => HTMLVideoElement -> m VideoPlaybackQuality
getVideoPlaybackQuality self = liftDOM (((self ^. jsf "getVideoPlaybackQuality" ()) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/getVideoPlaybackQuality MDN HTMLVideoElement.getVideoPlaybackQuality documentation>
getVideoPlaybackQuality_ :: (MonadDOM m) => HTMLVideoElement -> m ()
getVideoPlaybackQuality_ self = liftDOM (void (self ^. jsf "getVideoPlaybackQuality" ()))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/requestPictureInPicture MDN HTMLVideoElement.requestPictureInPicture documentation>
requestPictureInPicture :: (MonadDOM m) => HTMLVideoElement -> m PictureInPictureWindow
requestPictureInPicture self = liftDOM (((((self ^. jsf "requestPictureInPicture" ()) >>= readPromise)) >>= fromJSValUnchecked))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/requestPictureInPicture MDN HTMLVideoElement.requestPictureInPicture documentation>
requestPictureInPicture_ :: (MonadDOM m) => HTMLVideoElement -> m ()
requestPictureInPicture_ self = liftDOM (void (((self ^. jsf "requestPictureInPicture" ()) >>= readPromise)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/requestVideoFrameCallback MDN HTMLVideoElement.requestVideoFrameCallback documentation>
requestVideoFrameCallback :: (MonadDOM m) => HTMLVideoElement -> VideoFrameRequestCallback -> m Word
requestVideoFrameCallback self callback' = liftDOM ((P.round <$> ((self ^. jsf "requestVideoFrameCallback" [toJSVal callback']) >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/requestVideoFrameCallback MDN HTMLVideoElement.requestVideoFrameCallback documentation>
requestVideoFrameCallback_ :: (MonadDOM m) => HTMLVideoElement -> VideoFrameRequestCallback -> m ()
requestVideoFrameCallback_ self callback' = liftDOM (void (self ^. jsf "requestVideoFrameCallback" [toJSVal callback']))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/width MDN HTMLVideoElement.width documentation>
setWidth :: (MonadDOM m) => HTMLVideoElement -> Word -> m ()
setWidth self val = liftDOM (void (self ^. jss "width" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/width MDN HTMLVideoElement.width documentation>
getWidth :: (MonadDOM m) => HTMLVideoElement -> m Word
getWidth self = liftDOM ((P.round <$> ((self ^. js "width") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/height MDN HTMLVideoElement.height documentation>
setHeight :: (MonadDOM m) => HTMLVideoElement -> Word -> m ()
setHeight self val = liftDOM (void (self ^. jss "height" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/height MDN HTMLVideoElement.height documentation>
getHeight :: (MonadDOM m) => HTMLVideoElement -> m Word
getHeight self = liftDOM ((P.round <$> ((self ^. js "height") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/videoWidth MDN HTMLVideoElement.videoWidth documentation>
getVideoWidth :: (MonadDOM m) => HTMLVideoElement -> m Word
getVideoWidth self = liftDOM ((P.round <$> ((self ^. js "videoWidth") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/videoHeight MDN HTMLVideoElement.videoHeight documentation>
getVideoHeight :: (MonadDOM m) => HTMLVideoElement -> m Word
getVideoHeight self = liftDOM ((P.round <$> ((self ^. js "videoHeight") >>= valToNumber)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/poster MDN HTMLVideoElement.poster documentation>
setPoster :: (MonadDOM m, ToJSString val) => HTMLVideoElement -> val -> m ()
setPoster self val = liftDOM (void (self ^. jss "poster" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/poster MDN HTMLVideoElement.poster documentation>
getPoster :: (MonadDOM m, FromJSString result) => HTMLVideoElement -> m result
getPoster self = liftDOM (((self ^. js "poster") >>= fromJSValUnchecked))
-- | <https://html.spec.whatwg.org/multipage/media.html#dom-video-playsinline HTMLVideoElement.playsInline specification>
setPlaysInline :: (MonadDOM m) => HTMLVideoElement -> Bool -> m ()
setPlaysInline self val = liftDOM (void (self ^. jss "playsInline" (toJSVal val)))
-- | <https://html.spec.whatwg.org/multipage/media.html#dom-video-playsinline HTMLVideoElement.playsInline specification>
getPlaysInline :: (MonadDOM m) => HTMLVideoElement -> m Bool
getPlaysInline self = liftDOM (((self ^. js "playsInline") >>= valToBool))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/disablePictureInPicture MDN HTMLVideoElement.disablePictureInPicture documentation>
setDisablePictureInPicture :: (MonadDOM m) => HTMLVideoElement -> Bool -> m ()
setDisablePictureInPicture self val = liftDOM (void (self ^. jss "disablePictureInPicture" (toJSVal val)))
-- | <https://developer.mozilla.org/docs/Web/API/HTMLVideoElement/disablePictureInPicture MDN HTMLVideoElement.disablePictureInPicture documentation>
getDisablePictureInPicture :: (MonadDOM m) => HTMLVideoElement -> m Bool
getDisablePictureInPicture self = liftDOM (((self ^. js "disablePictureInPicture") >>= valToBool))
-- | <https://w3c.github.io/picture-in-picture/#dom-htmlvideoelement-onenterpictureinpicture enterpictureinpicture event>
enterpictureinpicture :: EventName HTMLVideoElement PictureInPictureEvent
enterpictureinpicture = unsafeEventName (toJSString "enterpictureinpicture")
-- | <https://w3c.github.io/picture-in-picture/#dom-htmlvideoelement-onleavepictureinpicture leavepictureinpicture event>
leavepictureinpicture :: EventName HTMLVideoElement PictureInPictureEvent
leavepictureinpicture = unsafeEventName (toJSString "leavepictureinpicture")