{-# language CPP #-}
module Graphics.Vulkan.Core10.Enums.BlendOp (BlendOp( BLEND_OP_ADD
, BLEND_OP_SUBTRACT
, BLEND_OP_REVERSE_SUBTRACT
, BLEND_OP_MIN
, BLEND_OP_MAX
, BLEND_OP_BLUE_EXT
, BLEND_OP_GREEN_EXT
, BLEND_OP_RED_EXT
, BLEND_OP_INVERT_OVG_EXT
, BLEND_OP_CONTRAST_EXT
, BLEND_OP_MINUS_CLAMPED_EXT
, BLEND_OP_MINUS_EXT
, BLEND_OP_PLUS_DARKER_EXT
, BLEND_OP_PLUS_CLAMPED_ALPHA_EXT
, BLEND_OP_PLUS_CLAMPED_EXT
, BLEND_OP_PLUS_EXT
, BLEND_OP_HSL_LUMINOSITY_EXT
, BLEND_OP_HSL_COLOR_EXT
, BLEND_OP_HSL_SATURATION_EXT
, BLEND_OP_HSL_HUE_EXT
, BLEND_OP_HARDMIX_EXT
, BLEND_OP_PINLIGHT_EXT
, BLEND_OP_LINEARLIGHT_EXT
, BLEND_OP_VIVIDLIGHT_EXT
, BLEND_OP_LINEARBURN_EXT
, BLEND_OP_LINEARDODGE_EXT
, BLEND_OP_INVERT_RGB_EXT
, BLEND_OP_INVERT_EXT
, BLEND_OP_EXCLUSION_EXT
, BLEND_OP_DIFFERENCE_EXT
, BLEND_OP_SOFTLIGHT_EXT
, BLEND_OP_HARDLIGHT_EXT
, BLEND_OP_COLORBURN_EXT
, BLEND_OP_COLORDODGE_EXT
, BLEND_OP_LIGHTEN_EXT
, BLEND_OP_DARKEN_EXT
, BLEND_OP_OVERLAY_EXT
, BLEND_OP_SCREEN_EXT
, BLEND_OP_MULTIPLY_EXT
, BLEND_OP_XOR_EXT
, BLEND_OP_DST_ATOP_EXT
, BLEND_OP_SRC_ATOP_EXT
, BLEND_OP_DST_OUT_EXT
, BLEND_OP_SRC_OUT_EXT
, BLEND_OP_DST_IN_EXT
, BLEND_OP_SRC_IN_EXT
, BLEND_OP_DST_OVER_EXT
, BLEND_OP_SRC_OVER_EXT
, BLEND_OP_DST_EXT
, BLEND_OP_SRC_EXT
, BLEND_OP_ZERO_EXT
, ..
)) where
import GHC.Read (choose)
import GHC.Read (expectP)
import GHC.Read (parens)
import GHC.Show (showParen)
import GHC.Show (showString)
import GHC.Show (showsPrec)
import Text.ParserCombinators.ReadPrec ((+++))
import Text.ParserCombinators.ReadPrec (prec)
import Text.ParserCombinators.ReadPrec (step)
import Foreign.Storable (Storable)
import Data.Int (Int32)
import GHC.Read (Read(readPrec))
import Text.Read.Lex (Lexeme(Ident))
import Graphics.Vulkan.Zero (Zero)
newtype BlendOp = BlendOp Int32
deriving newtype (Eq, Ord, Storable, Zero)
pattern BLEND_OP_ADD = BlendOp 0
pattern BLEND_OP_SUBTRACT = BlendOp 1
pattern BLEND_OP_REVERSE_SUBTRACT = BlendOp 2
pattern BLEND_OP_MIN = BlendOp 3
pattern BLEND_OP_MAX = BlendOp 4
pattern BLEND_OP_BLUE_EXT = BlendOp 1000148045
pattern BLEND_OP_GREEN_EXT = BlendOp 1000148044
pattern BLEND_OP_RED_EXT = BlendOp 1000148043
pattern BLEND_OP_INVERT_OVG_EXT = BlendOp 1000148042
pattern BLEND_OP_CONTRAST_EXT = BlendOp 1000148041
pattern BLEND_OP_MINUS_CLAMPED_EXT = BlendOp 1000148040
pattern BLEND_OP_MINUS_EXT = BlendOp 1000148039
pattern BLEND_OP_PLUS_DARKER_EXT = BlendOp 1000148038
pattern BLEND_OP_PLUS_CLAMPED_ALPHA_EXT = BlendOp 1000148037
pattern BLEND_OP_PLUS_CLAMPED_EXT = BlendOp 1000148036
pattern BLEND_OP_PLUS_EXT = BlendOp 1000148035
pattern BLEND_OP_HSL_LUMINOSITY_EXT = BlendOp 1000148034
pattern BLEND_OP_HSL_COLOR_EXT = BlendOp 1000148033
pattern BLEND_OP_HSL_SATURATION_EXT = BlendOp 1000148032
pattern BLEND_OP_HSL_HUE_EXT = BlendOp 1000148031
pattern BLEND_OP_HARDMIX_EXT = BlendOp 1000148030
pattern BLEND_OP_PINLIGHT_EXT = BlendOp 1000148029
pattern BLEND_OP_LINEARLIGHT_EXT = BlendOp 1000148028
pattern BLEND_OP_VIVIDLIGHT_EXT = BlendOp 1000148027
pattern BLEND_OP_LINEARBURN_EXT = BlendOp 1000148026
pattern BLEND_OP_LINEARDODGE_EXT = BlendOp 1000148025
pattern BLEND_OP_INVERT_RGB_EXT = BlendOp 1000148024
pattern BLEND_OP_INVERT_EXT = BlendOp 1000148023
pattern BLEND_OP_EXCLUSION_EXT = BlendOp 1000148022
pattern BLEND_OP_DIFFERENCE_EXT = BlendOp 1000148021
pattern BLEND_OP_SOFTLIGHT_EXT = BlendOp 1000148020
pattern BLEND_OP_HARDLIGHT_EXT = BlendOp 1000148019
pattern BLEND_OP_COLORBURN_EXT = BlendOp 1000148018
pattern BLEND_OP_COLORDODGE_EXT = BlendOp 1000148017
pattern BLEND_OP_LIGHTEN_EXT = BlendOp 1000148016
pattern BLEND_OP_DARKEN_EXT = BlendOp 1000148015
pattern BLEND_OP_OVERLAY_EXT = BlendOp 1000148014
pattern BLEND_OP_SCREEN_EXT = BlendOp 1000148013
pattern BLEND_OP_MULTIPLY_EXT = BlendOp 1000148012
pattern BLEND_OP_XOR_EXT = BlendOp 1000148011
pattern BLEND_OP_DST_ATOP_EXT = BlendOp 1000148010
pattern BLEND_OP_SRC_ATOP_EXT = BlendOp 1000148009
pattern BLEND_OP_DST_OUT_EXT = BlendOp 1000148008
pattern BLEND_OP_SRC_OUT_EXT = BlendOp 1000148007
pattern BLEND_OP_DST_IN_EXT = BlendOp 1000148006
pattern BLEND_OP_SRC_IN_EXT = BlendOp 1000148005
pattern BLEND_OP_DST_OVER_EXT = BlendOp 1000148004
pattern BLEND_OP_SRC_OVER_EXT = BlendOp 1000148003
pattern BLEND_OP_DST_EXT = BlendOp 1000148002
pattern BLEND_OP_SRC_EXT = BlendOp 1000148001
pattern BLEND_OP_ZERO_EXT = BlendOp 1000148000
{-# complete BLEND_OP_ADD,
BLEND_OP_SUBTRACT,
BLEND_OP_REVERSE_SUBTRACT,
BLEND_OP_MIN,
BLEND_OP_MAX,
BLEND_OP_BLUE_EXT,
BLEND_OP_GREEN_EXT,
BLEND_OP_RED_EXT,
BLEND_OP_INVERT_OVG_EXT,
BLEND_OP_CONTRAST_EXT,
BLEND_OP_MINUS_CLAMPED_EXT,
BLEND_OP_MINUS_EXT,
BLEND_OP_PLUS_DARKER_EXT,
BLEND_OP_PLUS_CLAMPED_ALPHA_EXT,
BLEND_OP_PLUS_CLAMPED_EXT,
BLEND_OP_PLUS_EXT,
BLEND_OP_HSL_LUMINOSITY_EXT,
BLEND_OP_HSL_COLOR_EXT,
BLEND_OP_HSL_SATURATION_EXT,
BLEND_OP_HSL_HUE_EXT,
BLEND_OP_HARDMIX_EXT,
BLEND_OP_PINLIGHT_EXT,
BLEND_OP_LINEARLIGHT_EXT,
BLEND_OP_VIVIDLIGHT_EXT,
BLEND_OP_LINEARBURN_EXT,
BLEND_OP_LINEARDODGE_EXT,
BLEND_OP_INVERT_RGB_EXT,
BLEND_OP_INVERT_EXT,
BLEND_OP_EXCLUSION_EXT,
BLEND_OP_DIFFERENCE_EXT,
BLEND_OP_SOFTLIGHT_EXT,
BLEND_OP_HARDLIGHT_EXT,
BLEND_OP_COLORBURN_EXT,
BLEND_OP_COLORDODGE_EXT,
BLEND_OP_LIGHTEN_EXT,
BLEND_OP_DARKEN_EXT,
BLEND_OP_OVERLAY_EXT,
BLEND_OP_SCREEN_EXT,
BLEND_OP_MULTIPLY_EXT,
BLEND_OP_XOR_EXT,
BLEND_OP_DST_ATOP_EXT,
BLEND_OP_SRC_ATOP_EXT,
BLEND_OP_DST_OUT_EXT,
BLEND_OP_SRC_OUT_EXT,
BLEND_OP_DST_IN_EXT,
BLEND_OP_SRC_IN_EXT,
BLEND_OP_DST_OVER_EXT,
BLEND_OP_SRC_OVER_EXT,
BLEND_OP_DST_EXT,
BLEND_OP_SRC_EXT,
BLEND_OP_ZERO_EXT :: BlendOp #-}
instance Show BlendOp where
showsPrec p = \case
BLEND_OP_ADD -> showString "BLEND_OP_ADD"
BLEND_OP_SUBTRACT -> showString "BLEND_OP_SUBTRACT"
BLEND_OP_REVERSE_SUBTRACT -> showString "BLEND_OP_REVERSE_SUBTRACT"
BLEND_OP_MIN -> showString "BLEND_OP_MIN"
BLEND_OP_MAX -> showString "BLEND_OP_MAX"
BLEND_OP_BLUE_EXT -> showString "BLEND_OP_BLUE_EXT"
BLEND_OP_GREEN_EXT -> showString "BLEND_OP_GREEN_EXT"
BLEND_OP_RED_EXT -> showString "BLEND_OP_RED_EXT"
BLEND_OP_INVERT_OVG_EXT -> showString "BLEND_OP_INVERT_OVG_EXT"
BLEND_OP_CONTRAST_EXT -> showString "BLEND_OP_CONTRAST_EXT"
BLEND_OP_MINUS_CLAMPED_EXT -> showString "BLEND_OP_MINUS_CLAMPED_EXT"
BLEND_OP_MINUS_EXT -> showString "BLEND_OP_MINUS_EXT"
BLEND_OP_PLUS_DARKER_EXT -> showString "BLEND_OP_PLUS_DARKER_EXT"
BLEND_OP_PLUS_CLAMPED_ALPHA_EXT -> showString "BLEND_OP_PLUS_CLAMPED_ALPHA_EXT"
BLEND_OP_PLUS_CLAMPED_EXT -> showString "BLEND_OP_PLUS_CLAMPED_EXT"
BLEND_OP_PLUS_EXT -> showString "BLEND_OP_PLUS_EXT"
BLEND_OP_HSL_LUMINOSITY_EXT -> showString "BLEND_OP_HSL_LUMINOSITY_EXT"
BLEND_OP_HSL_COLOR_EXT -> showString "BLEND_OP_HSL_COLOR_EXT"
BLEND_OP_HSL_SATURATION_EXT -> showString "BLEND_OP_HSL_SATURATION_EXT"
BLEND_OP_HSL_HUE_EXT -> showString "BLEND_OP_HSL_HUE_EXT"
BLEND_OP_HARDMIX_EXT -> showString "BLEND_OP_HARDMIX_EXT"
BLEND_OP_PINLIGHT_EXT -> showString "BLEND_OP_PINLIGHT_EXT"
BLEND_OP_LINEARLIGHT_EXT -> showString "BLEND_OP_LINEARLIGHT_EXT"
BLEND_OP_VIVIDLIGHT_EXT -> showString "BLEND_OP_VIVIDLIGHT_EXT"
BLEND_OP_LINEARBURN_EXT -> showString "BLEND_OP_LINEARBURN_EXT"
BLEND_OP_LINEARDODGE_EXT -> showString "BLEND_OP_LINEARDODGE_EXT"
BLEND_OP_INVERT_RGB_EXT -> showString "BLEND_OP_INVERT_RGB_EXT"
BLEND_OP_INVERT_EXT -> showString "BLEND_OP_INVERT_EXT"
BLEND_OP_EXCLUSION_EXT -> showString "BLEND_OP_EXCLUSION_EXT"
BLEND_OP_DIFFERENCE_EXT -> showString "BLEND_OP_DIFFERENCE_EXT"
BLEND_OP_SOFTLIGHT_EXT -> showString "BLEND_OP_SOFTLIGHT_EXT"
BLEND_OP_HARDLIGHT_EXT -> showString "BLEND_OP_HARDLIGHT_EXT"
BLEND_OP_COLORBURN_EXT -> showString "BLEND_OP_COLORBURN_EXT"
BLEND_OP_COLORDODGE_EXT -> showString "BLEND_OP_COLORDODGE_EXT"
BLEND_OP_LIGHTEN_EXT -> showString "BLEND_OP_LIGHTEN_EXT"
BLEND_OP_DARKEN_EXT -> showString "BLEND_OP_DARKEN_EXT"
BLEND_OP_OVERLAY_EXT -> showString "BLEND_OP_OVERLAY_EXT"
BLEND_OP_SCREEN_EXT -> showString "BLEND_OP_SCREEN_EXT"
BLEND_OP_MULTIPLY_EXT -> showString "BLEND_OP_MULTIPLY_EXT"
BLEND_OP_XOR_EXT -> showString "BLEND_OP_XOR_EXT"
BLEND_OP_DST_ATOP_EXT -> showString "BLEND_OP_DST_ATOP_EXT"
BLEND_OP_SRC_ATOP_EXT -> showString "BLEND_OP_SRC_ATOP_EXT"
BLEND_OP_DST_OUT_EXT -> showString "BLEND_OP_DST_OUT_EXT"
BLEND_OP_SRC_OUT_EXT -> showString "BLEND_OP_SRC_OUT_EXT"
BLEND_OP_DST_IN_EXT -> showString "BLEND_OP_DST_IN_EXT"
BLEND_OP_SRC_IN_EXT -> showString "BLEND_OP_SRC_IN_EXT"
BLEND_OP_DST_OVER_EXT -> showString "BLEND_OP_DST_OVER_EXT"
BLEND_OP_SRC_OVER_EXT -> showString "BLEND_OP_SRC_OVER_EXT"
BLEND_OP_DST_EXT -> showString "BLEND_OP_DST_EXT"
BLEND_OP_SRC_EXT -> showString "BLEND_OP_SRC_EXT"
BLEND_OP_ZERO_EXT -> showString "BLEND_OP_ZERO_EXT"
BlendOp x -> showParen (p >= 11) (showString "BlendOp " . showsPrec 11 x)
instance Read BlendOp where
readPrec = parens (choose [("BLEND_OP_ADD", pure BLEND_OP_ADD)
, ("BLEND_OP_SUBTRACT", pure BLEND_OP_SUBTRACT)
, ("BLEND_OP_REVERSE_SUBTRACT", pure BLEND_OP_REVERSE_SUBTRACT)
, ("BLEND_OP_MIN", pure BLEND_OP_MIN)
, ("BLEND_OP_MAX", pure BLEND_OP_MAX)
, ("BLEND_OP_BLUE_EXT", pure BLEND_OP_BLUE_EXT)
, ("BLEND_OP_GREEN_EXT", pure BLEND_OP_GREEN_EXT)
, ("BLEND_OP_RED_EXT", pure BLEND_OP_RED_EXT)
, ("BLEND_OP_INVERT_OVG_EXT", pure BLEND_OP_INVERT_OVG_EXT)
, ("BLEND_OP_CONTRAST_EXT", pure BLEND_OP_CONTRAST_EXT)
, ("BLEND_OP_MINUS_CLAMPED_EXT", pure BLEND_OP_MINUS_CLAMPED_EXT)
, ("BLEND_OP_MINUS_EXT", pure BLEND_OP_MINUS_EXT)
, ("BLEND_OP_PLUS_DARKER_EXT", pure BLEND_OP_PLUS_DARKER_EXT)
, ("BLEND_OP_PLUS_CLAMPED_ALPHA_EXT", pure BLEND_OP_PLUS_CLAMPED_ALPHA_EXT)
, ("BLEND_OP_PLUS_CLAMPED_EXT", pure BLEND_OP_PLUS_CLAMPED_EXT)
, ("BLEND_OP_PLUS_EXT", pure BLEND_OP_PLUS_EXT)
, ("BLEND_OP_HSL_LUMINOSITY_EXT", pure BLEND_OP_HSL_LUMINOSITY_EXT)
, ("BLEND_OP_HSL_COLOR_EXT", pure BLEND_OP_HSL_COLOR_EXT)
, ("BLEND_OP_HSL_SATURATION_EXT", pure BLEND_OP_HSL_SATURATION_EXT)
, ("BLEND_OP_HSL_HUE_EXT", pure BLEND_OP_HSL_HUE_EXT)
, ("BLEND_OP_HARDMIX_EXT", pure BLEND_OP_HARDMIX_EXT)
, ("BLEND_OP_PINLIGHT_EXT", pure BLEND_OP_PINLIGHT_EXT)
, ("BLEND_OP_LINEARLIGHT_EXT", pure BLEND_OP_LINEARLIGHT_EXT)
, ("BLEND_OP_VIVIDLIGHT_EXT", pure BLEND_OP_VIVIDLIGHT_EXT)
, ("BLEND_OP_LINEARBURN_EXT", pure BLEND_OP_LINEARBURN_EXT)
, ("BLEND_OP_LINEARDODGE_EXT", pure BLEND_OP_LINEARDODGE_EXT)
, ("BLEND_OP_INVERT_RGB_EXT", pure BLEND_OP_INVERT_RGB_EXT)
, ("BLEND_OP_INVERT_EXT", pure BLEND_OP_INVERT_EXT)
, ("BLEND_OP_EXCLUSION_EXT", pure BLEND_OP_EXCLUSION_EXT)
, ("BLEND_OP_DIFFERENCE_EXT", pure BLEND_OP_DIFFERENCE_EXT)
, ("BLEND_OP_SOFTLIGHT_EXT", pure BLEND_OP_SOFTLIGHT_EXT)
, ("BLEND_OP_HARDLIGHT_EXT", pure BLEND_OP_HARDLIGHT_EXT)
, ("BLEND_OP_COLORBURN_EXT", pure BLEND_OP_COLORBURN_EXT)
, ("BLEND_OP_COLORDODGE_EXT", pure BLEND_OP_COLORDODGE_EXT)
, ("BLEND_OP_LIGHTEN_EXT", pure BLEND_OP_LIGHTEN_EXT)
, ("BLEND_OP_DARKEN_EXT", pure BLEND_OP_DARKEN_EXT)
, ("BLEND_OP_OVERLAY_EXT", pure BLEND_OP_OVERLAY_EXT)
, ("BLEND_OP_SCREEN_EXT", pure BLEND_OP_SCREEN_EXT)
, ("BLEND_OP_MULTIPLY_EXT", pure BLEND_OP_MULTIPLY_EXT)
, ("BLEND_OP_XOR_EXT", pure BLEND_OP_XOR_EXT)
, ("BLEND_OP_DST_ATOP_EXT", pure BLEND_OP_DST_ATOP_EXT)
, ("BLEND_OP_SRC_ATOP_EXT", pure BLEND_OP_SRC_ATOP_EXT)
, ("BLEND_OP_DST_OUT_EXT", pure BLEND_OP_DST_OUT_EXT)
, ("BLEND_OP_SRC_OUT_EXT", pure BLEND_OP_SRC_OUT_EXT)
, ("BLEND_OP_DST_IN_EXT", pure BLEND_OP_DST_IN_EXT)
, ("BLEND_OP_SRC_IN_EXT", pure BLEND_OP_SRC_IN_EXT)
, ("BLEND_OP_DST_OVER_EXT", pure BLEND_OP_DST_OVER_EXT)
, ("BLEND_OP_SRC_OVER_EXT", pure BLEND_OP_SRC_OVER_EXT)
, ("BLEND_OP_DST_EXT", pure BLEND_OP_DST_EXT)
, ("BLEND_OP_SRC_EXT", pure BLEND_OP_SRC_EXT)
, ("BLEND_OP_ZERO_EXT", pure BLEND_OP_ZERO_EXT)]
+++
prec 10 (do
expectP (Ident "BlendOp")
v <- step readPrec
pure (BlendOp v)))