1// Aseprite Document Library
2// Copyright (c) 2001-2017 David Capello
3//
4// This file is released under the terms of the MIT license.
5// Read LICENSE.txt for more information.
6
7#ifndef DOC_BLEND_MODE_H_INCLUDED
8#define DOC_BLEND_MODE_H_INCLUDED
9#pragma once
10
11#include <string>
12
13namespace doc {
14
15 enum class BlendMode {
16 // Special internal/undocumented alpha compositing and blend modes
17 UNSPECIFIED = -1,
18 SRC = -2,
19 MERGE = -3,
20 NEG_BW = -4, // Negative Black & White
21 RED_TINT = -5,
22 BLUE_TINT = -6,
23 DST_OVER = -7,
24
25 // Aseprite (.ase files) blend modes
26 NORMAL = 0,
27 MULTIPLY = 1,
28 SCREEN = 2,
29 OVERLAY = 3,
30 DARKEN = 4,
31 LIGHTEN = 5,
32 COLOR_DODGE = 6,
33 COLOR_BURN = 7,
34 HARD_LIGHT = 8,
35 SOFT_LIGHT = 9,
36 DIFFERENCE = 10,
37 EXCLUSION = 11,
38 HSL_HUE = 12,
39 HSL_SATURATION = 13,
40 HSL_COLOR = 14,
41 HSL_LUMINOSITY = 15,
42 ADDITION = 16,
43 SUBTRACT = 17,
44 DIVIDE = 18
45 };
46
47 std::string blend_mode_to_string(BlendMode blendMode);
48
49} // namespace doc
50
51#endif
52