diff options
Diffstat (limited to 'src/command_data.cc')
-rw-r--r-- | src/command_data.cc | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/src/command_data.cc b/src/command_data.cc index 80083e1..c0b7612 100644 --- a/src/command_data.cc +++ b/src/command_data.cc @@ -54,4 +54,154 @@ Topology NameToTopology(const std::string& name) { return Topology::kUnknown; } +BlendFactor NameToBlendFactor(const std::string& name) { + if (name == "zero") + return BlendFactor::kZero; + else if (name == "one") + return BlendFactor::kOne; + else if (name == "src_color") + return BlendFactor::kSrcColor; + else if (name == "one_minus_src_color") + return BlendFactor::kOneMinusSrcColor; + else if (name == "dst_color") + return BlendFactor::kDstColor; + else if (name == "one_minus_dst_color") + return BlendFactor::kOneMinusDstColor; + else if (name == "src_alpha") + return BlendFactor::kSrcAlpha; + else if (name == "one_minus_src_alpha") + return BlendFactor::kOneMinusSrcAlpha; + else if (name == "dst_alpha") + return BlendFactor::kDstAlpha; + else if (name == "one_minus_dst_alpha") + return BlendFactor::kOneMinusDstAlpha; + else if (name == "constant_color") + return BlendFactor::kConstantColor; + else if (name == "one_minus_constant_color") + return BlendFactor::kOneMinusConstantColor; + else if (name == "costant_alpha") + return BlendFactor::kConstantAlpha; + else if (name == "one_minus_constant_alpha") + return BlendFactor::kOneMinusConstantAlpha; + else if (name == "src_alpha_saturate") + return BlendFactor::kSrcAlphaSaturate; + else if (name == "src1_color") + return BlendFactor::kSrc1Color; + else if (name == "one_minus_src1_color") + return BlendFactor::kOneMinusSrc1Color; + else if (name == "src1_alpha") + return BlendFactor::kSrc1Alpha; + else if (name == "one_minus_src1_alpha") + return BlendFactor::kOneMinusSrc1Alpha; + else + return BlendFactor::kUnknown; +} + +BlendOp NameToBlendOp(const std::string& name) { + if (name == "add") + return BlendOp::kAdd; + else if (name == "substract") + return BlendOp::kSubtract; + else if (name == "reverse_substract") + return BlendOp::kReverseSubtract; + else if (name == "min") + return BlendOp::kMin; + else if (name == "max") + return BlendOp::kMax; + else if (name == "zero") + return BlendOp::kZero; + else if (name == "src") + return BlendOp::kSrc; + else if (name == "dst") + return BlendOp::kDst; + else if (name == "src_over") + return BlendOp::kSrcOver; + else if (name == "dst_over") + return BlendOp::kDstOver; + else if (name == "src_in") + return BlendOp::kSrcIn; + else if (name == "dst_in") + return BlendOp::kDstIn; + else if (name == "src_out") + return BlendOp::kSrcOut; + else if (name == "dst_out") + return BlendOp::kDstOut; + else if (name == "src_atop") + return BlendOp::kSrcAtop; + else if (name == "dst_atop") + return BlendOp::kDstAtop; + else if (name == "xor") + return BlendOp::kXor; + else if (name == "multiply") + return BlendOp::kMultiply; + else if (name == "screen") + return BlendOp::kScreen; + else if (name == "overlay") + return BlendOp::kOverlay; + else if (name == "darken") + return BlendOp::kDarken; + else if (name == "lighten") + return BlendOp::kLighten; + else if (name == "color_dodge") + return BlendOp::kColorDodge; + else if (name == "color_burn") + return BlendOp::kColorBurn; + else if (name == "hard_light") + return BlendOp::kHardLight; + else if (name == "soft_light") + return BlendOp::kSoftLight; + else if (name == "difference") + return BlendOp::kDifference; + else if (name == "exclusion") + return BlendOp::kExclusion; + else if (name == "invert") + return BlendOp::kInvert; + else if (name == "invert_rgb") + return BlendOp::kInvertRGB; + else if (name == "linear_dodge") + return BlendOp::kLinearDodge; + else if (name == "linear_burn") + return BlendOp::kLinearBurn; + else if (name == "vivid_light") + return BlendOp::kVividLight; + else if (name == "linear_light") + return BlendOp::kLinearLight; + else if (name == "pin_light") + return BlendOp::kPinLight; + else if (name == "hard_mix") + return BlendOp::kHardMix; + else if (name == "hsl_hue") + return BlendOp::kHslHue; + else if (name == "hsl_saturation") + return BlendOp::kHslSaturation; + else if (name == "hsl_color") + return BlendOp::kHslColor; + else if (name == "hsl_luminosity") + return BlendOp::kHslLuminosity; + else if (name == "plus") + return BlendOp::kPlus; + else if (name == "plus_clamped") + return BlendOp::kPlusClamped; + else if (name == "plus_clamped_alpha") + return BlendOp::kPlusClampedAlpha; + else if (name == "plus_darker") + return BlendOp::kPlusDarker; + else if (name == "minus") + return BlendOp::kMinus; + else if (name == "minus_clamped") + return BlendOp::kMinusClamped; + else if (name == "contrast") + return BlendOp::kContrast; + else if (name == "invert_ovg") + return BlendOp::kInvertOvg; + else if (name == "red") + return BlendOp::kRed; + else if (name == "green") + return BlendOp::kGreen; + else if (name == "blue") + return BlendOp::kBlue; + else + return BlendOp::kUnknown; +} + } // namespace amber |