{-# language CPP #-}
-- No documentation found for Chapter "CompositionLayerFlags"
module OpenXR.Core10.Enums.CompositionLayerFlags  (CompositionLayerFlags(..)) where

import OpenXR.Internal.Utils (enumReadPrec)
import OpenXR.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import OpenXR.Zero (Zero)
import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import OpenXR.Core10.FundamentalTypes (Flags64)
-- | XrCompositionLayerFlags - Composition layer flags
--
-- = Description
--
-- 'CompositionLayerFlags' specify options for individual composition
-- layers.
--
-- == Flag Descriptions
--
-- = See Also
--
-- 'OpenXR.Core10.OtherTypes.CompositionLayerBaseHeader',
-- 'OpenXR.Extensions.XR_KHR_composition_layer_cube.CompositionLayerCubeKHR',
-- 'OpenXR.Extensions.XR_KHR_composition_layer_cylinder.CompositionLayerCylinderKHR',
-- 'OpenXR.Extensions.XR_KHR_composition_layer_equirect2.CompositionLayerEquirect2KHR',
-- 'OpenXR.Extensions.XR_KHR_composition_layer_equirect.CompositionLayerEquirectKHR',
-- 'OpenXR.Core10.OtherTypes.CompositionLayerProjection',
-- 'OpenXR.Core10.OtherTypes.CompositionLayerQuad'
newtype CompositionLayerFlags = CompositionLayerFlags Flags64
  deriving newtype (CompositionLayerFlags -> CompositionLayerFlags -> Bool
(CompositionLayerFlags -> CompositionLayerFlags -> Bool)
-> (CompositionLayerFlags -> CompositionLayerFlags -> Bool)
-> Eq CompositionLayerFlags
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
$c/= :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
== :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
$c== :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
Eq, Eq CompositionLayerFlags
Eq CompositionLayerFlags =>
(CompositionLayerFlags -> CompositionLayerFlags -> Ordering)
-> (CompositionLayerFlags -> CompositionLayerFlags -> Bool)
-> (CompositionLayerFlags -> CompositionLayerFlags -> Bool)
-> (CompositionLayerFlags -> CompositionLayerFlags -> Bool)
-> (CompositionLayerFlags -> CompositionLayerFlags -> Bool)
-> (CompositionLayerFlags
    -> CompositionLayerFlags -> CompositionLayerFlags)
-> (CompositionLayerFlags
    -> CompositionLayerFlags -> CompositionLayerFlags)
-> Ord CompositionLayerFlags
CompositionLayerFlags -> CompositionLayerFlags -> Bool
CompositionLayerFlags -> CompositionLayerFlags -> Ordering
CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
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 :: CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
$cmin :: CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
max :: CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
$cmax :: CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
>= :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
$c>= :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
> :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
$c> :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
<= :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
$c<= :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
< :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
$c< :: CompositionLayerFlags -> CompositionLayerFlags -> Bool
compare :: CompositionLayerFlags -> CompositionLayerFlags -> Ordering
$ccompare :: CompositionLayerFlags -> CompositionLayerFlags -> Ordering
$cp1Ord :: Eq CompositionLayerFlags
Ord, Ptr b -> Int -> IO CompositionLayerFlags
Ptr b -> Int -> CompositionLayerFlags -> IO ()
Ptr CompositionLayerFlags -> IO CompositionLayerFlags
Ptr CompositionLayerFlags -> Int -> IO CompositionLayerFlags
Ptr CompositionLayerFlags -> Int -> CompositionLayerFlags -> IO ()
Ptr CompositionLayerFlags -> CompositionLayerFlags -> IO ()
CompositionLayerFlags -> Int
(CompositionLayerFlags -> Int)
-> (CompositionLayerFlags -> Int)
-> (Ptr CompositionLayerFlags -> Int -> IO CompositionLayerFlags)
-> (Ptr CompositionLayerFlags
    -> Int -> CompositionLayerFlags -> IO ())
-> (forall b. Ptr b -> Int -> IO CompositionLayerFlags)
-> (forall b. Ptr b -> Int -> CompositionLayerFlags -> IO ())
-> (Ptr CompositionLayerFlags -> IO CompositionLayerFlags)
-> (Ptr CompositionLayerFlags -> CompositionLayerFlags -> IO ())
-> Storable CompositionLayerFlags
forall b. Ptr b -> Int -> IO CompositionLayerFlags
forall b. Ptr b -> Int -> CompositionLayerFlags -> 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 CompositionLayerFlags -> CompositionLayerFlags -> IO ()
$cpoke :: Ptr CompositionLayerFlags -> CompositionLayerFlags -> IO ()
peek :: Ptr CompositionLayerFlags -> IO CompositionLayerFlags
$cpeek :: Ptr CompositionLayerFlags -> IO CompositionLayerFlags
pokeByteOff :: Ptr b -> Int -> CompositionLayerFlags -> IO ()
$cpokeByteOff :: forall b. Ptr b -> Int -> CompositionLayerFlags -> IO ()
peekByteOff :: Ptr b -> Int -> IO CompositionLayerFlags
$cpeekByteOff :: forall b. Ptr b -> Int -> IO CompositionLayerFlags
pokeElemOff :: Ptr CompositionLayerFlags -> Int -> CompositionLayerFlags -> IO ()
$cpokeElemOff :: Ptr CompositionLayerFlags -> Int -> CompositionLayerFlags -> IO ()
peekElemOff :: Ptr CompositionLayerFlags -> Int -> IO CompositionLayerFlags
$cpeekElemOff :: Ptr CompositionLayerFlags -> Int -> IO CompositionLayerFlags
alignment :: CompositionLayerFlags -> Int
$calignment :: CompositionLayerFlags -> Int
sizeOf :: CompositionLayerFlags -> Int
$csizeOf :: CompositionLayerFlags -> Int
Storable, CompositionLayerFlags
CompositionLayerFlags -> Zero CompositionLayerFlags
forall a. a -> Zero a
zero :: CompositionLayerFlags
$czero :: CompositionLayerFlags
Zero, Eq CompositionLayerFlags
CompositionLayerFlags
Eq CompositionLayerFlags =>
(CompositionLayerFlags
 -> CompositionLayerFlags -> CompositionLayerFlags)
-> (CompositionLayerFlags
    -> CompositionLayerFlags -> CompositionLayerFlags)
-> (CompositionLayerFlags
    -> CompositionLayerFlags -> CompositionLayerFlags)
-> (CompositionLayerFlags -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> CompositionLayerFlags
-> (Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> Bool)
-> (CompositionLayerFlags -> Maybe Int)
-> (CompositionLayerFlags -> Int)
-> (CompositionLayerFlags -> Bool)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int -> CompositionLayerFlags)
-> (CompositionLayerFlags -> Int)
-> Bits CompositionLayerFlags
Int -> CompositionLayerFlags
CompositionLayerFlags -> Bool
CompositionLayerFlags -> Int
CompositionLayerFlags -> Maybe Int
CompositionLayerFlags -> CompositionLayerFlags
CompositionLayerFlags -> Int -> Bool
CompositionLayerFlags -> Int -> CompositionLayerFlags
CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
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 :: CompositionLayerFlags -> Int
$cpopCount :: CompositionLayerFlags -> Int
rotateR :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$crotateR :: CompositionLayerFlags -> Int -> CompositionLayerFlags
rotateL :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$crotateL :: CompositionLayerFlags -> Int -> CompositionLayerFlags
unsafeShiftR :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$cunsafeShiftR :: CompositionLayerFlags -> Int -> CompositionLayerFlags
shiftR :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$cshiftR :: CompositionLayerFlags -> Int -> CompositionLayerFlags
unsafeShiftL :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$cunsafeShiftL :: CompositionLayerFlags -> Int -> CompositionLayerFlags
shiftL :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$cshiftL :: CompositionLayerFlags -> Int -> CompositionLayerFlags
isSigned :: CompositionLayerFlags -> Bool
$cisSigned :: CompositionLayerFlags -> Bool
bitSize :: CompositionLayerFlags -> Int
$cbitSize :: CompositionLayerFlags -> Int
bitSizeMaybe :: CompositionLayerFlags -> Maybe Int
$cbitSizeMaybe :: CompositionLayerFlags -> Maybe Int
testBit :: CompositionLayerFlags -> Int -> Bool
$ctestBit :: CompositionLayerFlags -> Int -> Bool
complementBit :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$ccomplementBit :: CompositionLayerFlags -> Int -> CompositionLayerFlags
clearBit :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$cclearBit :: CompositionLayerFlags -> Int -> CompositionLayerFlags
setBit :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$csetBit :: CompositionLayerFlags -> Int -> CompositionLayerFlags
bit :: Int -> CompositionLayerFlags
$cbit :: Int -> CompositionLayerFlags
zeroBits :: CompositionLayerFlags
$czeroBits :: CompositionLayerFlags
rotate :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$crotate :: CompositionLayerFlags -> Int -> CompositionLayerFlags
shift :: CompositionLayerFlags -> Int -> CompositionLayerFlags
$cshift :: CompositionLayerFlags -> Int -> CompositionLayerFlags
complement :: CompositionLayerFlags -> CompositionLayerFlags
$ccomplement :: CompositionLayerFlags -> CompositionLayerFlags
xor :: CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
$cxor :: CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
.|. :: CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
$c.|. :: CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
.&. :: CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
$c.&. :: CompositionLayerFlags
-> CompositionLayerFlags -> CompositionLayerFlags
$cp1Bits :: Eq CompositionLayerFlags
Bits, Bits CompositionLayerFlags
Bits CompositionLayerFlags =>
(CompositionLayerFlags -> Int)
-> (CompositionLayerFlags -> Int)
-> (CompositionLayerFlags -> Int)
-> FiniteBits CompositionLayerFlags
CompositionLayerFlags -> Int
forall b.
Bits b =>
(b -> Int) -> (b -> Int) -> (b -> Int) -> FiniteBits b
countTrailingZeros :: CompositionLayerFlags -> Int
$ccountTrailingZeros :: CompositionLayerFlags -> Int
countLeadingZeros :: CompositionLayerFlags -> Int
$ccountLeadingZeros :: CompositionLayerFlags -> Int
finiteBitSize :: CompositionLayerFlags -> Int
$cfiniteBitSize :: CompositionLayerFlags -> Int
$cp1FiniteBits :: Bits CompositionLayerFlags
FiniteBits)



conNameCompositionLayerFlags :: String
conNameCompositionLayerFlags :: String
conNameCompositionLayerFlags = "CompositionLayerFlags"

enumPrefixCompositionLayerFlags :: String
enumPrefixCompositionLayerFlags :: String
enumPrefixCompositionLayerFlags = ""

showTableCompositionLayerFlags :: [(CompositionLayerFlags, String)]
showTableCompositionLayerFlags :: [(CompositionLayerFlags, String)]
showTableCompositionLayerFlags = []

instance Show CompositionLayerFlags where
  showsPrec :: Int -> CompositionLayerFlags -> ShowS
showsPrec = String
-> [(CompositionLayerFlags, String)]
-> String
-> (CompositionLayerFlags -> Flags64)
-> (Flags64 -> ShowS)
-> Int
-> CompositionLayerFlags
-> ShowS
forall a i.
Eq a =>
String
-> [(a, String)]
-> String
-> (a -> i)
-> (i -> ShowS)
-> Int
-> a
-> ShowS
enumShowsPrec String
enumPrefixCompositionLayerFlags
                            [(CompositionLayerFlags, String)]
showTableCompositionLayerFlags
                            String
conNameCompositionLayerFlags
                            (\(CompositionLayerFlags x :: Flags64
x) -> Flags64
x)
                            (\x :: Flags64
x -> String -> ShowS
showString "0x" ShowS -> ShowS -> ShowS
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Flags64 -> ShowS
forall a. (Integral a, Show a) => a -> ShowS
showHex Flags64
x)

instance Read CompositionLayerFlags where
  readPrec :: ReadPrec CompositionLayerFlags
readPrec = String
-> [(CompositionLayerFlags, String)]
-> String
-> (Flags64 -> CompositionLayerFlags)
-> ReadPrec CompositionLayerFlags
forall i a.
Read i =>
String -> [(a, String)] -> String -> (i -> a) -> ReadPrec a
enumReadPrec String
enumPrefixCompositionLayerFlags
                          [(CompositionLayerFlags, String)]
showTableCompositionLayerFlags
                          String
conNameCompositionLayerFlags
                          Flags64 -> CompositionLayerFlags
CompositionLayerFlags