packages feed

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

{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE ImplicitParams, ConstraintKinds, KindSignatures #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
-- | Generated by dom-gen from webgpu (webref). Do not edit.
module JSDOM.Generated.GPUCopyExternalImageSourceInfo
       (newGPUCopyExternalImageSourceInfo, setSource, getSource, setOrigin, getOrigin, getOriginUnsafe, getOriginUnchecked, setFlipY, getFlipY, getFlipYUnsafe, getFlipYUnchecked, GPUCopyExternalImageSourceInfo(..), gTypeGPUCopyExternalImageSourceInfo)
       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://gpuweb.github.io/gpuweb/#gpucopyexternalimagesourceinfo GPUCopyExternalImageSourceInfo specification>
newGPUCopyExternalImageSourceInfo :: (MonadDOM m, IsGPUCopyExternalImageSource source) => source -> m GPUCopyExternalImageSourceInfo
newGPUCopyExternalImageSourceInfo source = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "source" (toJSVal source)) P.>> P.return o)) >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpucopyexternalimagesourceinfo-source GPUCopyExternalImageSourceInfo.source specification>
setSource :: (MonadDOM m, IsGPUCopyExternalImageSource val) => GPUCopyExternalImageSourceInfo -> val -> m ()
setSource self val = liftDOM (void (self ^. jss "source" (toJSVal val)))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpucopyexternalimagesourceinfo-source GPUCopyExternalImageSourceInfo.source specification>
getSource :: (MonadDOM m) => GPUCopyExternalImageSourceInfo -> m GPUCopyExternalImageSource
getSource self = liftDOM (((self ^. js "source") >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpucopyexternalimagesourceinfo-origin GPUCopyExternalImageSourceInfo.origin specification>
setOrigin :: (MonadDOM m, IsGPUOrigin2D val) => GPUCopyExternalImageSourceInfo -> val -> m ()
setOrigin self val = liftDOM (void (self ^. jss "origin" (toJSVal val)))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpucopyexternalimagesourceinfo-origin GPUCopyExternalImageSourceInfo.origin specification>
getOrigin :: (MonadDOM m) => GPUCopyExternalImageSourceInfo -> m (Maybe GPUOrigin2D)
getOrigin self = liftDOM (((self ^. js "origin") >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpucopyexternalimagesourceinfo-origin GPUCopyExternalImageSourceInfo.origin specification>
getOriginUnsafe :: (MonadDOM m, HasCallStack) => GPUCopyExternalImageSourceInfo -> m GPUOrigin2D
getOriginUnsafe self = liftDOM ((((self ^. js "origin") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpucopyexternalimagesourceinfo-origin GPUCopyExternalImageSourceInfo.origin specification>
getOriginUnchecked :: (MonadDOM m) => GPUCopyExternalImageSourceInfo -> m GPUOrigin2D
getOriginUnchecked self = liftDOM (((self ^. js "origin") >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpucopyexternalimagesourceinfo-flipy GPUCopyExternalImageSourceInfo.flipY specification>
setFlipY :: (MonadDOM m) => GPUCopyExternalImageSourceInfo -> Bool -> m ()
setFlipY self val = liftDOM (void (self ^. jss "flipY" (toJSVal val)))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpucopyexternalimagesourceinfo-flipy GPUCopyExternalImageSourceInfo.flipY specification>
getFlipY :: (MonadDOM m) => GPUCopyExternalImageSourceInfo -> m (Maybe Bool)
getFlipY self = liftDOM (((self ^. js "flipY") >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpucopyexternalimagesourceinfo-flipy GPUCopyExternalImageSourceInfo.flipY specification>
getFlipYUnsafe :: (MonadDOM m, HasCallStack) => GPUCopyExternalImageSourceInfo -> m Bool
getFlipYUnsafe self = liftDOM ((((self ^. js "flipY") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://gpuweb.github.io/gpuweb/#dom-gpucopyexternalimagesourceinfo-flipy GPUCopyExternalImageSourceInfo.flipY specification>
getFlipYUnchecked :: (MonadDOM m) => GPUCopyExternalImageSourceInfo -> m Bool
getFlipYUnchecked self = liftDOM (((self ^. js "flipY") >>= valToBool))