{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE KindSignatures #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# LANGUAGE Strict #-}
{-# LANGUAGE TypeSynonymInstances #-}
module Graphics.Vulkan.Types.Enum.SemaphoreImportFlag
(VkSemaphoreImportFlagBitsKHR(..),
VkSemaphoreImportBitmask(VkSemaphoreImportBitmask,
VkSemaphoreImportFlags, VkSemaphoreImportFlagBits,
VK_SEMAPHORE_IMPORT_TEMPORARY_BIT),
VkSemaphoreImportFlags, VkSemaphoreImportFlagBits)
where
import Data.Bits (Bits, FiniteBits)
import Data.Coerce (coerce)
import Foreign.Storable (Storable)
import GHC.Read (choose, expectP)
import Graphics.Vulkan.Marshal (FlagBit, FlagMask, FlagType)
import Graphics.Vulkan.Types.BaseTypes (VkFlags (..))
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read (Read (..), parens)
import Text.Read.Lex (Lexeme (..))
newtype VkSemaphoreImportFlagBitsKHR = VkSemaphoreImportFlagBitsKHR VkFlags
deriving (Eq, Ord, Enum, Bits, FiniteBits, Storable)
instance Show VkSemaphoreImportFlagBitsKHR where
{-# INLINE showsPrec #-}
showsPrec = coerce (showsPrec :: Int -> VkFlags -> ShowS)
instance Read VkSemaphoreImportFlagBitsKHR where
{-# INLINE readsPrec #-}
readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
newtype VkSemaphoreImportBitmask (a ::
FlagType) = VkSemaphoreImportBitmask VkFlags
deriving (Eq, Ord, Storable)
type VkSemaphoreImportFlags = VkSemaphoreImportBitmask FlagMask
type VkSemaphoreImportFlagBits = VkSemaphoreImportBitmask FlagBit
pattern VkSemaphoreImportFlagBits ::
VkFlags -> VkSemaphoreImportBitmask FlagBit
pattern VkSemaphoreImportFlagBits n = VkSemaphoreImportBitmask n
pattern VkSemaphoreImportFlags ::
VkFlags -> VkSemaphoreImportBitmask FlagMask
pattern VkSemaphoreImportFlags n = VkSemaphoreImportBitmask n
deriving instance Bits (VkSemaphoreImportBitmask FlagMask)
deriving instance FiniteBits (VkSemaphoreImportBitmask FlagMask)
instance Show (VkSemaphoreImportBitmask a) where
showsPrec _ VK_SEMAPHORE_IMPORT_TEMPORARY_BIT
= showString "VK_SEMAPHORE_IMPORT_TEMPORARY_BIT"
showsPrec p (VkSemaphoreImportBitmask x)
= showParen (p >= 11)
(showString "VkSemaphoreImportBitmask " . showsPrec 11 x)
instance Read (VkSemaphoreImportBitmask a) where
readPrec
= parens
(choose
[("VK_SEMAPHORE_IMPORT_TEMPORARY_BIT",
pure VK_SEMAPHORE_IMPORT_TEMPORARY_BIT)]
+++
prec 10
(expectP (Ident "VkSemaphoreImportBitmask") >>
(VkSemaphoreImportBitmask <$> step readPrec)))
pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT ::
VkSemaphoreImportBitmask a
pattern VK_SEMAPHORE_IMPORT_TEMPORARY_BIT =
VkSemaphoreImportBitmask 1