Skia
2DGraphicsLibrary
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SkBlendMode.h
1 /*
2  * Copyright 2016 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #ifndef SkBlendMode_DEFINED
9 #define SkBlendMode_DEFINED
10 
11 #include "SkTypes.h"
12 
13 enum class SkBlendMode {
14  kClear,
15  kSrc,
16  kDst,
17  kSrcOver,
18  kDstOver,
19  kSrcIn,
20  kDstIn,
21  kSrcOut,
22  kDstOut,
23  kSrcATop,
24  kDstATop,
25  kXor,
26  kPlus,
27  kModulate, // multiplies all components (= alpha and color)
28 
29  // Following blend modes are defined in the CSS Compositing standard:
30  // https://dvcs.w3.org/hg/FXTF/rawfile/tip/compositing/index.html#blending
31  kScreen,
32  kLastCoeffMode = kScreen,
33 
34  kOverlay,
35  kDarken,
36  kLighten,
37  kColorDodge,
38  kColorBurn,
39  kHardLight,
40  kSoftLight,
41  kDifference,
42  kExclusion,
43  kMultiply,
44  kLastSeparableMode = kMultiply,
45 
46  kHue,
47  kSaturation,
48  kColor,
49  kLuminosity,
50  kLastMode = kLuminosity
51 };
52 
56 SK_API const char* SkBlendMode_Name(SkBlendMode);
57 
58 #endif