summaryrefslogtreecommitdiff
path: root/core/fxge/fx_dib.h
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2018-10-25 19:02:50 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-10-25 19:02:50 +0000
commit0c327657fb8c23934c5beae520e7a97a48e2eef6 (patch)
tree75c5749124f32c464d29149e125e47325f0cbd2d /core/fxge/fx_dib.h
parent94f45b29897f801151ecd085fa083f84558065ee (diff)
downloadpdfium-0c327657fb8c23934c5beae520e7a97a48e2eef6.tar.xz
Change FXDIB_BLEND_FOO typedefs to an enum class.
BUG=pdfium:1085 Change-Id: Ieb43d4588e1d689e327e428dcbbf7adba45ce178 Reviewed-on: https://pdfium-review.googlesource.com/c/44545 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxge/fx_dib.h')
-rw-r--r--core/fxge/fx_dib.h36
1 files changed, 20 insertions, 16 deletions
diff --git a/core/fxge/fx_dib.h b/core/fxge/fx_dib.h
index 4842d11953..96cd82a66b 100644
--- a/core/fxge/fx_dib.h
+++ b/core/fxge/fx_dib.h
@@ -55,22 +55,26 @@ extern const int16_t SDP_Table[513];
#define FXDIB_BICUBIC_INTERPOL 0x80
#define FXDIB_NOSMOOTH 0x100
-#define FXDIB_BLEND_NORMAL 0
-#define FXDIB_BLEND_MULTIPLY 1
-#define FXDIB_BLEND_SCREEN 2
-#define FXDIB_BLEND_OVERLAY 3
-#define FXDIB_BLEND_DARKEN 4
-#define FXDIB_BLEND_LIGHTEN 5
-#define FXDIB_BLEND_COLORDODGE 6
-#define FXDIB_BLEND_COLORBURN 7
-#define FXDIB_BLEND_HARDLIGHT 8
-#define FXDIB_BLEND_SOFTLIGHT 9
-#define FXDIB_BLEND_DIFFERENCE 10
-#define FXDIB_BLEND_EXCLUSION 11
-#define FXDIB_BLEND_HUE 21
-#define FXDIB_BLEND_SATURATION 22
-#define FXDIB_BLEND_COLOR 23
-#define FXDIB_BLEND_LUMINOSITY 24
+// See PDF 1.7 spec, table 7.2 and 7.3. The enum values need to be in the same
+// order as listed in the spec.
+enum class BlendMode {
+ kNormal = 0,
+ kMultiply,
+ kScreen,
+ kOverlay,
+ kDarken,
+ kLighten,
+ kColorDodge,
+ kColorBurn,
+ kHardLight,
+ kSoftLight,
+ kDifference,
+ kExclusion,
+ kHue,
+ kSaturation,
+ kColor,
+ kLuminosity,
+};
constexpr uint32_t FXSYS_BGR(uint8_t b, uint8_t g, uint8_t r) {
return (b << 16) | (g << 8) | r;