module Graphics.Vulkan.Types.Struct.RefreshCycleDurationGOOGLE
(VkRefreshCycleDurationGOOGLE(..)) where
import Foreign.Storable (Storable (..))
import GHC.Base (Addr#, ByteArray#,
byteArrayContents#,
plusAddr#)
import Graphics.Vulkan.Marshal
import Graphics.Vulkan.Marshal.Internal
import System.IO.Unsafe (unsafeDupablePerformIO)
data VkRefreshCycleDurationGOOGLE = VkRefreshCycleDurationGOOGLE# Addr#
ByteArray#
instance Eq VkRefreshCycleDurationGOOGLE where
(VkRefreshCycleDurationGOOGLE# a _) ==
x@(VkRefreshCycleDurationGOOGLE# b _)
= EQ == cmpBytes# (sizeOf x) a b
instance Ord VkRefreshCycleDurationGOOGLE where
(VkRefreshCycleDurationGOOGLE# a _) `compare`
x@(VkRefreshCycleDurationGOOGLE# b _) = cmpBytes# (sizeOf x) a b
instance Storable VkRefreshCycleDurationGOOGLE where
sizeOf ~_ = (8)
alignment ~_
= (8)
peek = peekVkData#
poke = pokeVkData#
instance VulkanMarshalPrim VkRefreshCycleDurationGOOGLE where
unsafeAddr (VkRefreshCycleDurationGOOGLE# a _) = a
unsafeByteArray (VkRefreshCycleDurationGOOGLE# _ b) = b
unsafeFromByteArrayOffset off b
= VkRefreshCycleDurationGOOGLE#
(plusAddr# (byteArrayContents# b) off)
b
instance VulkanMarshal VkRefreshCycleDurationGOOGLE where
type StructFields VkRefreshCycleDurationGOOGLE =
'["refreshDuration"]
type CUnionType VkRefreshCycleDurationGOOGLE = 'False
type ReturnedOnly VkRefreshCycleDurationGOOGLE = 'False
type StructExtends VkRefreshCycleDurationGOOGLE = '[]
instance
HasField "refreshDuration" VkRefreshCycleDurationGOOGLE where
type FieldType "refreshDuration" VkRefreshCycleDurationGOOGLE =
Word64
type FieldOptional "refreshDuration" VkRefreshCycleDurationGOOGLE =
'False
type FieldOffset "refreshDuration" VkRefreshCycleDurationGOOGLE =
(0)
type FieldIsArray "refreshDuration" VkRefreshCycleDurationGOOGLE =
'False
fieldOptional = False
fieldOffset
= (0)
instance
CanReadField "refreshDuration" VkRefreshCycleDurationGOOGLE where
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
readField p
= peekByteOff p (0)
instance
CanWriteField "refreshDuration" VkRefreshCycleDurationGOOGLE where
writeField p
= pokeByteOff p (0)
instance Show VkRefreshCycleDurationGOOGLE where
showsPrec d x
= showString "VkRefreshCycleDurationGOOGLE {" .
showString "refreshDuration = " .
showsPrec d (getField @"refreshDuration" x) . showChar '}'