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 Data.Data (Data)
import Foreign.Storable (Storable)
import GHC.Generics (Generic)
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, Num, Bounded, Enum, Integral, Bits,
FiniteBits, Storable, Real, Data, Generic)
instance Show VkSemaphoreImportFlagBitsKHR where
show (VkSemaphoreImportFlagBitsKHR x) = show x
instance Read VkSemaphoreImportFlagBitsKHR where
readsPrec = coerce (readsPrec :: Int -> ReadS VkFlags)
newtype VkSemaphoreImportBitmask (a ::
FlagType) = VkSemaphoreImportBitmask VkFlags
deriving (Eq, Ord, Storable, Data, Generic)
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)
deriving instance Integral (VkSemaphoreImportBitmask FlagMask)
deriving instance Num (VkSemaphoreImportBitmask FlagMask)
deriving instance Bounded (VkSemaphoreImportBitmask FlagMask)
deriving instance Enum (VkSemaphoreImportBitmask FlagMask)
deriving instance Real (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