{-# OPTIONS_HADDOCK ignore-exports#-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE Strict #-}
module Graphics.Vulkan.Types.Enum.PresentModeKHR
(VkPresentModeKHR(VkPresentModeKHR, VK_PRESENT_MODE_IMMEDIATE_KHR,
VK_PRESENT_MODE_MAILBOX_KHR, VK_PRESENT_MODE_FIFO_KHR,
VK_PRESENT_MODE_FIFO_RELAXED_KHR))
where
import Data.Data (Data)
import Foreign.Storable (Storable)
import GHC.Generics (Generic)
import GHC.Read (choose, expectP)
import Graphics.Vulkan.Marshal (Int32)
import Text.ParserCombinators.ReadPrec (prec, step, (+++))
import Text.Read (Read (..), parens)
import Text.Read.Lex (Lexeme (..))
newtype VkPresentModeKHR = VkPresentModeKHR Int32
deriving (Eq, Ord, Num, Bounded, Storable, Enum, Data, Generic)
instance Show VkPresentModeKHR where
showsPrec _ VK_PRESENT_MODE_IMMEDIATE_KHR
= showString "VK_PRESENT_MODE_IMMEDIATE_KHR"
showsPrec _ VK_PRESENT_MODE_MAILBOX_KHR
= showString "VK_PRESENT_MODE_MAILBOX_KHR"
showsPrec _ VK_PRESENT_MODE_FIFO_KHR
= showString "VK_PRESENT_MODE_FIFO_KHR"
showsPrec _ VK_PRESENT_MODE_FIFO_RELAXED_KHR
= showString "VK_PRESENT_MODE_FIFO_RELAXED_KHR"
showsPrec p (VkPresentModeKHR x)
= showParen (p >= 11)
(showString "VkPresentModeKHR " . showsPrec 11 x)
instance Read VkPresentModeKHR where
readPrec
= parens
(choose
[("VK_PRESENT_MODE_IMMEDIATE_KHR",
pure VK_PRESENT_MODE_IMMEDIATE_KHR),
("VK_PRESENT_MODE_MAILBOX_KHR", pure VK_PRESENT_MODE_MAILBOX_KHR),
("VK_PRESENT_MODE_FIFO_KHR", pure VK_PRESENT_MODE_FIFO_KHR),
("VK_PRESENT_MODE_FIFO_RELAXED_KHR",
pure VK_PRESENT_MODE_FIFO_RELAXED_KHR)]
+++
prec 10
(expectP (Ident "VkPresentModeKHR") >>
(VkPresentModeKHR <$> step readPrec)))
pattern VK_PRESENT_MODE_IMMEDIATE_KHR :: VkPresentModeKHR
pattern VK_PRESENT_MODE_IMMEDIATE_KHR = VkPresentModeKHR 0
pattern VK_PRESENT_MODE_MAILBOX_KHR :: VkPresentModeKHR
pattern VK_PRESENT_MODE_MAILBOX_KHR = VkPresentModeKHR 1
pattern VK_PRESENT_MODE_FIFO_KHR :: VkPresentModeKHR
pattern VK_PRESENT_MODE_FIFO_KHR = VkPresentModeKHR 2
pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR :: VkPresentModeKHR
pattern VK_PRESENT_MODE_FIFO_RELAXED_KHR = VkPresentModeKHR 3