module Data.SpirV.Enum.SamplerFilterMode where import Data.String (IsString(..)) import Data.Word (Word32) import Foreign (Storable(..)) import GHC.Read (Read(..)) import Text.ParserCombinators.ReadPrec (pfail) import qualified GHC.Read as Read import qualified Text.Read.Lex as Lex newtype SamplerFilterMode = SamplerFilterMode Word32 deriving (SamplerFilterMode -> SamplerFilterMode -> Bool forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a /= :: SamplerFilterMode -> SamplerFilterMode -> Bool $c/= :: SamplerFilterMode -> SamplerFilterMode -> Bool == :: SamplerFilterMode -> SamplerFilterMode -> Bool $c== :: SamplerFilterMode -> SamplerFilterMode -> Bool Eq, Eq SamplerFilterMode SamplerFilterMode -> SamplerFilterMode -> Bool SamplerFilterMode -> SamplerFilterMode -> Ordering SamplerFilterMode -> SamplerFilterMode -> SamplerFilterMode 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 min :: SamplerFilterMode -> SamplerFilterMode -> SamplerFilterMode $cmin :: SamplerFilterMode -> SamplerFilterMode -> SamplerFilterMode max :: SamplerFilterMode -> SamplerFilterMode -> SamplerFilterMode $cmax :: SamplerFilterMode -> SamplerFilterMode -> SamplerFilterMode >= :: SamplerFilterMode -> SamplerFilterMode -> Bool $c>= :: SamplerFilterMode -> SamplerFilterMode -> Bool > :: SamplerFilterMode -> SamplerFilterMode -> Bool $c> :: SamplerFilterMode -> SamplerFilterMode -> Bool <= :: SamplerFilterMode -> SamplerFilterMode -> Bool $c<= :: SamplerFilterMode -> SamplerFilterMode -> Bool < :: SamplerFilterMode -> SamplerFilterMode -> Bool $c< :: SamplerFilterMode -> SamplerFilterMode -> Bool compare :: SamplerFilterMode -> SamplerFilterMode -> Ordering $ccompare :: SamplerFilterMode -> SamplerFilterMode -> Ordering Ord, Ptr SamplerFilterMode -> IO SamplerFilterMode Ptr SamplerFilterMode -> Int -> IO SamplerFilterMode Ptr SamplerFilterMode -> Int -> SamplerFilterMode -> IO () Ptr SamplerFilterMode -> SamplerFilterMode -> IO () SamplerFilterMode -> Int forall b. Ptr b -> Int -> IO SamplerFilterMode forall b. Ptr b -> Int -> SamplerFilterMode -> 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 poke :: Ptr SamplerFilterMode -> SamplerFilterMode -> IO () $cpoke :: Ptr SamplerFilterMode -> SamplerFilterMode -> IO () peek :: Ptr SamplerFilterMode -> IO SamplerFilterMode $cpeek :: Ptr SamplerFilterMode -> IO SamplerFilterMode pokeByteOff :: forall b. Ptr b -> Int -> SamplerFilterMode -> IO () $cpokeByteOff :: forall b. Ptr b -> Int -> SamplerFilterMode -> IO () peekByteOff :: forall b. Ptr b -> Int -> IO SamplerFilterMode $cpeekByteOff :: forall b. Ptr b -> Int -> IO SamplerFilterMode pokeElemOff :: Ptr SamplerFilterMode -> Int -> SamplerFilterMode -> IO () $cpokeElemOff :: Ptr SamplerFilterMode -> Int -> SamplerFilterMode -> IO () peekElemOff :: Ptr SamplerFilterMode -> Int -> IO SamplerFilterMode $cpeekElemOff :: Ptr SamplerFilterMode -> Int -> IO SamplerFilterMode alignment :: SamplerFilterMode -> Int $calignment :: SamplerFilterMode -> Int sizeOf :: SamplerFilterMode -> Int $csizeOf :: SamplerFilterMode -> Int Storable) pattern Nearest :: SamplerFilterMode pattern $bNearest :: SamplerFilterMode $mNearest :: forall {r}. SamplerFilterMode -> ((# #) -> r) -> ((# #) -> r) -> r Nearest = SamplerFilterMode 0 pattern Linear :: SamplerFilterMode pattern $bLinear :: SamplerFilterMode $mLinear :: forall {r}. SamplerFilterMode -> ((# #) -> r) -> ((# #) -> r) -> r Linear = SamplerFilterMode 1 toName :: IsString a => SamplerFilterMode -> a toName :: forall a. IsString a => SamplerFilterMode -> a toName SamplerFilterMode x = case SamplerFilterMode x of SamplerFilterMode Nearest -> a "Nearest" SamplerFilterMode Linear -> a "Linear" SamplerFilterMode unknown -> forall a. IsString a => [Char] -> a fromString forall a b. (a -> b) -> a -> b $ [Char] "SamplerFilterMode " forall a. [a] -> [a] -> [a] ++ forall a. Show a => a -> [Char] show SamplerFilterMode unknown instance Show SamplerFilterMode where show :: SamplerFilterMode -> [Char] show = forall a. IsString a => SamplerFilterMode -> a toName fromName :: (IsString a, Eq a) => a -> Maybe SamplerFilterMode fromName :: forall a. (IsString a, Eq a) => a -> Maybe SamplerFilterMode fromName a x = case a x of a "Nearest" -> forall a. a -> Maybe a Just SamplerFilterMode Nearest a "Linear" -> forall a. a -> Maybe a Just SamplerFilterMode Linear a _unknown -> forall a. Maybe a Nothing instance Read SamplerFilterMode where readPrec :: ReadPrec SamplerFilterMode readPrec = forall a. ReadPrec a -> ReadPrec a Read.parens do Lex.Ident [Char] s <- ReadPrec Lexeme Read.lexP forall b a. b -> (a -> b) -> Maybe a -> b maybe forall a. ReadPrec a pfail forall (f :: * -> *) a. Applicative f => a -> f a pure forall a b. (a -> b) -> a -> b $ forall a. (IsString a, Eq a) => a -> Maybe SamplerFilterMode fromName [Char] s