wgpu-raw-hs-0.1.0.0: src/WGPU/Raw/Generated/Struct/WGPUVertexBufferLayout.hsc
{-# OPTIONS_GHC -Wno-unused-imports #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE NoImplicitPrelude #-}
-- This file was generated by wgpu-raw-hs-codegen on:
-- 2021-08-15T08:56:06.968390
-- Using wgpu-native git hash:
-- b10496e7eed9349f0fd541e6dfe5029cb436de74 wgpu-native (v0.9.2.2)
module WGPU.Raw.Generated.Struct.WGPUVertexBufferLayout where
#include "wgpu.h"
import Data.Word (Word16, Word32, Word64)
import Data.Int (Int32)
import Foreign
import Foreign.C.Types
import WGPU.Raw.Types
import Prelude (pure, ($!))
import WGPU.Raw.Generated.Enum.WGPUInputStepMode
import WGPU.Raw.Generated.Struct.WGPUVertexAttribute
data WGPUVertexBufferLayout = WGPUVertexBufferLayout {
arrayStride :: Word64,
stepMode :: WGPUInputStepMode,
attributeCount :: Word32,
attributes :: Ptr (WGPUVertexAttribute)
}
instance Storable WGPUVertexBufferLayout where
sizeOf _ = (#size WGPUVertexBufferLayout)
alignment = sizeOf
peek ptr = do
arrayStride <- (#peek WGPUVertexBufferLayout, arrayStride) ptr
stepMode <- (#peek WGPUVertexBufferLayout, stepMode) ptr
attributeCount <- (#peek WGPUVertexBufferLayout, attributeCount) ptr
attributes <- (#peek WGPUVertexBufferLayout, attributes) ptr
pure $! WGPUVertexBufferLayout{..}
poke ptr WGPUVertexBufferLayout{..} = do
(#poke WGPUVertexBufferLayout, arrayStride) ptr arrayStride
(#poke WGPUVertexBufferLayout, stepMode) ptr stepMode
(#poke WGPUVertexBufferLayout, attributeCount) ptr attributeCount
(#poke WGPUVertexBufferLayout, attributes) ptr attributes