from enum import Enum # Commented out blend modes are not implemented yet class BlendModes(Enum): ARITHMETIC_ADDITION = "arithmetic: addition" ARITHMETIC_DIVIDE = "arithmetic: divide" ARITHMETIC_INVERSE_SUBTRACT= "arithmetic: inverse subtract" ARITHMETIC_MULTIPLY = "arithmetic: multiply" ARITHMETIC_SUBTRACT= "arithmetic: subtract" BINARY_AND = "binary: AND" BINARY_CONVERSE = "binary: CONVERSE" BINARY_IMPLICATION = "binary: IMPLICATION" BINARY_NAND = "binary: NAND" BINARY_NOR = "binary: NOR" BINARY_NOT_CONVERSE = "binary: NOT CONVERSE" BINARY_NOT_IMPLICATION = "binary: NOT IMPLICATION" BINARY_OR = "binary: OR" BINARY_XNOR = "binary: XNOR" BINARY_XOR = "binary: XOR" DARKEN_BURN = "darken: burn" DARKEN_DARKEN = "darken: darken" DARKEN_DARKER_COLOR = "darken: darker color" DARKEN_EASY_BURN = "darken: easy burn" DARKEN_FOG_DARKEN = "darken: fog darken" DARKEN_GAMMA_DARK = "darken: gamma dark" DARKEN_LINEAR_BURN = "darken: linear burn" DARKEN_SHADE = "darken: shade" HSI_COLOR = "hsi: color hsi" HSI_HUE = "hsi: hue hsi" HSI_SATURATION = "hsi: saturation hsi" HSI_INTENSITY = "hsi: intensity" HSI_DECREASE_SATURATION = "hsi: decrease saturation hsi" HSI_INCREASE_SATURATION = "hsi: increase saturation hsi" HSI_DECREASE_INTENSITY = "hsi: decrease intensity" HSI_INCREASE_INTENSITY = "hsi: increase intensity" HSL_COLOR = "hsl: color hsl" HSL_HUE = "hsl: hue hsl" HSL_SATURATION = "hsl: saturation hsl" HSL_LIGHTNESS = "hsl: lightness" HSL_DECREASE_SATURATION = "hsl: decrease saturation hsl" HSL_INCREASE_SATURATION = "hsl: increase saturation hsl" HSL_DECREASE_LIGHTNESS = "hsl: decrease lightness" HSL_INCREASE_LIGHTNESS = "hsl: increase lightness" HSV_COLOR = "hsv: color hsv" HSV_HUE = "hsv: hue hsv" HSV_SATURATION = "hsv: saturation hsv" HSV_VALUE = "hsv: value" HSV_DECREASE_SATURATION = "hsv: decrease saturation hsv" HSV_INCREASE_SATURATION = "hsv: increase saturation hsv" HSV_DECREASE_VALUE = "hsv: decrease value" HSV_INCREASE_VALUE = "hsv: increase value" HSY_COLOR = "hsy: color" HSY_HUE = "hsy: hue" HSY_SATURATION = "hsy: saturation" HSY_LUMINOSITY = "hsy: luminosity" HSY_DECREASE_SATURATION = "hsy: decrease saturation" HSY_INCREASE_SATURATION = "hsy: increase saturation" HSY_DECREASE_LUMINOSITY = "hsy: decrease luminosity" HSY_INCREASE_LUMINOSITY = "hsy: increase luminosity" LIGHTEN_COLOR_DODGE = "lighten: color dodge" LIGHTEN_LINEAR_DODGE = "lighten: linear dodge" LIGHTEN_LIGHTEN = "lighten: lighten" LIGHTEN_LINEAR_LIGHT = "lighten: linear light" LIGHTEN_SCREEN = "lighten: screen" LIGHTEN_PIN_LIGHT = "lighten: pin light" LIGHTEN_VIVID_LIGHT = "lighten: vivid light" LIGHTEN_FLAT_LIGHT = "lighten: flat light" LIGHTEN_HARD_LIGHT = "lighten: hard light" LIGHTEN_SOFT_LIGHT_IFS_ILLUSIONS = "lighten: soft light (ifs illusions)" LIGHTEN_SOFT_LIGHT_PEGTOP_DELPHI = "lighten: soft light (pegtop-delphi)" LIGHTEN_SOFT_LIGHT_PS = "lighten: soft light (ps)" LIGHTEN_SOFT_LIGHT_SVG = "lighten: soft light (svg)" LIGHTEN_GAMMA_LIGHT = "lighten: gamma light" LIGHTEN_GAMMA_ILLUMINATION = "lighten: gamma illumination" LIGHTEN_LIGHTER_COLOR = "lighten: lighter color" LIGHTEN_PNORM_A = "lighten: p-norm a" LIGHTEN_PNORM_B = "lighten: p-norm b" LIGHTEN_SUPER_LIGHT = "lighten: super light" LIGHTEN_TINT_IFS_ILLUSIONS = "lighten: tint (ifs illusions)" LIGHTEN_FOG_LIGHTEN_IFS_ILLUSIONS = "lighten: fog lighten (ifs illusions)" LIGHTEN_EASY_DODGE = "lighten: easy dodge" LIGHTEN_LUMINOSITY_SAI = "lighten: luminosity/shine (sai)" # MISC_BUMPMAP = "misc: bumpmap" # MISC_COMBINE_NORMAL_MAP = "misc: combine normal map" # MISC_DISSOLVE = "misc: dissolve" # MISC_COPY_RED = "misc: copy red" # MISC_COPY_GREEN = "misc: copy green" # MISC_COPY_BLUE = "misc: copy blue" # MISC_COPY = "misc: copy" # MISC_TANGENT_NORMALMAP = "misc: tangent normalmap" MIX_NORMAL = "mix: normal" MIX_OVERLAY = "mix: overlay" # MIX_OVER = "mix: over" # MIX_BEHIND = "mix: behind" # MIX_GREATER = "mix: greater" # MIX_LAMBERT_LIGHTING_LINEAR = "mix: lambert lighting (linear)" # MIX_LAMBERT_LIGHTING_GAMMA_2_2 = "mix: lambert lighting (gamma 2.2)" # MIX_ERASE = "mix: erase" # MIX_ALPHA_DARKEN = "mix: alpha darken" # MIX_HARD_MIX = "mix: hard mix" # MIX_HARD_MIX_PS = "mix: hard mix (ps)" # MIX_HARD_MIX_SOFTER_PS = "mix: hard mix softer (ps)" # MIX_GRAIN_MERGE = "mix: grain merge" # MIX_GRAIN_EXTRACT = "mix: grain extract" # MIX_PARALLEL = "mix: parallel" # MIX_ALLANON = "mix: allanon" # MIX_GEOMETRIC_MEAN = "mix: geometric mean" # MIX_DESTINATION_ATOP = "mix: destination atop" # MIX_DESTINATION_IN = "mix: destination in" # MIX_HARD_OVERLAY = "mix: hard overlay" # MIX_INTERPOLATION = "mix: interpolation" # MIX_INTERPOLATION_2X = "mix: interpolation - 2x" # MIX_PENUMBRA_A = "mix: penumbra a" # MIX_PENUMBRA_B = "mix: penumbra b" # MIX_PENUMBRA_C = "mix: penumbra c" # MIX_PENUMBRA_D = "mix: penumbra d" MODULO_MODULO = "modulo: modulo" MODULO_DIVISIVE_MODULO = "modulo: divisive modulo" # MODULO_MODULO_CONTINUOUS = "modulo: modulo - continuous" # MODULO_DIVISIVE_MODULO_CONTINUOUS = "modulo: divisive modulo - continuous" # MODULO_MODULO_SHIFT = "modulo: modulo shift" # MODULO_MODULO_SHIFT_CONTINUOUS = "modulo: modulo shift - continuous" NEGATIVE_DIFFERENCE = "negative: difference" NEGATIVE_EQUIVALENCE = "negative: equivalence" NEGATIVE_ADDITIVE_SUBTRACTIVE = "negative: additive subtractive" NEGATIVE_EXCLUSION = "negative: exclusion" NEGATIVE_ARCUS_TANGENT = "negative: arcus tangent" NEGATIVE_NEGATION = "negative: negation" # QUADRATIC_REFLECT = "quadratic: reflect" # QUADRATIC_GLOW = "quadratic: glow" # QUADRATIC_FREEZE = "quadratic: freeze" # QUADRATIC_HEAT = "quadratic: heat" # QUADRATIC_GLOW_HEAT = "quadratic: glow-heat" # QUADRATIC_HEAT_GLOW = "quadratic: heat-glow" # QUADRATIC_REFLECT_FREEZE = "quadratic: reflect-freeze" # QUADRATIC_FREEZE_REFLECT = "quadratic: freeze-reflect" # QUADRATIC_HEAT_GLOW_FREEZE_REFLECT_HYBRID = "quadratic: heat-glow & freeze-reflect hybrid"