{-# language CPP #-}
module Vulkan.Core10.Enums.ImageAspectFlagBits  ( ImageAspectFlagBits( IMAGE_ASPECT_COLOR_BIT
                                                                     , IMAGE_ASPECT_DEPTH_BIT
                                                                     , IMAGE_ASPECT_STENCIL_BIT
                                                                     , IMAGE_ASPECT_METADATA_BIT
                                                                     , IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT
                                                                     , IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT
                                                                     , IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT
                                                                     , IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT
                                                                     , IMAGE_ASPECT_PLANE_2_BIT
                                                                     , IMAGE_ASPECT_PLANE_1_BIT
                                                                     , IMAGE_ASPECT_PLANE_0_BIT
                                                                     , ..
                                                                     )
                                                , ImageAspectFlags
                                                ) where

import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import Numeric (showHex)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Data.Bits (Bits)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import Text.Read.Lex (Lexeme(Ident))
import Vulkan.Core10.BaseType (Flags)
import Vulkan.Zero (Zero)
-- | VkImageAspectFlagBits - Bitmask specifying which aspects of an image are
-- included in a view
--
-- = See Also
--
-- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.BindImagePlaneMemoryInfo',
-- 'ImageAspectFlags',
-- 'Vulkan.Core11.Promoted_From_VK_KHR_sampler_ycbcr_conversion.ImagePlaneMemoryRequirementsInfo'
newtype ImageAspectFlagBits = ImageAspectFlagBits Flags
  deriving newtype (ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
(ImageAspectFlagBits -> ImageAspectFlagBits -> Bool)
-> (ImageAspectFlagBits -> ImageAspectFlagBits -> Bool)
-> Eq ImageAspectFlagBits
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
$c/= :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
== :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
$c== :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
Eq, Eq ImageAspectFlagBits
Eq ImageAspectFlagBits =>
(ImageAspectFlagBits -> ImageAspectFlagBits -> Ordering)
-> (ImageAspectFlagBits -> ImageAspectFlagBits -> Bool)
-> (ImageAspectFlagBits -> ImageAspectFlagBits -> Bool)
-> (ImageAspectFlagBits -> ImageAspectFlagBits -> Bool)
-> (ImageAspectFlagBits -> ImageAspectFlagBits -> Bool)
-> (ImageAspectFlagBits
    -> ImageAspectFlagBits -> ImageAspectFlagBits)
-> (ImageAspectFlagBits
    -> ImageAspectFlagBits -> ImageAspectFlagBits)
-> Ord ImageAspectFlagBits
ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
ImageAspectFlagBits -> ImageAspectFlagBits -> Ordering
ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
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 :: ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
$cmin :: ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
max :: ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
$cmax :: ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
>= :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
$c>= :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
> :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
$c> :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
<= :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
$c<= :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
< :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
$c< :: ImageAspectFlagBits -> ImageAspectFlagBits -> Bool
compare :: ImageAspectFlagBits -> ImageAspectFlagBits -> Ordering
$ccompare :: ImageAspectFlagBits -> ImageAspectFlagBits -> Ordering
$cp1Ord :: Eq ImageAspectFlagBits
Ord, Ptr b -> Int -> IO ImageAspectFlagBits
Ptr b -> Int -> ImageAspectFlagBits -> IO ()
Ptr ImageAspectFlagBits -> IO ImageAspectFlagBits
Ptr ImageAspectFlagBits -> Int -> IO ImageAspectFlagBits
Ptr ImageAspectFlagBits -> Int -> ImageAspectFlagBits -> IO ()
Ptr ImageAspectFlagBits -> ImageAspectFlagBits -> IO ()
ImageAspectFlagBits -> Int
(ImageAspectFlagBits -> Int)
-> (ImageAspectFlagBits -> Int)
-> (Ptr ImageAspectFlagBits -> Int -> IO ImageAspectFlagBits)
-> (Ptr ImageAspectFlagBits -> Int -> ImageAspectFlagBits -> IO ())
-> (forall b. Ptr b -> Int -> IO ImageAspectFlagBits)
-> (forall b. Ptr b -> Int -> ImageAspectFlagBits -> IO ())
-> (Ptr ImageAspectFlagBits -> IO ImageAspectFlagBits)
-> (Ptr ImageAspectFlagBits -> ImageAspectFlagBits -> IO ())
-> Storable ImageAspectFlagBits
forall b. Ptr b -> Int -> IO ImageAspectFlagBits
forall b. Ptr b -> Int -> ImageAspectFlagBits -> 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 ImageAspectFlagBits -> ImageAspectFlagBits -> IO ()
$cpoke :: Ptr ImageAspectFlagBits -> ImageAspectFlagBits -> IO ()
peek :: Ptr ImageAspectFlagBits -> IO ImageAspectFlagBits
$cpeek :: Ptr ImageAspectFlagBits -> IO ImageAspectFlagBits
pokeByteOff :: Ptr b -> Int -> ImageAspectFlagBits -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> ImageAspectFlagBits -> IO ()
peekByteOff :: Ptr b -> Int -> IO ImageAspectFlagBits
$cpeekByteOff :: forall b. Ptr b -> Int -> IO ImageAspectFlagBits
pokeElemOff :: Ptr ImageAspectFlagBits -> Int -> ImageAspectFlagBits -> IO ()
$cpokeElemOff :: Ptr ImageAspectFlagBits -> Int -> ImageAspectFlagBits -> IO ()
peekElemOff :: Ptr ImageAspectFlagBits -> Int -> IO ImageAspectFlagBits
$cpeekElemOff :: Ptr ImageAspectFlagBits -> Int -> IO ImageAspectFlagBits
alignment :: ImageAspectFlagBits -> Int
$calignment :: ImageAspectFlagBits -> Int
sizeOf :: ImageAspectFlagBits -> Int
$csizeOf :: ImageAspectFlagBits -> Int
Storable, ImageAspectFlagBits
ImageAspectFlagBits -> Zero ImageAspectFlagBits
forall a. a -> Zero a
zero :: ImageAspectFlagBits
$czero :: ImageAspectFlagBits
Zero, Eq ImageAspectFlagBits
ImageAspectFlagBits
Eq ImageAspectFlagBits =>
(ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits)
-> (ImageAspectFlagBits
    -> ImageAspectFlagBits -> ImageAspectFlagBits)
-> (ImageAspectFlagBits
    -> ImageAspectFlagBits -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> ImageAspectFlagBits
-> (Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> Bool)
-> (ImageAspectFlagBits -> Maybe Int)
-> (ImageAspectFlagBits -> Int)
-> (ImageAspectFlagBits -> Bool)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int -> ImageAspectFlagBits)
-> (ImageAspectFlagBits -> Int)
-> Bits ImageAspectFlagBits
Int -> ImageAspectFlagBits
ImageAspectFlagBits -> Bool
ImageAspectFlagBits -> Int
ImageAspectFlagBits -> Maybe Int
ImageAspectFlagBits -> ImageAspectFlagBits
ImageAspectFlagBits -> Int -> Bool
ImageAspectFlagBits -> Int -> ImageAspectFlagBits
ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
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
popCount :: ImageAspectFlagBits -> Int
$cpopCount :: ImageAspectFlagBits -> Int
rotateR :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$crotateR :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
rotateL :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$crotateL :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
unsafeShiftR :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$cunsafeShiftR :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
shiftR :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$cshiftR :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
unsafeShiftL :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$cunsafeShiftL :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
shiftL :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$cshiftL :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
isSigned :: ImageAspectFlagBits -> Bool
$cisSigned :: ImageAspectFlagBits -> Bool
bitSize :: ImageAspectFlagBits -> Int
$cbitSize :: ImageAspectFlagBits -> Int
bitSizeMaybe :: ImageAspectFlagBits -> Maybe Int
$cbitSizeMaybe :: ImageAspectFlagBits -> Maybe Int
testBit :: ImageAspectFlagBits -> Int -> Bool
$ctestBit :: ImageAspectFlagBits -> Int -> Bool
complementBit :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$ccomplementBit :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
clearBit :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$cclearBit :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
setBit :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$csetBit :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
bit :: Int -> ImageAspectFlagBits
$cbit :: Int -> ImageAspectFlagBits
zeroBits :: ImageAspectFlagBits
$czeroBits :: ImageAspectFlagBits
rotate :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$crotate :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
shift :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
$cshift :: ImageAspectFlagBits -> Int -> ImageAspectFlagBits
complement :: ImageAspectFlagBits -> ImageAspectFlagBits
$ccomplement :: ImageAspectFlagBits -> ImageAspectFlagBits
xor :: ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
$cxor :: ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
.|. :: ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
$c.|. :: ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
.&. :: ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
$c.&. :: ImageAspectFlagBits -> ImageAspectFlagBits -> ImageAspectFlagBits
$cp1Bits :: Eq ImageAspectFlagBits
Bits)

-- | 'IMAGE_ASPECT_COLOR_BIT' specifies the color aspect.
pattern $bIMAGE_ASPECT_COLOR_BIT :: ImageAspectFlagBits
$mIMAGE_ASPECT_COLOR_BIT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_COLOR_BIT = ImageAspectFlagBits 0x00000001
-- | 'IMAGE_ASPECT_DEPTH_BIT' specifies the depth aspect.
pattern $bIMAGE_ASPECT_DEPTH_BIT :: ImageAspectFlagBits
$mIMAGE_ASPECT_DEPTH_BIT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_DEPTH_BIT = ImageAspectFlagBits 0x00000002
-- | 'IMAGE_ASPECT_STENCIL_BIT' specifies the stencil aspect.
pattern $bIMAGE_ASPECT_STENCIL_BIT :: ImageAspectFlagBits
$mIMAGE_ASPECT_STENCIL_BIT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_STENCIL_BIT = ImageAspectFlagBits 0x00000004
-- | 'IMAGE_ASPECT_METADATA_BIT' specifies the metadata aspect, used for
-- sparse
-- <https://www.khronos.org/registry/vulkan/specs/1.2-extensions/html/vkspec.html#sparsememory sparse resource>
-- operations.
pattern $bIMAGE_ASPECT_METADATA_BIT :: ImageAspectFlagBits
$mIMAGE_ASPECT_METADATA_BIT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_METADATA_BIT = ImageAspectFlagBits 0x00000008
-- | 'IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT' specifies /memory plane/ 3.
pattern $bIMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT :: ImageAspectFlagBits
$mIMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT = ImageAspectFlagBits 0x00000400
-- | 'IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT' specifies /memory plane/ 2.
pattern $bIMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT :: ImageAspectFlagBits
$mIMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT = ImageAspectFlagBits 0x00000200
-- | 'IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT' specifies /memory plane/ 1.
pattern $bIMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT :: ImageAspectFlagBits
$mIMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT = ImageAspectFlagBits 0x00000100
-- | 'IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT' specifies /memory plane/ 0.
pattern $bIMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT :: ImageAspectFlagBits
$mIMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT = ImageAspectFlagBits 0x00000080
-- | 'IMAGE_ASPECT_PLANE_2_BIT' specifies plane 2 of a /multi-planar/ image
-- format.
pattern $bIMAGE_ASPECT_PLANE_2_BIT :: ImageAspectFlagBits
$mIMAGE_ASPECT_PLANE_2_BIT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_PLANE_2_BIT = ImageAspectFlagBits 0x00000040
-- | 'IMAGE_ASPECT_PLANE_1_BIT' specifies plane 1 of a /multi-planar/ image
-- format.
pattern $bIMAGE_ASPECT_PLANE_1_BIT :: ImageAspectFlagBits
$mIMAGE_ASPECT_PLANE_1_BIT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_PLANE_1_BIT = ImageAspectFlagBits 0x00000020
-- | 'IMAGE_ASPECT_PLANE_0_BIT' specifies plane 0 of a /multi-planar/ image
-- format.
pattern $bIMAGE_ASPECT_PLANE_0_BIT :: ImageAspectFlagBits
$mIMAGE_ASPECT_PLANE_0_BIT :: forall r. ImageAspectFlagBits -> (Void# -> r) -> (Void# -> r) -> r
IMAGE_ASPECT_PLANE_0_BIT = ImageAspectFlagBits 0x00000010

type ImageAspectFlags = ImageAspectFlagBits

instance Show ImageAspectFlagBits where
  showsPrec :: Int -> ImageAspectFlagBits -> ShowS
showsPrec p :: Int
p = \case
    IMAGE_ASPECT_COLOR_BIT -> String -> ShowS
showString "IMAGE_ASPECT_COLOR_BIT"
    IMAGE_ASPECT_DEPTH_BIT -> String -> ShowS
showString "IMAGE_ASPECT_DEPTH_BIT"
    IMAGE_ASPECT_STENCIL_BIT -> String -> ShowS
showString "IMAGE_ASPECT_STENCIL_BIT"
    IMAGE_ASPECT_METADATA_BIT -> String -> ShowS
showString "IMAGE_ASPECT_METADATA_BIT"
    IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT -> String -> ShowS
showString "IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT"
    IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT -> String -> ShowS
showString "IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT"
    IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT -> String -> ShowS
showString "IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT"
    IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT -> String -> ShowS
showString "IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT"
    IMAGE_ASPECT_PLANE_2_BIT -> String -> ShowS
showString "IMAGE_ASPECT_PLANE_2_BIT"
    IMAGE_ASPECT_PLANE_1_BIT -> String -> ShowS
showString "IMAGE_ASPECT_PLANE_1_BIT"
    IMAGE_ASPECT_PLANE_0_BIT -> String -> ShowS
showString "IMAGE_ASPECT_PLANE_0_BIT"
    ImageAspectFlagBits x :: Flags
x -> Bool -> ShowS -> ShowS
showParen (Int
p Int -> Int -> Bool
forall a. Ord a => a -> a -> Bool
>= 11) (String -> ShowS
showString "ImageAspectFlagBits 0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Flags
x)

instance Read ImageAspectFlagBits where
  readPrec :: ReadPrec ImageAspectFlagBits
readPrec = ReadPrec ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall a. ReadPrec a -> ReadPrec a
parens ([(String, ReadPrec ImageAspectFlagBits)]
-> ReadPrec ImageAspectFlagBits
forall a. [(String, ReadPrec a)] -> ReadPrec a
choose [("IMAGE_ASPECT_COLOR_BIT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_COLOR_BIT)
                            , ("IMAGE_ASPECT_DEPTH_BIT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_DEPTH_BIT)
                            , ("IMAGE_ASPECT_STENCIL_BIT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_STENCIL_BIT)
                            , ("IMAGE_ASPECT_METADATA_BIT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_METADATA_BIT)
                            , ("IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_MEMORY_PLANE_3_BIT_EXT)
                            , ("IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_MEMORY_PLANE_2_BIT_EXT)
                            , ("IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_MEMORY_PLANE_1_BIT_EXT)
                            , ("IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_MEMORY_PLANE_0_BIT_EXT)
                            , ("IMAGE_ASPECT_PLANE_2_BIT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_PLANE_2_BIT)
                            , ("IMAGE_ASPECT_PLANE_1_BIT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_PLANE_1_BIT)
                            , ("IMAGE_ASPECT_PLANE_0_BIT", ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure ImageAspectFlagBits
IMAGE_ASPECT_PLANE_0_BIT)]
                     ReadPrec ImageAspectFlagBits
-> ReadPrec ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall a. ReadPrec a -> ReadPrec a -> ReadPrec a
+++
                     Int -> ReadPrec ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall a. Int -> ReadPrec a -> ReadPrec a
prec 10 (do
                       Lexeme -> ReadPrec ()
expectP (String -> Lexeme
Ident "ImageAspectFlagBits")
                       Flags
v <- ReadPrec Flags -> ReadPrec Flags
forall a. ReadPrec a -> ReadPrec a
step ReadPrec Flags
forall a. Read a => ReadPrec a
readPrec
                       ImageAspectFlagBits -> ReadPrec ImageAspectFlagBits
forall (f :: * -> *) a. Applicative f => a -> f a
pure (Flags -> ImageAspectFlagBits
ImageAspectFlagBits Flags
v)))