{-# language CPP #-}
module Vulkan.Core10.Enums.StencilFaceFlagBits ( pattern STENCIL_FRONT_AND_BACK
, StencilFaceFlags
, StencilFaceFlagBits( STENCIL_FACE_FRONT_BIT
, STENCIL_FACE_BACK_BIT
, STENCIL_FACE_FRONT_AND_BACK
, ..
)
) where
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Vulkan.Internal.Utils (enumReadPrec)
import Vulkan.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import Vulkan.Zero (Zero)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import Vulkan.Core10.FundamentalTypes (Flags)
pattern $bSTENCIL_FRONT_AND_BACK :: StencilFaceFlagBits
$mSTENCIL_FRONT_AND_BACK :: forall {r}.
StencilFaceFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
STENCIL_FRONT_AND_BACK = STENCIL_FACE_FRONT_AND_BACK
type StencilFaceFlags = StencilFaceFlagBits
newtype StencilFaceFlagBits = StencilFaceFlagBits Flags
deriving newtype (StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
(StencilFaceFlagBits -> StencilFaceFlagBits -> Bool)
-> (StencilFaceFlagBits -> StencilFaceFlagBits -> Bool)
-> Eq StencilFaceFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
== :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
$c/= :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
/= :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
Eq, Eq StencilFaceFlagBits
Eq StencilFaceFlagBits =>
(StencilFaceFlagBits -> StencilFaceFlagBits -> Ordering)
-> (StencilFaceFlagBits -> StencilFaceFlagBits -> Bool)
-> (StencilFaceFlagBits -> StencilFaceFlagBits -> Bool)
-> (StencilFaceFlagBits -> StencilFaceFlagBits -> Bool)
-> (StencilFaceFlagBits -> StencilFaceFlagBits -> Bool)
-> (StencilFaceFlagBits
-> StencilFaceFlagBits -> StencilFaceFlagBits)
-> (StencilFaceFlagBits
-> StencilFaceFlagBits -> StencilFaceFlagBits)
-> Ord StencilFaceFlagBits
StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
StencilFaceFlagBits -> StencilFaceFlagBits -> Ordering
StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
forall a.
Eq a =>
(a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
$ccompare :: StencilFaceFlagBits -> StencilFaceFlagBits -> Ordering
compare :: StencilFaceFlagBits -> StencilFaceFlagBits -> Ordering
$c< :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
< :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
$c<= :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
<= :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
$c> :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
> :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
$c>= :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
>= :: StencilFaceFlagBits -> StencilFaceFlagBits -> Bool
$cmax :: StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
max :: StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
$cmin :: StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
min :: StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
Ord, Ptr StencilFaceFlagBits -> IO StencilFaceFlagBits
Ptr StencilFaceFlagBits -> Int -> IO StencilFaceFlagBits
Ptr StencilFaceFlagBits -> Int -> StencilFaceFlagBits -> IO ()
Ptr StencilFaceFlagBits -> StencilFaceFlagBits -> IO ()
StencilFaceFlagBits -> Int
(StencilFaceFlagBits -> Int)
-> (StencilFaceFlagBits -> Int)
-> (Ptr StencilFaceFlagBits -> Int -> IO StencilFaceFlagBits)
-> (Ptr StencilFaceFlagBits -> Int -> StencilFaceFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO StencilFaceFlagBits)
-> (forall b. Ptr b -> Int -> StencilFaceFlagBits -> IO ())
-> (Ptr StencilFaceFlagBits -> IO StencilFaceFlagBits)
-> (Ptr StencilFaceFlagBits -> StencilFaceFlagBits -> IO ())
-> Storable StencilFaceFlagBits
forall b. Ptr b -> Int -> IO StencilFaceFlagBits
forall b. Ptr b -> Int -> StencilFaceFlagBits -> IO ()
forall a.
(a -> Int)
-> (a -> Int)
-> (Ptr a -> Int -> IO a)
-> (Ptr a -> Int -> a -> IO ())
-> (forall b. Ptr b -> Int -> IO a)
-> (forall b. Ptr b -> Int -> a -> IO ())
-> (Ptr a -> IO a)
-> (Ptr a -> a -> IO ())
-> Storable a
$csizeOf :: StencilFaceFlagBits -> Int
sizeOf :: StencilFaceFlagBits -> Int
$calignment :: StencilFaceFlagBits -> Int
alignment :: StencilFaceFlagBits -> Int
$cpeekElemOff :: Ptr StencilFaceFlagBits -> Int -> IO StencilFaceFlagBits
peekElemOff :: Ptr StencilFaceFlagBits -> Int -> IO StencilFaceFlagBits
$cpokeElemOff :: Ptr StencilFaceFlagBits -> Int -> StencilFaceFlagBits -> IO ()
pokeElemOff :: Ptr StencilFaceFlagBits -> Int -> StencilFaceFlagBits -> IO ()
$cpeekByteOff :: forall b. Ptr b -> Int -> IO StencilFaceFlagBits
peekByteOff :: forall b. Ptr b -> Int -> IO StencilFaceFlagBits
$cpokeByteOff :: forall b. Ptr b -> Int -> StencilFaceFlagBits -> IO ()
pokeByteOff :: forall b. Ptr b -> Int -> StencilFaceFlagBits -> IO ()
$cpeek :: Ptr StencilFaceFlagBits -> IO StencilFaceFlagBits
peek :: Ptr StencilFaceFlagBits -> IO StencilFaceFlagBits
$cpoke :: Ptr StencilFaceFlagBits -> StencilFaceFlagBits -> IO ()
poke :: Ptr StencilFaceFlagBits -> StencilFaceFlagBits -> IO ()
Storable, StencilFaceFlagBits
StencilFaceFlagBits -> Zero StencilFaceFlagBits
forall a. a -> Zero a
$czero :: StencilFaceFlagBits
zero :: StencilFaceFlagBits
Zero, Eq StencilFaceFlagBits
StencilFaceFlagBits
Eq StencilFaceFlagBits =>
(StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits)
-> (StencilFaceFlagBits
-> StencilFaceFlagBits -> StencilFaceFlagBits)
-> (StencilFaceFlagBits
-> StencilFaceFlagBits -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> StencilFaceFlagBits
-> (Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> Bool)
-> (StencilFaceFlagBits -> Maybe Int)
-> (StencilFaceFlagBits -> Int)
-> (StencilFaceFlagBits -> Bool)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int -> StencilFaceFlagBits)
-> (StencilFaceFlagBits -> Int)
-> Bits StencilFaceFlagBits
Int -> StencilFaceFlagBits
StencilFaceFlagBits -> Bool
StencilFaceFlagBits -> Int
StencilFaceFlagBits -> Maybe Int
StencilFaceFlagBits -> StencilFaceFlagBits
StencilFaceFlagBits -> Int -> Bool
StencilFaceFlagBits -> Int -> StencilFaceFlagBits
StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
forall a.
Eq a =>
(a -> a -> a)
-> (a -> a -> a)
-> (a -> a -> a)
-> (a -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> a
-> (Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> Bool)
-> (a -> Maybe Int)
-> (a -> Int)
-> (a -> Bool)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int -> a)
-> (a -> Int)
-> Bits a
$c.&. :: StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
.&. :: StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
$c.|. :: StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
.|. :: StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
$cxor :: StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
xor :: StencilFaceFlagBits -> StencilFaceFlagBits -> StencilFaceFlagBits
$ccomplement :: StencilFaceFlagBits -> StencilFaceFlagBits
complement :: StencilFaceFlagBits -> StencilFaceFlagBits
$cshift :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
shift :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$crotate :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
rotate :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$czeroBits :: StencilFaceFlagBits
zeroBits :: StencilFaceFlagBits
$cbit :: Int -> StencilFaceFlagBits
bit :: Int -> StencilFaceFlagBits
$csetBit :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
setBit :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$cclearBit :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
clearBit :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$ccomplementBit :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
complementBit :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$ctestBit :: StencilFaceFlagBits -> Int -> Bool
testBit :: StencilFaceFlagBits -> Int -> Bool
$cbitSizeMaybe :: StencilFaceFlagBits -> Maybe Int
bitSizeMaybe :: StencilFaceFlagBits -> Maybe Int
$cbitSize :: StencilFaceFlagBits -> Int
bitSize :: StencilFaceFlagBits -> Int
$cisSigned :: StencilFaceFlagBits -> Bool
isSigned :: StencilFaceFlagBits -> Bool
$cshiftL :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
shiftL :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$cunsafeShiftL :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
unsafeShiftL :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$cshiftR :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
shiftR :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$cunsafeShiftR :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
unsafeShiftR :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$crotateL :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
rotateL :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$crotateR :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
rotateR :: StencilFaceFlagBits -> Int -> StencilFaceFlagBits
$cpopCount :: StencilFaceFlagBits -> Int
popCount :: StencilFaceFlagBits -> Int
Bits, Bits StencilFaceFlagBits
Bits StencilFaceFlagBits =>
(StencilFaceFlagBits -> Int)
-> (StencilFaceFlagBits -> Int)
-> (StencilFaceFlagBits -> Int)
-> FiniteBits StencilFaceFlagBits
StencilFaceFlagBits -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
$cfiniteBitSize :: StencilFaceFlagBits -> Int
finiteBitSize :: StencilFaceFlagBits -> Int
$ccountLeadingZeros :: StencilFaceFlagBits -> Int
countLeadingZeros :: StencilFaceFlagBits -> Int
$ccountTrailingZeros :: StencilFaceFlagBits -> Int
countTrailingZeros :: StencilFaceFlagBits -> Int
FiniteBits)
pattern $bSTENCIL_FACE_FRONT_BIT :: StencilFaceFlagBits
$mSTENCIL_FACE_FRONT_BIT :: forall {r}.
StencilFaceFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
STENCIL_FACE_FRONT_BIT = StencilFaceFlagBits 0x00000001
pattern $bSTENCIL_FACE_BACK_BIT :: StencilFaceFlagBits
$mSTENCIL_FACE_BACK_BIT :: forall {r}.
StencilFaceFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
STENCIL_FACE_BACK_BIT = StencilFaceFlagBits 0x00000002
pattern $bSTENCIL_FACE_FRONT_AND_BACK :: StencilFaceFlagBits
$mSTENCIL_FACE_FRONT_AND_BACK :: forall {r}.
StencilFaceFlagBits -> ((# #) -> r) -> ((# #) -> r) -> r
STENCIL_FACE_FRONT_AND_BACK = StencilFaceFlagBits 0x00000003
conNameStencilFaceFlagBits :: String
conNameStencilFaceFlagBits :: String
conNameStencilFaceFlagBits = String
"StencilFaceFlagBits"
enumPrefixStencilFaceFlagBits :: String
enumPrefixStencilFaceFlagBits :: String
enumPrefixStencilFaceFlagBits = String
"STENCIL_FACE_"
showTableStencilFaceFlagBits :: [(StencilFaceFlagBits, String)]
showTableStencilFaceFlagBits :: [(StencilFaceFlagBits, String)]
showTableStencilFaceFlagBits =
[ (StencilFaceFlagBits
STENCIL_FACE_FRONT_BIT, String
"FRONT_BIT")
, (StencilFaceFlagBits
STENCIL_FACE_BACK_BIT, String
"BACK_BIT")
,
( StencilFaceFlagBits
STENCIL_FACE_FRONT_AND_BACK
, String
"FRONT_AND_BACK"
)
]
instance Show StencilFaceFlagBits where
showsPrec :: Int -> StencilFaceFlagBits -> ShowS
showsPrec =
String
-> [(StencilFaceFlagBits, String)]
-> String
-> (StencilFaceFlagBits -> Flags)
-> (Flags -> ShowS)
-> Int
-> StencilFaceFlagBits
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec
String
enumPrefixStencilFaceFlagBits
[(StencilFaceFlagBits, String)]
showTableStencilFaceFlagBits
String
conNameStencilFaceFlagBits
(\(StencilFaceFlagBits Flags
x) -> Flags
x)
(\Flags
x -> String -> ShowS
showString String
"0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. Integral a => a -> ShowS
showHex Flags
x)
instance Read StencilFaceFlagBits where
readPrec :: ReadPrec StencilFaceFlagBits
readPrec =
String
-> [(StencilFaceFlagBits, String)]
-> String
-> (Flags -> StencilFaceFlagBits)
-> ReadPrec StencilFaceFlagBits
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec
String
enumPrefixStencilFaceFlagBits
[(StencilFaceFlagBits, String)]
showTableStencilFaceFlagBits
String
conNameStencilFaceFlagBits
Flags -> StencilFaceFlagBits
StencilFaceFlagBits