Index: tools/SkBitmapRegionSampler.h |
diff --git a/tools/SkBitmapRegionSampler.h b/tools/SkBitmapRegionSampler.h |
index 8ed95e25249b1cd4092fd095ca601c8c4164a33d..ac70030dc60310bf19a30d5e3fb47ffb18ff950e 100644 |
--- a/tools/SkBitmapRegionSampler.h |
+++ b/tools/SkBitmapRegionSampler.h |
@@ -22,28 +22,20 @@ public: |
*/ |
SkBitmapRegionSampler(SkImageDecoder* decoder, int width, int height); |
- /* |
- * Three differences from the Android version: |
- * Returns a Skia bitmap instead of an Android bitmap. |
- * Android version attempts to reuse a recycled bitmap. |
- * Removed the options object and used parameters for color type and |
- * sample size. |
- */ |
- SkBitmap* decodeRegion(int start_x, int start_y, int width, int height, |
- int sampleSize, SkColorType prefColorType) override; |
+ bool prepareRegion(const SkIRect& desiredSubset, int sampleSize, |
+ SkColorType colorType, bool requireUnpremul, SkImageInfo* outSize) override; |
- bool conversionSupported(SkColorType colorType) override { |
- // SkBitmapRegionSampler does not allow the client to check if the conversion |
- // is supported. We will return true as a default. If the conversion is in |
- // fact not supported, decodeRegion() will ignore the prefColorType and choose |
- // its own color type. We catch this and fail non-fatally in our test code. |
- return true; |
- } |
+ bool decodeRegion(SkBitmap& bitmap) override; |
private: |
SkAutoTDelete<SkImageDecoder> fDecoder; |
+ |
+ // Fields set by prepareRegion() |
+ SkIRect fSubset; // Subset of the original image to decode |
+ SkColorType fColorType; // Color type to decode to |
+ |
typedef SkBitmapRegionDecoderInterface INHERITED; |
}; |