jsaddle-dom-0.10.0.0: src/JSDOM/Generated/GPURenderPipelineDescriptor.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.GPURenderPipelineDescriptor
(newGPURenderPipelineDescriptor, setVertex, getVertex, setPrimitive, getPrimitive, getPrimitiveUnsafe, getPrimitiveUnchecked, setDepthStencil, getDepthStencil, getDepthStencilUnsafe, getDepthStencilUnchecked, setMultisample, getMultisample, getMultisampleUnsafe, getMultisampleUnchecked, setFragment, getFragment, getFragmentUnsafe, getFragmentUnchecked, GPURenderPipelineDescriptor(..), gTypeGPURenderPipelineDescriptor)
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/#dictdef-gpurenderpipelinedescriptor GPURenderPipelineDescriptor specification>
newGPURenderPipelineDescriptor :: (MonadDOM m, IsGPUPipelineLayoutOrGPUAutoLayoutMode layout) => layout -> GPUVertexState -> m GPURenderPipelineDescriptor
newGPURenderPipelineDescriptor layout vertex = liftDOM ((((new (jsg "Object") () >>= \o -> (o ^. jss "layout" (toJSVal layout)) P.>> (o ^. jss "vertex" (toJSVal vertex)) P.>> P.return o)) >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-vertex GPURenderPipelineDescriptor.vertex specification>
setVertex :: (MonadDOM m) => GPURenderPipelineDescriptor -> GPUVertexState -> m ()
setVertex self val = liftDOM (void (self ^. jss "vertex" (toJSVal val)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-vertex GPURenderPipelineDescriptor.vertex specification>
getVertex :: (MonadDOM m) => GPURenderPipelineDescriptor -> m GPUVertexState
getVertex self = liftDOM (((self ^. js "vertex") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-primitive GPURenderPipelineDescriptor.primitive specification>
setPrimitive :: (MonadDOM m) => GPURenderPipelineDescriptor -> GPUPrimitiveState -> m ()
setPrimitive self val = liftDOM (void (self ^. jss "primitive" (toJSVal val)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-primitive GPURenderPipelineDescriptor.primitive specification>
getPrimitive :: (MonadDOM m) => GPURenderPipelineDescriptor -> m (Maybe GPUPrimitiveState)
getPrimitive self = liftDOM (((self ^. js "primitive") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-primitive GPURenderPipelineDescriptor.primitive specification>
getPrimitiveUnsafe :: (MonadDOM m, HasCallStack) => GPURenderPipelineDescriptor -> m GPUPrimitiveState
getPrimitiveUnsafe self = liftDOM ((((self ^. js "primitive") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-primitive GPURenderPipelineDescriptor.primitive specification>
getPrimitiveUnchecked :: (MonadDOM m) => GPURenderPipelineDescriptor -> m GPUPrimitiveState
getPrimitiveUnchecked self = liftDOM (((self ^. js "primitive") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-depthstencil GPURenderPipelineDescriptor.depthStencil specification>
setDepthStencil :: (MonadDOM m) => GPURenderPipelineDescriptor -> GPUDepthStencilState -> m ()
setDepthStencil self val = liftDOM (void (self ^. jss "depthStencil" (toJSVal val)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-depthstencil GPURenderPipelineDescriptor.depthStencil specification>
getDepthStencil :: (MonadDOM m) => GPURenderPipelineDescriptor -> m (Maybe GPUDepthStencilState)
getDepthStencil self = liftDOM (((self ^. js "depthStencil") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-depthstencil GPURenderPipelineDescriptor.depthStencil specification>
getDepthStencilUnsafe :: (MonadDOM m, HasCallStack) => GPURenderPipelineDescriptor -> m GPUDepthStencilState
getDepthStencilUnsafe self = liftDOM ((((self ^. js "depthStencil") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-depthstencil GPURenderPipelineDescriptor.depthStencil specification>
getDepthStencilUnchecked :: (MonadDOM m) => GPURenderPipelineDescriptor -> m GPUDepthStencilState
getDepthStencilUnchecked self = liftDOM (((self ^. js "depthStencil") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-multisample GPURenderPipelineDescriptor.multisample specification>
setMultisample :: (MonadDOM m) => GPURenderPipelineDescriptor -> GPUMultisampleState -> m ()
setMultisample self val = liftDOM (void (self ^. jss "multisample" (toJSVal val)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-multisample GPURenderPipelineDescriptor.multisample specification>
getMultisample :: (MonadDOM m) => GPURenderPipelineDescriptor -> m (Maybe GPUMultisampleState)
getMultisample self = liftDOM (((self ^. js "multisample") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-multisample GPURenderPipelineDescriptor.multisample specification>
getMultisampleUnsafe :: (MonadDOM m, HasCallStack) => GPURenderPipelineDescriptor -> m GPUMultisampleState
getMultisampleUnsafe self = liftDOM ((((self ^. js "multisample") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-multisample GPURenderPipelineDescriptor.multisample specification>
getMultisampleUnchecked :: (MonadDOM m) => GPURenderPipelineDescriptor -> m GPUMultisampleState
getMultisampleUnchecked self = liftDOM (((self ^. js "multisample") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-fragment GPURenderPipelineDescriptor.fragment specification>
setFragment :: (MonadDOM m) => GPURenderPipelineDescriptor -> GPUFragmentState -> m ()
setFragment self val = liftDOM (void (self ^. jss "fragment" (toJSVal val)))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-fragment GPURenderPipelineDescriptor.fragment specification>
getFragment :: (MonadDOM m) => GPURenderPipelineDescriptor -> m (Maybe GPUFragmentState)
getFragment self = liftDOM (((self ^. js "fragment") >>= fromJSValUnchecked))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-fragment GPURenderPipelineDescriptor.fragment specification>
getFragmentUnsafe :: (MonadDOM m, HasCallStack) => GPURenderPipelineDescriptor -> m GPUFragmentState
getFragmentUnsafe self = liftDOM ((((self ^. js "fragment") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))
-- | <https://gpuweb.github.io/gpuweb/#dom-gpurenderpipelinedescriptor-fragment GPURenderPipelineDescriptor.fragment specification>
getFragmentUnchecked :: (MonadDOM m) => GPURenderPipelineDescriptor -> m GPUFragmentState
getFragmentUnchecked self = liftDOM (((self ^. js "fragment") >>= fromJSValUnchecked))