{-# language CPP #-}
module Graphics.Vulkan.Core10.Enums.PolygonMode (PolygonMode( POLYGON_MODE_FILL
, POLYGON_MODE_LINE
, POLYGON_MODE_POINT
, POLYGON_MODE_FILL_RECTANGLE_NV
, ..
)) where
import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import GHC.Show (showsPrec)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Foreign.Storable (Storable)
import Data.Int (Int32)
import GHC.Read (Read(readPrec))
import Text.Read.Lex (Lexeme(Ident))
import Graphics.Vulkan.Zero (Zero)
newtype PolygonMode = PolygonMode Int32
deriving newtype (Eq, Ord, Storable, Zero)
pattern POLYGON_MODE_FILL = PolygonMode 0
pattern POLYGON_MODE_LINE = PolygonMode 1
pattern POLYGON_MODE_POINT = PolygonMode 2
pattern POLYGON_MODE_FILL_RECTANGLE_NV = PolygonMode 1000153000
{-# complete POLYGON_MODE_FILL,
POLYGON_MODE_LINE,
POLYGON_MODE_POINT,
POLYGON_MODE_FILL_RECTANGLE_NV :: PolygonMode #-}
instance Show PolygonMode where
showsPrec p = \case
POLYGON_MODE_FILL -> showString "POLYGON_MODE_FILL"
POLYGON_MODE_LINE -> showString "POLYGON_MODE_LINE"
POLYGON_MODE_POINT -> showString "POLYGON_MODE_POINT"
POLYGON_MODE_FILL_RECTANGLE_NV -> showString "POLYGON_MODE_FILL_RECTANGLE_NV"
PolygonMode x -> showParen (p >= 11) (showString "PolygonMode " . showsPrec 11 x)
instance Read PolygonMode where
readPrec = parens (choose [("POLYGON_MODE_FILL", pure POLYGON_MODE_FILL)
, ("POLYGON_MODE_LINE", pure POLYGON_MODE_LINE)
, ("POLYGON_MODE_POINT", pure POLYGON_MODE_POINT)
, ("POLYGON_MODE_FILL_RECTANGLE_NV", pure POLYGON_MODE_FILL_RECTANGLE_NV)]
+++
prec 10 (do
expectP (Ident "PolygonMode")
v <- step readPrec
pure (PolygonMode v)))