Index: src/images/SkScaledBitmapSampler.h |
diff --git a/src/images/SkScaledBitmapSampler.h b/src/images/SkScaledBitmapSampler.h |
index e6c4577174c3551afbdf1b228b658d1b668113fe..e47d179a9092ccf3ac25ad82647709d3a766079c 100644 |
--- a/src/images/SkScaledBitmapSampler.h |
+++ b/src/images/SkScaledBitmapSampler.h |
@@ -34,11 +34,24 @@ public: |
kRGB_565 // 2 bytes per pixel |
}; |
+ struct SamplerOptions { |
hal.canary
2014/06/09 20:22:49
Since it's already namespaced, SkScaledBitmapSampl
krajcevski
2014/06/09 20:45:38
Done.
|
+ bool fDither; |
+ bool fPremultiplyAlpha; |
+ bool fSkipZeros; |
+ explicit SamplerOptions(const SkImageDecoder &dec) |
+ : fDither(dec.getDitherImage()) |
+ , fPremultiplyAlpha(!dec.getRequireUnpremultipliedColors()) |
+ , fSkipZeros(dec.getSkipWritingZeroes()) |
+ { } |
+ }; |
+ |
// Given a dst bitmap (with pixels already allocated) and a src-config, |
// prepares iterator to process the src colors and write them into dst. |
// Returns false if the request cannot be fulfulled. |
bool begin(SkBitmap* dst, SrcConfig sc, const SkImageDecoder& decoder, |
const SkPMColor* = NULL); |
+ bool begin(SkBitmap* dst, SrcConfig sc, const SamplerOptions& opts, |
+ const SkPMColor* = NULL); |
// call with row of src pixels, for y = 0...scaledHeight-1. |
// returns true if the row had non-opaque alpha in it |
bool next(const uint8_t* SK_RESTRICT src); |