diff options
Diffstat (limited to 'core/fxge/fx_dib.h')
-rw-r--r-- | core/fxge/fx_dib.h | 26 |
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. |