packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/VideoFrameMetadata.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.VideoFrameMetadata
       (newVideoFrameMetadata, setSegments, getSegments, getSegmentsUnsafe, getSegmentsUnchecked, setBackgroundBlur, getBackgroundBlur, getBackgroundBlurUnsafe, getBackgroundBlurUnchecked, setBackgroundSegmentationMask, getBackgroundSegmentationMask, getBackgroundSegmentationMaskUnsafe, getBackgroundSegmentationMaskUnchecked, VideoFrameMetadata(..), gTypeVideoFrameMetadata)
       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-videoframemetadata VideoFrameMetadata specification>
newVideoFrameMetadata :: (MonadDOM m) => m VideoFrameMetadata
newVideoFrameMetadata = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-segments VideoFrameMetadata.segments specification>
setSegments :: (MonadDOM m) => VideoFrameMetadata -> [Segment] -> m ()
setSegments self val = liftDOM (void (self ^. jss "segments" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-segments VideoFrameMetadata.segments specification>
getSegments :: (MonadDOM m) => VideoFrameMetadata -> m (Maybe [Segment])
getSegments self = liftDOM (((self ^. js "segments") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-segments VideoFrameMetadata.segments specification>
getSegmentsUnsafe :: (MonadDOM m, HasCallStack) => VideoFrameMetadata -> m [Segment]
getSegmentsUnsafe self = liftDOM ((((self ^. js "segments") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-segments VideoFrameMetadata.segments specification>
getSegmentsUnchecked :: (MonadDOM m) => VideoFrameMetadata -> m [Segment]
getSegmentsUnchecked self = liftDOM (((self ^. js "segments") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundblur VideoFrameMetadata.backgroundBlur specification>
setBackgroundBlur :: (MonadDOM m) => VideoFrameMetadata -> BackgroundBlur -> m ()
setBackgroundBlur self val = liftDOM (void (self ^. jss "backgroundBlur" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundblur VideoFrameMetadata.backgroundBlur specification>
getBackgroundBlur :: (MonadDOM m) => VideoFrameMetadata -> m (Maybe BackgroundBlur)
getBackgroundBlur self = liftDOM (((self ^. js "backgroundBlur") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundblur VideoFrameMetadata.backgroundBlur specification>
getBackgroundBlurUnsafe :: (MonadDOM m, HasCallStack) => VideoFrameMetadata -> m BackgroundBlur
getBackgroundBlurUnsafe self = liftDOM ((((self ^. js "backgroundBlur") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundblur VideoFrameMetadata.backgroundBlur specification>
getBackgroundBlurUnchecked :: (MonadDOM m) => VideoFrameMetadata -> m BackgroundBlur
getBackgroundBlurUnchecked self = liftDOM (((self ^. js "backgroundBlur") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundsegmentationmask VideoFrameMetadata.backgroundSegmentationMask specification>
setBackgroundSegmentationMask :: (MonadDOM m) => VideoFrameMetadata -> ImageBitmap -> m ()
setBackgroundSegmentationMask self val = liftDOM (void (self ^. jss "backgroundSegmentationMask" (toJSVal val)))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundsegmentationmask VideoFrameMetadata.backgroundSegmentationMask specification>
getBackgroundSegmentationMask :: (MonadDOM m) => VideoFrameMetadata -> m (Maybe ImageBitmap)
getBackgroundSegmentationMask self = liftDOM (((self ^. js "backgroundSegmentationMask") >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundsegmentationmask VideoFrameMetadata.backgroundSegmentationMask specification>
getBackgroundSegmentationMaskUnsafe :: (MonadDOM m, HasCallStack) => VideoFrameMetadata -> m ImageBitmap
getBackgroundSegmentationMaskUnsafe self = liftDOM ((((self ^. js "backgroundSegmentationMask") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundsegmentationmask VideoFrameMetadata.backgroundSegmentationMask specification>
getBackgroundSegmentationMaskUnchecked :: (MonadDOM m) => VideoFrameMetadata -> m ImageBitmap
getBackgroundSegmentationMaskUnchecked self = liftDOM (((self ^. js "backgroundSegmentationMask") >>= fromJSValUnchecked))