{-# language CPP #-}
-- No documentation found for Chapter "SwapchainCreateFlagBits"
module OpenXR.Core10.Enums.SwapchainCreateFlagBits  ( SwapchainCreateFlags
                                                    , SwapchainCreateFlagBits( SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT
                                                                             , SWAPCHAIN_CREATE_STATIC_IMAGE_BIT
                                                                             , ..
                                                                             )
                                                    ) where

import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import OpenXR.Internal.Utils (enumReadPrec)
import OpenXR.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import OpenXR.Zero (Zero)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import OpenXR.Core10.FundamentalTypes (Flags64)
type SwapchainCreateFlags = SwapchainCreateFlagBits

  No documentation found for TopLevel " XrSwapchainCreateFlagBits "
newtype SwapchainCreateFlagBits = SwapchainCreateFlagBits Flags64
  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)

  No documentation found for Nested " XrSwapchainCreateFlagBits " " XR_SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT "
pattern SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT = SwapchainCreateFlagBits 0x0000000000000001

  No documentation found for Nested " XrSwapchainCreateFlagBits " " XR_SWAPCHAIN_CREATE_STATIC_IMAGE_BIT "
pattern SWAPCHAIN_CREATE_STATIC_IMAGE_BIT = SwapchainCreateFlagBits 0x0000000000000002

conNameSwapchainCreateFlagBits :: String
conNameSwapchainCreateFlagBits = "SwapchainCreateFlagBits"

enumPrefixSwapchainCreateFlagBits :: String
enumPrefixSwapchainCreateFlagBits = "SWAPCHAIN_CREATE_"

showTableSwapchainCreateFlagBits :: [(SwapchainCreateFlagBits, String)]
showTableSwapchainCreateFlagBits =
  [
    ( SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT
    , "PROTECTED_CONTENT_BIT"
    )
  ,
    ( SWAPCHAIN_CREATE_STATIC_IMAGE_BIT
    , "STATIC_IMAGE_BIT"
    )
  ]

instance Show SwapchainCreateFlagBits where
  showsPrec =
    enumShowsPrec
      enumPrefixSwapchainCreateFlagBits
      showTableSwapchainCreateFlagBits
      conNameSwapchainCreateFlagBits
      (\(SwapchainCreateFlagBits x) -> x)
      (\x -> showString "0x" . showHex x)

instance Read SwapchainCreateFlagBits where
  readPrec =
    enumReadPrec
      enumPrefixSwapchainCreateFlagBits
      showTableSwapchainCreateFlagBits
      conNameSwapchainCreateFlagBits
      SwapchainCreateFlagBits

# language CPP #
 No documentation found for Chapter "SwapchainCreateFlagBits"
module OpenXR.Core10.Enums.SwapchainCreateFlagBits  ( SwapchainCreateFlags
                                                    , SwapchainCreateFlagBits( SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT
                                                                             , SWAPCHAIN_CREATE_STATIC_IMAGE_BIT
                                                                             , ..
                                                                             )
                                                    ) where

import Data.Bits (Bits)
import Data.Bits (FiniteBits)
import OpenXR.Internal.Utils (enumReadPrec)
import OpenXR.Internal.Utils (enumShowsPrec)
import GHC.Show (showString)
import Numeric (showHex)
import OpenXR.Zero (Zero)
import Foreign.Storable (Storable)
import GHC.Read (Read(readPrec))
import GHC.Show (Show(showsPrec))
import OpenXR.Core10.FundamentalTypes (Flags64)
type SwapchainCreateFlags = SwapchainCreateFlagBits

  No documentation found for TopLevel " XrSwapchainCreateFlagBits "
newtype SwapchainCreateFlagBits = SwapchainCreateFlagBits Flags64
  deriving newtype (Eq, Ord, Storable, Zero, Bits, FiniteBits)

  No documentation found for Nested " XrSwapchainCreateFlagBits " " XR_SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT "
pattern SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT = SwapchainCreateFlagBits 0x0000000000000001

  No documentation found for Nested " XrSwapchainCreateFlagBits " " XR_SWAPCHAIN_CREATE_STATIC_IMAGE_BIT "
pattern SWAPCHAIN_CREATE_STATIC_IMAGE_BIT = SwapchainCreateFlagBits 0x0000000000000002

conNameSwapchainCreateFlagBits :: String
conNameSwapchainCreateFlagBits = "SwapchainCreateFlagBits"

enumPrefixSwapchainCreateFlagBits :: String
enumPrefixSwapchainCreateFlagBits = "SWAPCHAIN_CREATE_"

showTableSwapchainCreateFlagBits :: [(SwapchainCreateFlagBits, String)]
showTableSwapchainCreateFlagBits =
  [
    ( SWAPCHAIN_CREATE_PROTECTED_CONTENT_BIT
    , "PROTECTED_CONTENT_BIT"
    )
  ,
    ( SWAPCHAIN_CREATE_STATIC_IMAGE_BIT
    , "STATIC_IMAGE_BIT"
    )
  ]

instance Show SwapchainCreateFlagBits where
  showsPrec =
    enumShowsPrec
      enumPrefixSwapchainCreateFlagBits
      showTableSwapchainCreateFlagBits
      conNameSwapchainCreateFlagBits
      (\(SwapchainCreateFlagBits x) -> x)
      (\x -> showString "0x" . showHex x)

instance Read SwapchainCreateFlagBits where
  readPrec =
    enumReadPrec
      enumPrefixSwapchainCreateFlagBits
      showTableSwapchainCreateFlagBits
      conNameSwapchainCreateFlagBits
      SwapchainCreateFlagBits
