packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ForeignFunctionInterface, JavaScriptFFI #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webcodecs (webref). Do not edit.
module GHCJS.DOM.JSFFI.Generated.VideoFrameMetadata
       (js_newVideoFrameMetadata, js_setSegments, js_getSegments, js_setBackgroundBlur, js_getBackgroundBlur, js_setBackgroundSegmentationMask, js_getBackgroundSegmentationMask, 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 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 "(() => { return ({}); })"
        js_newVideoFrameMetadata :: IO VideoFrameMetadata
-- | <https://w3c.github.io/webcodecs/#dictdef-videoframemetadata VideoFrameMetadata specification>
newVideoFrameMetadata :: (MonadDOM m) => m VideoFrameMetadata
newVideoFrameMetadata = liftDOM ((js_newVideoFrameMetadata))

foreign import javascript safe "(($1, $2) => { $1[\"segments\"] = $2; })"
        js_setSegments :: VideoFrameMetadata -> JSVal -> IO ()
-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-segments VideoFrameMetadata.segments specification>
setSegments :: (MonadDOM m) => VideoFrameMetadata -> [Segment] -> m ()
setSegments self val = liftDOM (void (((toJSVal val) >>= \a2' -> js_setSegments (self) a2')))

foreign import javascript unsafe "(($1) => { return $1[\"segments\"]; })"
        js_getSegments :: VideoFrameMetadata -> IO JSVal
-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-segments VideoFrameMetadata.segments specification>
getSegments :: (MonadDOM m) => VideoFrameMetadata -> m (Maybe [Segment])
getSegments self = liftDOM (((js_getSegments (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-segments VideoFrameMetadata.segments specification>
getSegmentsUnsafe :: (MonadDOM m, HasCallStack) => VideoFrameMetadata -> m [Segment]
getSegmentsUnsafe self = liftDOM ((((js_getSegments (self)) >>= 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 (((js_getSegments (self)) >>= fromJSValUnchecked))

foreign import javascript safe "(($1, $2) => { $1[\"backgroundBlur\"] = $2; })"
        js_setBackgroundBlur :: VideoFrameMetadata -> BackgroundBlur -> IO ()
-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundblur VideoFrameMetadata.backgroundBlur specification>
setBackgroundBlur :: (MonadDOM m) => VideoFrameMetadata -> BackgroundBlur -> m ()
setBackgroundBlur self val = liftDOM (void ((js_setBackgroundBlur (self) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"backgroundBlur\"]; })"
        js_getBackgroundBlur :: VideoFrameMetadata -> IO JSVal
-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundblur VideoFrameMetadata.backgroundBlur specification>
getBackgroundBlur :: (MonadDOM m) => VideoFrameMetadata -> m (Maybe BackgroundBlur)
getBackgroundBlur self = liftDOM (((js_getBackgroundBlur (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundblur VideoFrameMetadata.backgroundBlur specification>
getBackgroundBlurUnsafe :: (MonadDOM m, HasCallStack) => VideoFrameMetadata -> m BackgroundBlur
getBackgroundBlurUnsafe self = liftDOM ((((js_getBackgroundBlur (self)) >>= 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 ((pFromJSVal <$> (js_getBackgroundBlur (self))))

foreign import javascript safe "(($1, $2) => { $1[\"backgroundSegmentationMask\"] = $2; })"
        js_setBackgroundSegmentationMask :: VideoFrameMetadata -> ImageBitmap -> IO ()
-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundsegmentationmask VideoFrameMetadata.backgroundSegmentationMask specification>
setBackgroundSegmentationMask :: (MonadDOM m) => VideoFrameMetadata -> ImageBitmap -> m ()
setBackgroundSegmentationMask self val = liftDOM (void ((js_setBackgroundSegmentationMask (self) (val))))

foreign import javascript unsafe "(($1) => { return $1[\"backgroundSegmentationMask\"]; })"
        js_getBackgroundSegmentationMask :: VideoFrameMetadata -> IO JSVal
-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundsegmentationmask VideoFrameMetadata.backgroundSegmentationMask specification>
getBackgroundSegmentationMask :: (MonadDOM m) => VideoFrameMetadata -> m (Maybe ImageBitmap)
getBackgroundSegmentationMask self = liftDOM (((js_getBackgroundSegmentationMask (self)) >>= fromJSValUnchecked))

-- | <https://w3c.github.io/mediacapture-extensions/#dom-videoframemetadata-backgroundsegmentationmask VideoFrameMetadata.backgroundSegmentationMask specification>
getBackgroundSegmentationMaskUnsafe :: (MonadDOM m, HasCallStack) => VideoFrameMetadata -> m ImageBitmap
getBackgroundSegmentationMaskUnsafe self = liftDOM ((((js_getBackgroundSegmentationMask (self)) >>= 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 ((pFromJSVal <$> (js_getBackgroundSegmentationMask (self))))