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