packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from image-capture (webref). Do not edit.
module JSDOM.Generated.ImageCapture
       (newImageCapture, getPhotoCapabilities, getPhotoCapabilities_, getPhotoSettings, getPhotoSettings_, grabFrame, grabFrame_, takePhoto, takePhoto_, getTrack, ImageCapture(..), gTypeImageCapture)
       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/ImageCapture/ImageCapture MDN ImageCapture. documentation>
newImageCapture :: (MonadDOM m, IsMediaStreamTrack videoTrack) => videoTrack -> m ImageCapture
newImageCapture videoTrack = liftDOM (((new (jsg "ImageCapture") [toJSVal videoTrack]) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ImageCapture/getPhotoCapabilities MDN ImageCapture.getPhotoCapabilities documentation>
getPhotoCapabilities :: (MonadDOM m) => ImageCapture -> m PhotoCapabilities
getPhotoCapabilities self = liftDOM (((((self ^. jsf "getPhotoCapabilities" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ImageCapture/getPhotoCapabilities MDN ImageCapture.getPhotoCapabilities documentation>
getPhotoCapabilities_ :: (MonadDOM m) => ImageCapture -> m ()
getPhotoCapabilities_ self = liftDOM (void (((self ^. jsf "getPhotoCapabilities" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/ImageCapture/getPhotoSettings MDN ImageCapture.getPhotoSettings documentation>
getPhotoSettings :: (MonadDOM m) => ImageCapture -> m PhotoSettings
getPhotoSettings self = liftDOM (((((self ^. jsf "getPhotoSettings" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ImageCapture/getPhotoSettings MDN ImageCapture.getPhotoSettings documentation>
getPhotoSettings_ :: (MonadDOM m) => ImageCapture -> m ()
getPhotoSettings_ self = liftDOM (void (((self ^. jsf "getPhotoSettings" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/ImageCapture/grabFrame MDN ImageCapture.grabFrame documentation>
grabFrame :: (MonadDOM m) => ImageCapture -> m ImageBitmap
grabFrame self = liftDOM (((((self ^. jsf "grabFrame" ()) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ImageCapture/grabFrame MDN ImageCapture.grabFrame documentation>
grabFrame_ :: (MonadDOM m) => ImageCapture -> m ()
grabFrame_ self = liftDOM (void (((self ^. jsf "grabFrame" ()) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/ImageCapture/takePhoto MDN ImageCapture.takePhoto documentation>
takePhoto :: (MonadDOM m) => ImageCapture -> Maybe PhotoSettings -> m Blob
takePhoto self photoSettings = liftDOM (((((self ^. jsf "takePhoto" [P.maybe (P.return jsUndefined) toJSVal photoSettings]) >>= readPromise)) >>= fromJSValUnchecked))

-- | <https://developer.mozilla.org/docs/Web/API/ImageCapture/takePhoto MDN ImageCapture.takePhoto documentation>
takePhoto_ :: (MonadDOM m) => ImageCapture -> Maybe PhotoSettings -> m ()
takePhoto_ self photoSettings = liftDOM (void (((self ^. jsf "takePhoto" [P.maybe (P.return jsUndefined) toJSVal photoSettings]) >>= readPromise)))

-- | <https://developer.mozilla.org/docs/Web/API/ImageCapture/track MDN ImageCapture.track documentation>
getTrack :: (MonadDOM m) => ImageCapture -> m MediaStreamTrack
getTrack self = liftDOM (((self ^. js "track") >>= fromJSValUnchecked))