jsaddle-dom-0.10.0.0: src/JSDOM/Generated/VideoEncoderConfig.hs
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webcodecs (webref). Do not edit.
module JSDOM.Generated.VideoEncoderConfig
(newVideoEncoderConfig, setCodec, getCodec, setWidth, getWidth, setHeight, getHeight, setDisplayWidth, getDisplayWidth, getDisplayWidthUnsafe, getDisplayWidthUnchecked, setDisplayHeight, getDisplayHeight, getDisplayHeightUnsafe, getDisplayHeightUnchecked, setBitrate, getBitrate, getBitrateUnsafe, getBitrateUnchecked, setFramerate, getFramerate, getFramerateUnsafe, getFramerateUnchecked, setHardwareAcceleration, getHardwareAcceleration, getHardwareAccelerationUnsafe, getHardwareAccelerationUnchecked, setAlpha, getAlpha, getAlphaUnsafe, getAlphaUnchecked, setScalabilityMode, getScalabilityMode, getScalabilityModeUnsafe, getScalabilityModeUnchecked, setBitrateMode, getBitrateMode, getBitrateModeUnsafe, getBitrateModeUnchecked, setLatencyMode, getLatencyMode, getLatencyModeUnsafe, getLatencyModeUnchecked, setContentHint, getContentHint, getContentHintUnsafe, getContentHintUnchecked, setAvc, getAvc, getAvcUnsafe, getAvcUnchecked, setHevc, getHevc, getHevcUnsafe, getHevcUnchecked, VideoEncoderConfig(..), gTypeVideoEncoderConfig)
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://w3c.github.io/webcodecs/#dictdef-videoencoderconfig VideoEncoderConfig specification>
newVideoEncoderConfig :: (MonadDOM m, ToJSString codec) => codec -> Word -> Word -> m VideoEncoderConfig
newVideoEncoderConfig codec width height = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "codec" (toJSVal codec)) P.>> (o ^. jss "width" (toJSVal width)) P.>> (o ^. jss "height" (toJSVal height)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-codec VideoEncoderConfig.codec specification>
setCodec :: (MonadDOM m, ToJSString val) => VideoEncoderConfig -> val -> m ()
setCodec self val = liftDOM (void (self ^. jss "codec" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-codec VideoEncoderConfig.codec specification>
getCodec :: (MonadDOM m, FromJSString result) => VideoEncoderConfig -> m result
getCodec self = liftDOM (((self ^. js "codec") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-width VideoEncoderConfig.width specification>
setWidth :: (MonadDOM m) => VideoEncoderConfig -> Word -> m ()
setWidth self val = liftDOM (void (self ^. jss "width" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-width VideoEncoderConfig.width specification>
getWidth :: (MonadDOM m) => VideoEncoderConfig -> m Word
getWidth self = liftDOM ((P.round <$> ((self ^. js "width") >>= valToNumber)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-height VideoEncoderConfig.height specification>
setHeight :: (MonadDOM m) => VideoEncoderConfig -> Word -> m ()
setHeight self val = liftDOM (void (self ^. jss "height" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-height VideoEncoderConfig.height specification>
getHeight :: (MonadDOM m) => VideoEncoderConfig -> m Word
getHeight self = liftDOM ((P.round <$> ((self ^. js "height") >>= valToNumber)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-displaywidth VideoEncoderConfig.displayWidth specification>
setDisplayWidth :: (MonadDOM m) => VideoEncoderConfig -> Word -> m ()
setDisplayWidth self val = liftDOM (void (self ^. jss "displayWidth" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-displaywidth VideoEncoderConfig.displayWidth specification>
getDisplayWidth :: (MonadDOM m) => VideoEncoderConfig -> m (Maybe Word)
getDisplayWidth self = liftDOM (((self ^. js "displayWidth") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-displaywidth VideoEncoderConfig.displayWidth specification>
getDisplayWidthUnsafe :: (MonadDOM m, HasCallStack) => VideoEncoderConfig -> m Word
getDisplayWidthUnsafe self = liftDOM ((((self ^. js "displayWidth") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-displaywidth VideoEncoderConfig.displayWidth specification>
getDisplayWidthUnchecked :: (MonadDOM m) => VideoEncoderConfig -> m Word
getDisplayWidthUnchecked self = liftDOM ((P.round <$> ((self ^. js "displayWidth") >>= valToNumber)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-displayheight VideoEncoderConfig.displayHeight specification>
setDisplayHeight :: (MonadDOM m) => VideoEncoderConfig -> Word -> m ()
setDisplayHeight self val = liftDOM (void (self ^. jss "displayHeight" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-displayheight VideoEncoderConfig.displayHeight specification>
getDisplayHeight :: (MonadDOM m) => VideoEncoderConfig -> m (Maybe Word)
getDisplayHeight self = liftDOM (((self ^. js "displayHeight") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-displayheight VideoEncoderConfig.displayHeight specification>
getDisplayHeightUnsafe :: (MonadDOM m, HasCallStack) => VideoEncoderConfig -> m Word
getDisplayHeightUnsafe self = liftDOM ((((self ^. js "displayHeight") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-displayheight VideoEncoderConfig.displayHeight specification>
getDisplayHeightUnchecked :: (MonadDOM m) => VideoEncoderConfig -> m Word
getDisplayHeightUnchecked self = liftDOM ((P.round <$> ((self ^. js "displayHeight") >>= valToNumber)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-bitrate VideoEncoderConfig.bitrate specification>
setBitrate :: (MonadDOM m) => VideoEncoderConfig -> Word53 -> m ()
setBitrate self val = liftDOM (void (self ^. jss "bitrate" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-bitrate VideoEncoderConfig.bitrate specification>
getBitrate :: (MonadDOM m) => VideoEncoderConfig -> m (Maybe Word53)
getBitrate self = liftDOM (((self ^. js "bitrate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-bitrate VideoEncoderConfig.bitrate specification>
getBitrateUnsafe :: (MonadDOM m, HasCallStack) => VideoEncoderConfig -> m Word53
getBitrateUnsafe self = liftDOM ((((self ^. js "bitrate") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-bitrate VideoEncoderConfig.bitrate specification>
getBitrateUnchecked :: (MonadDOM m) => VideoEncoderConfig -> m Word53
getBitrateUnchecked self = liftDOM (((self ^. js "bitrate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-framerate VideoEncoderConfig.framerate specification>
setFramerate :: (MonadDOM m) => VideoEncoderConfig -> Double -> m ()
setFramerate self val = liftDOM (void (self ^. jss "framerate" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-framerate VideoEncoderConfig.framerate specification>
getFramerate :: (MonadDOM m) => VideoEncoderConfig -> m (Maybe Double)
getFramerate self = liftDOM (((self ^. js "framerate") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-framerate VideoEncoderConfig.framerate specification>
getFramerateUnsafe :: (MonadDOM m, HasCallStack) => VideoEncoderConfig -> m Double
getFramerateUnsafe self = liftDOM ((((self ^. js "framerate") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-framerate VideoEncoderConfig.framerate specification>
getFramerateUnchecked :: (MonadDOM m) => VideoEncoderConfig -> m Double
getFramerateUnchecked self = liftDOM (((self ^. js "framerate") >>= valToNumber))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-hardwareacceleration VideoEncoderConfig.hardwareAcceleration specification>
setHardwareAcceleration :: (MonadDOM m) => VideoEncoderConfig -> HardwareAcceleration -> m ()
setHardwareAcceleration self val = liftDOM (void (self ^. jss "hardwareAcceleration" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-hardwareacceleration VideoEncoderConfig.hardwareAcceleration specification>
getHardwareAcceleration :: (MonadDOM m) => VideoEncoderConfig -> m (Maybe HardwareAcceleration)
getHardwareAcceleration self = liftDOM (((self ^. js "hardwareAcceleration") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-hardwareacceleration VideoEncoderConfig.hardwareAcceleration specification>
getHardwareAccelerationUnsafe :: (MonadDOM m, HasCallStack) => VideoEncoderConfig -> m HardwareAcceleration
getHardwareAccelerationUnsafe self = liftDOM ((((self ^. js "hardwareAcceleration") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-hardwareacceleration VideoEncoderConfig.hardwareAcceleration specification>
getHardwareAccelerationUnchecked :: (MonadDOM m) => VideoEncoderConfig -> m HardwareAcceleration
getHardwareAccelerationUnchecked self = liftDOM (((self ^. js "hardwareAcceleration") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-alpha VideoEncoderConfig.alpha specification>
setAlpha :: (MonadDOM m) => VideoEncoderConfig -> AlphaOption -> m ()
setAlpha self val = liftDOM (void (self ^. jss "alpha" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-alpha VideoEncoderConfig.alpha specification>
getAlpha :: (MonadDOM m) => VideoEncoderConfig -> m (Maybe AlphaOption)
getAlpha self = liftDOM (((self ^. js "alpha") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-alpha VideoEncoderConfig.alpha specification>
getAlphaUnsafe :: (MonadDOM m, HasCallStack) => VideoEncoderConfig -> m AlphaOption
getAlphaUnsafe self = liftDOM ((((self ^. js "alpha") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-alpha VideoEncoderConfig.alpha specification>
getAlphaUnchecked :: (MonadDOM m) => VideoEncoderConfig -> m AlphaOption
getAlphaUnchecked self = liftDOM (((self ^. js "alpha") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-scalabilitymode VideoEncoderConfig.scalabilityMode specification>
setScalabilityMode :: (MonadDOM m, ToJSString val) => VideoEncoderConfig -> val -> m ()
setScalabilityMode self val = liftDOM (void (self ^. jss "scalabilityMode" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-scalabilitymode VideoEncoderConfig.scalabilityMode specification>
getScalabilityMode :: (MonadDOM m, FromJSString result) => VideoEncoderConfig -> m (Maybe result)
getScalabilityMode self = liftDOM (((self ^. js "scalabilityMode") >>= fromMaybeJSString))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-scalabilitymode VideoEncoderConfig.scalabilityMode specification>
getScalabilityModeUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => VideoEncoderConfig -> m result
getScalabilityModeUnsafe self = liftDOM ((((self ^. js "scalabilityMode") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-scalabilitymode VideoEncoderConfig.scalabilityMode specification>
getScalabilityModeUnchecked :: (MonadDOM m, FromJSString result) => VideoEncoderConfig -> m result
getScalabilityModeUnchecked self = liftDOM (((self ^. js "scalabilityMode") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-bitratemode VideoEncoderConfig.bitrateMode specification>
setBitrateMode :: (MonadDOM m) => VideoEncoderConfig -> VideoEncoderBitrateMode -> m ()
setBitrateMode self val = liftDOM (void (self ^. jss "bitrateMode" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-bitratemode VideoEncoderConfig.bitrateMode specification>
getBitrateMode :: (MonadDOM m) => VideoEncoderConfig -> m (Maybe VideoEncoderBitrateMode)
getBitrateMode self = liftDOM (((self ^. js "bitrateMode") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-bitratemode VideoEncoderConfig.bitrateMode specification>
getBitrateModeUnsafe :: (MonadDOM m, HasCallStack) => VideoEncoderConfig -> m VideoEncoderBitrateMode
getBitrateModeUnsafe self = liftDOM ((((self ^. js "bitrateMode") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-bitratemode VideoEncoderConfig.bitrateMode specification>
getBitrateModeUnchecked :: (MonadDOM m) => VideoEncoderConfig -> m VideoEncoderBitrateMode
getBitrateModeUnchecked self = liftDOM (((self ^. js "bitrateMode") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-latencymode VideoEncoderConfig.latencyMode specification>
setLatencyMode :: (MonadDOM m) => VideoEncoderConfig -> LatencyMode -> m ()
setLatencyMode self val = liftDOM (void (self ^. jss "latencyMode" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-latencymode VideoEncoderConfig.latencyMode specification>
getLatencyMode :: (MonadDOM m) => VideoEncoderConfig -> m (Maybe LatencyMode)
getLatencyMode self = liftDOM (((self ^. js "latencyMode") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-latencymode VideoEncoderConfig.latencyMode specification>
getLatencyModeUnsafe :: (MonadDOM m, HasCallStack) => VideoEncoderConfig -> m LatencyMode
getLatencyModeUnsafe self = liftDOM ((((self ^. js "latencyMode") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-latencymode VideoEncoderConfig.latencyMode specification>
getLatencyModeUnchecked :: (MonadDOM m) => VideoEncoderConfig -> m LatencyMode
getLatencyModeUnchecked self = liftDOM (((self ^. js "latencyMode") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-contenthint VideoEncoderConfig.contentHint specification>
setContentHint :: (MonadDOM m, ToJSString val) => VideoEncoderConfig -> val -> m ()
setContentHint self val = liftDOM (void (self ^. jss "contentHint" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-contenthint VideoEncoderConfig.contentHint specification>
getContentHint :: (MonadDOM m, FromJSString result) => VideoEncoderConfig -> m (Maybe result)
getContentHint self = liftDOM (((self ^. js "contentHint") >>= fromMaybeJSString))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-contenthint VideoEncoderConfig.contentHint specification>
getContentHintUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => VideoEncoderConfig -> m result
getContentHintUnsafe self = liftDOM ((((self ^. js "contentHint") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/#dom-videoencoderconfig-contenthint VideoEncoderConfig.contentHint specification>
getContentHintUnchecked :: (MonadDOM m, FromJSString result) => VideoEncoderConfig -> m result
getContentHintUnchecked self = liftDOM (((self ^. js "contentHint") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/avc_codec_registration.html#dom-videoencoderconfig-avc VideoEncoderConfig.avc specification>
setAvc :: (MonadDOM m) => VideoEncoderConfig -> AvcEncoderConfig -> m ()
setAvc self val = liftDOM (void (self ^. jss "avc" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/avc_codec_registration.html#dom-videoencoderconfig-avc VideoEncoderConfig.avc specification>
getAvc :: (MonadDOM m) => VideoEncoderConfig -> m (Maybe AvcEncoderConfig)
getAvc self = liftDOM (((self ^. js "avc") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/avc_codec_registration.html#dom-videoencoderconfig-avc VideoEncoderConfig.avc specification>
getAvcUnsafe :: (MonadDOM m, HasCallStack) => VideoEncoderConfig -> m AvcEncoderConfig
getAvcUnsafe self = liftDOM ((((self ^. js "avc") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/avc_codec_registration.html#dom-videoencoderconfig-avc VideoEncoderConfig.avc specification>
getAvcUnchecked :: (MonadDOM m) => VideoEncoderConfig -> m AvcEncoderConfig
getAvcUnchecked self = liftDOM (((self ^. js "avc") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/hevc_codec_registration.html#dom-videoencoderconfig-hevc VideoEncoderConfig.hevc specification>
setHevc :: (MonadDOM m) => VideoEncoderConfig -> HevcEncoderConfig -> m ()
setHevc self val = liftDOM (void (self ^. jss "hevc" (toJSVal val)))
-- | <https://w3c.github.io/webcodecs/hevc_codec_registration.html#dom-videoencoderconfig-hevc VideoEncoderConfig.hevc specification>
getHevc :: (MonadDOM m) => VideoEncoderConfig -> m (Maybe HevcEncoderConfig)
getHevc self = liftDOM (((self ^. js "hevc") >>= fromJSValUnchecked))
-- | <https://w3c.github.io/webcodecs/hevc_codec_registration.html#dom-videoencoderconfig-hevc VideoEncoderConfig.hevc specification>
getHevcUnsafe :: (MonadDOM m, HasCallStack) => VideoEncoderConfig -> m HevcEncoderConfig
getHevcUnsafe self = liftDOM ((((self ^. js "hevc") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://w3c.github.io/webcodecs/hevc_codec_registration.html#dom-videoencoderconfig-hevc VideoEncoderConfig.hevc specification>
getHevcUnchecked :: (MonadDOM m) => VideoEncoderConfig -> m HevcEncoderConfig
getHevcUnchecked self = liftDOM (((self ^. js "hevc") >>= fromJSValUnchecked))