1 | // LAF OS Library |
2 | // Copyright (c) 2019-2022 Igara Studio S.A. |
3 | // |
4 | // This file is released under the terms of the MIT license. |
5 | // Read LICENSE.txt for more information. |
6 | |
7 | #ifndef OS_PAINT_H_INCLUDED |
8 | #define OS_PAINT_H_INCLUDED |
9 | #pragma once |
10 | |
11 | namespace os { |
12 | |
13 | // Same values as SkBlendMode |
14 | enum class BlendMode { |
15 | Clear, |
16 | Src, |
17 | Dst, |
18 | SrcOver, |
19 | DstOver, |
20 | SrcIn, |
21 | DstIn, |
22 | SrcOut, |
23 | DstOut, |
24 | SrcATop, |
25 | DstATop, |
26 | Xor, |
27 | Plus, |
28 | Modulate, |
29 | Screen, |
30 | LastCoeffMode = Screen, |
31 | Overlay, |
32 | Darken, |
33 | Lighten, |
34 | ColorDodge, |
35 | ColorBurn, |
36 | HardLight, |
37 | SoftLight, |
38 | Difference, |
39 | Exclusion, |
40 | Multiply, |
41 | LastSeparableMode = Multiply, |
42 | Hue, |
43 | Saturation, |
44 | Color, |
45 | Luminosity, |
46 | LastMode = Luminosity, |
47 | }; |
48 | |
49 | class PaintBase { |
50 | public: |
51 | // Same as SkPaint::Style |
52 | enum Style { |
53 | Fill, |
54 | Stroke, |
55 | StrokeAndFill, |
56 | }; |
57 | }; |
58 | |
59 | }; |
60 | |
61 | #if LAF_SKIA |
62 | #include "os/skia/paint.h" |
63 | #else |
64 | #include "os/none/paint.h" |
65 | #endif |
66 | |
67 | #endif |
68 | |