packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/VideoConfiguration.hs

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from media-capabilities (webref). Do not edit.
module JSDOM.Generated.VideoConfiguration
       (newVideoConfiguration, setContentType, getContentType, setWidth, getWidth, setHeight, getHeight, setBitrate, getBitrate, setFramerate, getFramerate, setHasAlphaChannel, getHasAlphaChannel, getHasAlphaChannelUnsafe, getHasAlphaChannelUnchecked, setHdrMetadataType, getHdrMetadataType, getHdrMetadataTypeUnsafe, getHdrMetadataTypeUnchecked, setColorGamut, getColorGamut, getColorGamutUnsafe, getColorGamutUnchecked, setTransferFunction, getTransferFunction, getTransferFunctionUnsafe, getTransferFunctionUnchecked, setScalabilityMode, getScalabilityMode, getScalabilityModeUnsafe, getScalabilityModeUnchecked, setSpatialScalability, getSpatialScalability, getSpatialScalabilityUnsafe, getSpatialScalabilityUnchecked, VideoConfiguration(..), gTypeVideoConfiguration)
       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/media-capabilities/#dictdef-videoconfiguration VideoConfiguration specification>
newVideoConfiguration :: (MonadDOM m, ToJSString contentType) => contentType -> Word -> Word -> Word53 -> Double -> m VideoConfiguration
newVideoConfiguration contentType width height bitrate framerate = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "contentType" (toJSVal contentType)) P.>> (o ^. jss "width" (toJSVal width)) P.>> (o ^. jss "height" (toJSVal height)) P.>> (o ^. jss "bitrate" (toJSVal bitrate)) P.>> (o ^. jss "framerate" (toJSVal framerate)) P.>> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-contenttype VideoConfiguration.contentType specification>
setContentType :: (MonadDOM m, ToJSString val) => VideoConfiguration -> val -> m ()
setContentType self val = liftDOM (void (self ^. jss "contentType" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-contenttype VideoConfiguration.contentType specification>
getContentType :: (MonadDOM m, FromJSString result) => VideoConfiguration -> m result
getContentType self = liftDOM (((self ^. js "contentType") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-width VideoConfiguration.width specification>
setWidth :: (MonadDOM m) => VideoConfiguration -> Word -> m ()
setWidth self val = liftDOM (void (self ^. jss "width" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-width VideoConfiguration.width specification>
getWidth :: (MonadDOM m) => VideoConfiguration -> m Word
getWidth self = liftDOM ((P.round <$> ((self ^. js "width") >>= valToNumber)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-height VideoConfiguration.height specification>
setHeight :: (MonadDOM m) => VideoConfiguration -> Word -> m ()
setHeight self val = liftDOM (void (self ^. jss "height" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-height VideoConfiguration.height specification>
getHeight :: (MonadDOM m) => VideoConfiguration -> m Word
getHeight self = liftDOM ((P.round <$> ((self ^. js "height") >>= valToNumber)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-bitrate VideoConfiguration.bitrate specification>
setBitrate :: (MonadDOM m) => VideoConfiguration -> Word53 -> m ()
setBitrate self val = liftDOM (void (self ^. jss "bitrate" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-bitrate VideoConfiguration.bitrate specification>
getBitrate :: (MonadDOM m) => VideoConfiguration -> m Word53
getBitrate self = liftDOM (((self ^. js "bitrate") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-framerate VideoConfiguration.framerate specification>
setFramerate :: (MonadDOM m) => VideoConfiguration -> Double -> m ()
setFramerate self val = liftDOM (void (self ^. jss "framerate" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-framerate VideoConfiguration.framerate specification>
getFramerate :: (MonadDOM m) => VideoConfiguration -> m Double
getFramerate self = liftDOM (((self ^. js "framerate") >>= valToNumber))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-hasalphachannel VideoConfiguration.hasAlphaChannel specification>
setHasAlphaChannel :: (MonadDOM m) => VideoConfiguration -> Bool -> m ()
setHasAlphaChannel self val = liftDOM (void (self ^. jss "hasAlphaChannel" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-hasalphachannel VideoConfiguration.hasAlphaChannel specification>
getHasAlphaChannel :: (MonadDOM m) => VideoConfiguration -> m (Maybe Bool)
getHasAlphaChannel self = liftDOM (((self ^. js "hasAlphaChannel") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-hasalphachannel VideoConfiguration.hasAlphaChannel specification>
getHasAlphaChannelUnsafe :: (MonadDOM m, HasCallStack) => VideoConfiguration -> m Bool
getHasAlphaChannelUnsafe self = liftDOM ((((self ^. js "hasAlphaChannel") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-hasalphachannel VideoConfiguration.hasAlphaChannel specification>
getHasAlphaChannelUnchecked :: (MonadDOM m) => VideoConfiguration -> m Bool
getHasAlphaChannelUnchecked self = liftDOM (((self ^. js "hasAlphaChannel") >>= valToBool))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-hdrmetadatatype VideoConfiguration.hdrMetadataType specification>
setHdrMetadataType :: (MonadDOM m) => VideoConfiguration -> HdrMetadataType -> m ()
setHdrMetadataType self val = liftDOM (void (self ^. jss "hdrMetadataType" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-hdrmetadatatype VideoConfiguration.hdrMetadataType specification>
getHdrMetadataType :: (MonadDOM m) => VideoConfiguration -> m (Maybe HdrMetadataType)
getHdrMetadataType self = liftDOM (((self ^. js "hdrMetadataType") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-hdrmetadatatype VideoConfiguration.hdrMetadataType specification>
getHdrMetadataTypeUnsafe :: (MonadDOM m, HasCallStack) => VideoConfiguration -> m HdrMetadataType
getHdrMetadataTypeUnsafe self = liftDOM ((((self ^. js "hdrMetadataType") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-hdrmetadatatype VideoConfiguration.hdrMetadataType specification>
getHdrMetadataTypeUnchecked :: (MonadDOM m) => VideoConfiguration -> m HdrMetadataType
getHdrMetadataTypeUnchecked self = liftDOM (((self ^. js "hdrMetadataType") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-colorgamut VideoConfiguration.colorGamut specification>
setColorGamut :: (MonadDOM m) => VideoConfiguration -> ColorGamut -> m ()
setColorGamut self val = liftDOM (void (self ^. jss "colorGamut" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-colorgamut VideoConfiguration.colorGamut specification>
getColorGamut :: (MonadDOM m) => VideoConfiguration -> m (Maybe ColorGamut)
getColorGamut self = liftDOM (((self ^. js "colorGamut") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-colorgamut VideoConfiguration.colorGamut specification>
getColorGamutUnsafe :: (MonadDOM m, HasCallStack) => VideoConfiguration -> m ColorGamut
getColorGamutUnsafe self = liftDOM ((((self ^. js "colorGamut") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-colorgamut VideoConfiguration.colorGamut specification>
getColorGamutUnchecked :: (MonadDOM m) => VideoConfiguration -> m ColorGamut
getColorGamutUnchecked self = liftDOM (((self ^. js "colorGamut") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-transferfunction VideoConfiguration.transferFunction specification>
setTransferFunction :: (MonadDOM m) => VideoConfiguration -> TransferFunction -> m ()
setTransferFunction self val = liftDOM (void (self ^. jss "transferFunction" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-transferfunction VideoConfiguration.transferFunction specification>
getTransferFunction :: (MonadDOM m) => VideoConfiguration -> m (Maybe TransferFunction)
getTransferFunction self = liftDOM (((self ^. js "transferFunction") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-transferfunction VideoConfiguration.transferFunction specification>
getTransferFunctionUnsafe :: (MonadDOM m, HasCallStack) => VideoConfiguration -> m TransferFunction
getTransferFunctionUnsafe self = liftDOM ((((self ^. js "transferFunction") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-transferfunction VideoConfiguration.transferFunction specification>
getTransferFunctionUnchecked :: (MonadDOM m) => VideoConfiguration -> m TransferFunction
getTransferFunctionUnchecked self = liftDOM (((self ^. js "transferFunction") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-scalabilitymode VideoConfiguration.scalabilityMode specification>
setScalabilityMode :: (MonadDOM m, ToJSString val) => VideoConfiguration -> val -> m ()
setScalabilityMode self val = liftDOM (void (self ^. jss "scalabilityMode" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-scalabilitymode VideoConfiguration.scalabilityMode specification>
getScalabilityMode :: (MonadDOM m, FromJSString result) => VideoConfiguration -> m (Maybe result)
getScalabilityMode self = liftDOM (((self ^. js "scalabilityMode") >>= fromMaybeJSString))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-scalabilitymode VideoConfiguration.scalabilityMode specification>
getScalabilityModeUnsafe :: (MonadDOM m, HasCallStack, FromJSString result) => VideoConfiguration -> m result
getScalabilityModeUnsafe self = liftDOM ((((self ^. js "scalabilityMode") >>= fromMaybeJSString) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-scalabilitymode VideoConfiguration.scalabilityMode specification>
getScalabilityModeUnchecked :: (MonadDOM m, FromJSString result) => VideoConfiguration -> m result
getScalabilityModeUnchecked self = liftDOM (((self ^. js "scalabilityMode") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-spatialscalability VideoConfiguration.spatialScalability specification>
setSpatialScalability :: (MonadDOM m) => VideoConfiguration -> Bool -> m ()
setSpatialScalability self val = liftDOM (void (self ^. jss "spatialScalability" (toJSVal val)))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-spatialscalability VideoConfiguration.spatialScalability specification>
getSpatialScalability :: (MonadDOM m) => VideoConfiguration -> m (Maybe Bool)
getSpatialScalability self = liftDOM (((self ^. js "spatialScalability") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-spatialscalability VideoConfiguration.spatialScalability specification>
getSpatialScalabilityUnsafe :: (MonadDOM m, HasCallStack) => VideoConfiguration -> m Bool
getSpatialScalabilityUnsafe self = liftDOM ((((self ^. js "spatialScalability") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/media-capabilities/#dom-videoconfiguration-spatialscalability VideoConfiguration.spatialScalability specification>
getSpatialScalabilityUnchecked :: (MonadDOM m) => VideoConfiguration -> m Bool
getSpatialScalabilityUnchecked self = liftDOM (((self ^. js "spatialScalability") >>= valToBool))