packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/GPURenderCommandsMixin.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.GPURenderCommandsMixin
       (draw, drawIndexed, drawIndexedIndirect, drawIndirect, setIndexBuffer, setPipeline, setVertexBuffer, GPURenderCommandsMixin(..), gTypeGPURenderCommandsMixin, IsGPURenderCommandsMixin, toGPURenderCommandsMixin)
       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/GPURenderBundleEncoder/draw MDN GPURenderCommandsMixin.draw documentation>
draw :: (MonadDOM m, IsGPURenderCommandsMixin self) => self -> Word -> Maybe Word -> Maybe Word -> Maybe Word -> m ()
draw self vertexCount instanceCount firstVertex firstInstance = liftDOM (void ((Types.toGPURenderCommandsMixin self) ^. jsf "draw" [toJSVal vertexCount, P.maybe (P.return jsUndefined) toJSVal instanceCount, P.maybe (P.return jsUndefined) toJSVal firstVertex, P.maybe (P.return jsUndefined) toJSVal firstInstance]))

-- | <https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/drawIndexed MDN GPURenderCommandsMixin.drawIndexed documentation>
drawIndexed :: (MonadDOM m, IsGPURenderCommandsMixin self) => self -> Word -> Maybe Word -> Maybe Word -> Maybe Int -> Maybe Word -> m ()
drawIndexed self indexCount instanceCount firstIndex baseVertex firstInstance = liftDOM (void ((Types.toGPURenderCommandsMixin self) ^. jsf "drawIndexed" [toJSVal indexCount, P.maybe (P.return jsUndefined) toJSVal instanceCount, P.maybe (P.return jsUndefined) toJSVal firstIndex, P.maybe (P.return jsUndefined) toJSVal baseVertex, P.maybe (P.return jsUndefined) toJSVal firstInstance]))

-- | <https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/drawIndexedIndirect MDN GPURenderCommandsMixin.drawIndexedIndirect documentation>
drawIndexedIndirect :: (MonadDOM m, IsGPURenderCommandsMixin self) => self -> GPUBuffer -> Word53 -> m ()
drawIndexedIndirect self indirectBuffer indirectOffset = liftDOM (void ((Types.toGPURenderCommandsMixin self) ^. jsf "drawIndexedIndirect" [toJSVal indirectBuffer, toJSVal indirectOffset]))

-- | <https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/drawIndirect MDN GPURenderCommandsMixin.drawIndirect documentation>
drawIndirect :: (MonadDOM m, IsGPURenderCommandsMixin self) => self -> GPUBuffer -> Word53 -> m ()
drawIndirect self indirectBuffer indirectOffset = liftDOM (void ((Types.toGPURenderCommandsMixin self) ^. jsf "drawIndirect" [toJSVal indirectBuffer, toJSVal indirectOffset]))

-- | <https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/setIndexBuffer MDN GPURenderCommandsMixin.setIndexBuffer documentation>
setIndexBuffer :: (MonadDOM m, IsGPURenderCommandsMixin self) => self -> GPUBuffer -> GPUIndexFormat -> Maybe Word53 -> Maybe Word53 -> m ()
setIndexBuffer self buffer indexFormat offset size = liftDOM (void ((Types.toGPURenderCommandsMixin self) ^. jsf "setIndexBuffer" [toJSVal buffer, toJSVal indexFormat, P.maybe (P.return jsUndefined) toJSVal offset, P.maybe (P.return jsUndefined) toJSVal size]))

-- | <https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/setPipeline MDN GPURenderCommandsMixin.setPipeline documentation>
setPipeline :: (MonadDOM m, IsGPURenderCommandsMixin self) => self -> GPURenderPipeline -> m ()
setPipeline self pipeline = liftDOM (void ((Types.toGPURenderCommandsMixin self) ^. jsf "setPipeline" [toJSVal pipeline]))

-- | <https://developer.mozilla.org/docs/Web/API/GPURenderBundleEncoder/setVertexBuffer MDN GPURenderCommandsMixin.setVertexBuffer documentation>
setVertexBuffer :: (MonadDOM m, IsGPURenderCommandsMixin self) => self -> Word -> Maybe GPUBuffer -> Maybe Word53 -> Maybe Word53 -> m ()
setVertexBuffer self slot buffer offset size = liftDOM (void ((Types.toGPURenderCommandsMixin self) ^. jsf "setVertexBuffer" [toJSVal slot, toJSVal buffer, P.maybe (P.return jsUndefined) toJSVal offset, P.maybe (P.return jsUndefined) toJSVal size]))