summaryrefslogtreecommitdiff
path: root/core/fxge/fx_dib.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxge/fx_dib.h')
-rw-r--r--core/fxge/fx_dib.h26
1 files changed, 22 insertions, 4 deletions
diff --git a/core/fxge/fx_dib.h b/core/fxge/fx_dib.h
index 221a05278f..8cb7040f5a 100644
--- a/core/fxge/fx_dib.h
+++ b/core/fxge/fx_dib.h
@@ -46,10 +46,28 @@ using FX_CMYK = uint32_t;
extern const int16_t SDP_Table[513];
-#define FXDIB_DOWNSAMPLE 0x04
-#define FXDIB_INTERPOL 0x20
-#define FXDIB_BICUBIC_INTERPOL 0x80
-#define FXDIB_NOSMOOTH 0x100
+struct FXDIB_ResampleOptions {
+ FXDIB_ResampleOptions();
+ // TODO(thestig): Remove this ctor once C++14 can be used for more flexible
+ // constexpr initialization.
+ FXDIB_ResampleOptions(bool downsample,
+ bool bilinear,
+ bool bicubic,
+ bool halftone,
+ bool no_smoothing,
+ bool lossy);
+
+ bool HasAnyOptions() const;
+
+ bool bInterpolateDownsample = false;
+ bool bInterpolateBilinear = false;
+ bool bInterpolateBicubic = false;
+ bool bHalftone = false;
+ bool bNoSmoothing = false;
+ bool bLossy = false;
+};
+
+extern const FXDIB_ResampleOptions kBilinearInterpolation;
// 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.