Index: include/codec/SkScaledCodec.h |
diff --git a/include/codec/SkScaledCodec.h b/include/codec/SkScaledCodec.h |
index 028706bc9400bfb7028ba75699029d2454277484..5d0d8834c4e3df3e378a19abf07328357d55b1ca 100644 |
--- a/include/codec/SkScaledCodec.h |
+++ b/include/codec/SkScaledCodec.h |
@@ -22,7 +22,7 @@ public: |
virtual ~SkScaledCodec(); |
- static void ComputeSampleSize(const SkISize& dstDim, const SkISize& srcDim, |
+ static void ComputeSampleSize(const SkISize& dstSize, const SkISize& srcSize, |
int* sampleSizeX, int* sampleSizeY); |
protected: |
@@ -34,6 +34,8 @@ protected: |
SkISize onGetScaledDimensions(float desiredScale) const override; |
bool onDimensionsSupported(const SkISize&) override; |
+ bool onGetScaledSubsetDimensions(float desiredScale, Options* options) const override; |
+ |
Result onGetPixels(const SkImageInfo&, void*, size_t, const Options&, SkPMColor*, int*, int*) |
override; |
SkEncodedFormat onGetEncodedFormat() const override { |
@@ -50,6 +52,13 @@ protected: |
private: |
+ Result nativeDecode(const SkImageInfo& scaledInfo, void* dst, size_t rowBytes, |
+ const SkIRect& scaledSubsetRect, ZeroInitialized zeroInit, int* rowsDecoded); |
+ |
+ Result sampledDecode(const SkImageInfo& decodeInfo, void* dst, size_t rowBytes, |
+ const SkIRect& subsetRect, const SkIRect& scaledSubsetRect, int sampleX, int sampleY, |
+ ZeroInitialized zeroInit, int* rowsDecoded); |
+ |
SkAutoTDelete<SkCodec> fCodec; |
explicit SkScaledCodec(SkCodec*); |