| 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
|
|
|