packages feed

jsaddle-dom-0.10.0.0: src/JSDOM/Generated/GPUTexelCopyBufferLayout.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.GPUTexelCopyBufferLayout
       (newGPUTexelCopyBufferLayout, setOffset, getOffset, getOffsetUnsafe, getOffsetUnchecked, setBytesPerRow, getBytesPerRow, getBytesPerRowUnsafe, getBytesPerRowUnchecked, setRowsPerImage, getRowsPerImage, getRowsPerImageUnsafe, getRowsPerImageUnchecked, GPUTexelCopyBufferLayout(..), gTypeGPUTexelCopyBufferLayout, IsGPUTexelCopyBufferLayout, toGPUTexelCopyBufferLayout)
       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/#gputexelcopybufferlayout GPUTexelCopyBufferLayout specification>
newGPUTexelCopyBufferLayout :: (MonadDOM m) => m GPUTexelCopyBufferLayout
newGPUTexelCopyBufferLayout = liftDOM ((((new (jsg "Object") () >>= \o -> P.return o)) >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-offset GPUTexelCopyBufferLayout.offset specification>
setOffset :: (MonadDOM m, IsGPUTexelCopyBufferLayout self) => self -> Word53 -> m ()
setOffset self val = liftDOM (void ((Types.toGPUTexelCopyBufferLayout self) ^. jss "offset" (toJSVal val)))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-offset GPUTexelCopyBufferLayout.offset specification>
getOffset :: (MonadDOM m, IsGPUTexelCopyBufferLayout self) => self -> m (Maybe Word53)
getOffset self = liftDOM ((((Types.toGPUTexelCopyBufferLayout self) ^. js "offset") >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-offset GPUTexelCopyBufferLayout.offset specification>
getOffsetUnsafe :: (MonadDOM m, IsGPUTexelCopyBufferLayout self, HasCallStack) => self -> m Word53
getOffsetUnsafe self = liftDOM (((((Types.toGPUTexelCopyBufferLayout self) ^. js "offset") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-offset GPUTexelCopyBufferLayout.offset specification>
getOffsetUnchecked :: (MonadDOM m, IsGPUTexelCopyBufferLayout self) => self -> m Word53
getOffsetUnchecked self = liftDOM ((((Types.toGPUTexelCopyBufferLayout self) ^. js "offset") >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-bytesperrow GPUTexelCopyBufferLayout.bytesPerRow specification>
setBytesPerRow :: (MonadDOM m, IsGPUTexelCopyBufferLayout self) => self -> Word -> m ()
setBytesPerRow self val = liftDOM (void ((Types.toGPUTexelCopyBufferLayout self) ^. jss "bytesPerRow" (toJSVal val)))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-bytesperrow GPUTexelCopyBufferLayout.bytesPerRow specification>
getBytesPerRow :: (MonadDOM m, IsGPUTexelCopyBufferLayout self) => self -> m (Maybe Word)
getBytesPerRow self = liftDOM ((((Types.toGPUTexelCopyBufferLayout self) ^. js "bytesPerRow") >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-bytesperrow GPUTexelCopyBufferLayout.bytesPerRow specification>
getBytesPerRowUnsafe :: (MonadDOM m, IsGPUTexelCopyBufferLayout self, HasCallStack) => self -> m Word
getBytesPerRowUnsafe self = liftDOM (((((Types.toGPUTexelCopyBufferLayout self) ^. js "bytesPerRow") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-bytesperrow GPUTexelCopyBufferLayout.bytesPerRow specification>
getBytesPerRowUnchecked :: (MonadDOM m, IsGPUTexelCopyBufferLayout self) => self -> m Word
getBytesPerRowUnchecked self = liftDOM ((P.round <$> (((Types.toGPUTexelCopyBufferLayout self) ^. js "bytesPerRow") >>= valToNumber)))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-rowsperimage GPUTexelCopyBufferLayout.rowsPerImage specification>
setRowsPerImage :: (MonadDOM m, IsGPUTexelCopyBufferLayout self) => self -> Word -> m ()
setRowsPerImage self val = liftDOM (void ((Types.toGPUTexelCopyBufferLayout self) ^. jss "rowsPerImage" (toJSVal val)))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-rowsperimage GPUTexelCopyBufferLayout.rowsPerImage specification>
getRowsPerImage :: (MonadDOM m, IsGPUTexelCopyBufferLayout self) => self -> m (Maybe Word)
getRowsPerImage self = liftDOM ((((Types.toGPUTexelCopyBufferLayout self) ^. js "rowsPerImage") >>= fromJSValUnchecked))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-rowsperimage GPUTexelCopyBufferLayout.rowsPerImage specification>
getRowsPerImageUnsafe :: (MonadDOM m, IsGPUTexelCopyBufferLayout self, HasCallStack) => self -> m Word
getRowsPerImageUnsafe self = liftDOM (((((Types.toGPUTexelCopyBufferLayout self) ^. js "rowsPerImage") >>= fromJSValUnchecked) >>= P.maybe (P.error "Nothing to return") P.return))

-- | <https://gpuweb.github.io/gpuweb/#dom-gputexelcopybufferlayout-rowsperimage GPUTexelCopyBufferLayout.rowsPerImage specification>
getRowsPerImageUnchecked :: (MonadDOM m, IsGPUTexelCopyBufferLayout self) => self -> m Word
getRowsPerImageUnchecked self = liftDOM ((P.round <$> (((Types.toGPUTexelCopyBufferLayout self) ^. js "rowsPerImage") >>= valToNumber)))