{-# LINE 1 "src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc" #-}
{-# LINE 2 "src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc" #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MagicHash #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeFamilies #-}
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
{-# INLINE (==) #-}
instance Ord VkRefreshCycleDurationGOOGLE where
(VkRefreshCycleDurationGOOGLE# a _) `compare`
x@(VkRefreshCycleDurationGOOGLE# b _) = cmpBytes# (sizeOf x) a b
{-# INLINE compare #-}
instance Storable VkRefreshCycleDurationGOOGLE where
sizeOf ~_ = (8)
{-# LINE 43 "src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc" #-}
{-# INLINE sizeOf #-}
alignment ~_
= (8)
{-# LINE 47 "src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc" #-}
{-# INLINE alignment #-}
peek = peekVkData#
{-# INLINE peek #-}
poke = pokeVkData#
{-# INLINE poke #-}
instance VulkanMarshalPrim VkRefreshCycleDurationGOOGLE where
unsafeAddr (VkRefreshCycleDurationGOOGLE# a _) = a
{-# INLINE unsafeAddr #-}
unsafeByteArray (VkRefreshCycleDurationGOOGLE# _ b) = b
{-# INLINE unsafeByteArray #-}
unsafeFromByteArrayOffset off b
= VkRefreshCycleDurationGOOGLE#
(plusAddr# (byteArrayContents# b) off)
b
{-# INLINE unsafeFromByteArrayOffset #-}
instance VulkanMarshal VkRefreshCycleDurationGOOGLE where
type StructFields VkRefreshCycleDurationGOOGLE =
'["refreshDuration"] -- ' closing tick for hsc2hs
type CUnionType VkRefreshCycleDurationGOOGLE = 'False -- ' closing tick for hsc2hs
type ReturnedOnly VkRefreshCycleDurationGOOGLE = 'False -- ' closing tick for hsc2hs
type StructExtends VkRefreshCycleDurationGOOGLE = '[] -- ' closing tick for hsc2hs
instance {-# OVERLAPPING #-}
HasField "refreshDuration" VkRefreshCycleDurationGOOGLE where
type FieldType "refreshDuration" VkRefreshCycleDurationGOOGLE =
Word64
type FieldOptional "refreshDuration" VkRefreshCycleDurationGOOGLE =
'False -- ' closing tick for hsc2hs
type FieldOffset "refreshDuration" VkRefreshCycleDurationGOOGLE =
(0)
{-# LINE 85 "src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc" #-}
type FieldIsArray "refreshDuration" VkRefreshCycleDurationGOOGLE =
'False -- ' closing tick for hsc2hs
{-# INLINE fieldOptional #-}
fieldOptional = False
{-# INLINE fieldOffset #-}
fieldOffset
= (0)
{-# LINE 94 "src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanReadField "refreshDuration" VkRefreshCycleDurationGOOGLE where
{-# NOINLINE getField #-}
getField x
= unsafeDupablePerformIO
(peekByteOff (unsafePtr x) (0))
{-# LINE 101 "src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc" #-}
{-# INLINE readField #-}
readField p
= peekByteOff p (0)
{-# LINE 105 "src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc" #-}
instance {-# OVERLAPPING #-}
CanWriteField "refreshDuration" VkRefreshCycleDurationGOOGLE where
{-# INLINE writeField #-}
writeField p
= pokeByteOff p (0)
{-# LINE 111 "src-gen/Graphics/Vulkan/Types/Struct/RefreshCycleDurationGOOGLE.hsc" #-}
instance Show VkRefreshCycleDurationGOOGLE where
showsPrec d x
= showString "VkRefreshCycleDurationGOOGLE {" .
showString "refreshDuration = " .
showsPrec d (getField @"refreshDuration" x) . showChar '}'