Index: include/core/SkBlendMode.h |
diff --git a/include/core/SkBlendMode.h b/include/core/SkBlendMode.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..eb3469f2560096c8c09f35b5fda2c413fd2917c8 |
--- /dev/null |
+++ b/include/core/SkBlendMode.h |
@@ -0,0 +1,51 @@ |
+/* |
+ * Copyright 2016 Google Inc. |
+ * |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+#ifndef SkBlendMode_DEFINED |
+#define SkBlendMode_DEFINED |
+ |
+enum class SkBlendMode { |
+ kClear, //!< [0, 0] |
+ kSrc, //!< [Sa, Sc] |
+ kDst, //!< [Da, Dc] |
+ kSrcOver, //!< [Sa + Da * (1 - Sa), Sc + Dc * (1 - Sa)] |
+ kDstOver, //!< [Da + Sa * (1 - Da), Dc + Sc * (1 - Da)] |
+ kSrcIn, //!< [Sa * Da, Sc * Da] |
+ kDstIn, //!< [Da * Sa, Dc * Sa] |
+ kSrcOut, //!< [Sa * (1 - Da), Sc * (1 - Da)] |
+ kDstOut, //!< [Da * (1 - Sa), Dc * (1 - Sa)] |
+ kSrcATop, //!< [Da, Sc * Da + Dc * (1 - Sa)] |
+ kDstATop, //!< [Sa, Dc * Sa + Sc * (1 - Da)] |
+ kXor, //!< [Sa + Da - 2 * Sa * Da, Sc * (1 - Da) + Dc * (1 - Sa)] |
+ kPlus, //!< [Sa + Da, Sc + Dc] |
+ kModulate, // multiplies all components (= alpha and color) |
+ |
+ // Following blend modes are defined in the CSS Compositing standard: |
+ // https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blending |
+ kScreen, |
+ kLastCoeffMode = kScreen, |
+ |
+ kOverlay, |
+ kDarken, |
+ kLighten, |
+ kColorDodge, |
+ kColorBurn, |
+ kHardLight, |
+ kSoftLight, |
+ kDifference, |
+ kExclusion, |
+ kMultiply, |
+ kLastSeparableMode = kMultiply, |
+ |
+ kHue, |
+ kSaturation, |
+ kColor, |
+ kLuminosity, |
+ kLastMode = kLuminosity |
+}; |
+ |
+#endif |