Index: include/codec/SkScaledCodec.h |
diff --git a/include/codec/SkScaledCodec.h b/include/codec/SkScaledCodec.h |
index 6e569d5d381b532d11ef6b1962eba1d3b311c39c..e9ab4a23ce468c5ac4311a0987ea3c6bb5e6556f 100644 |
--- a/include/codec/SkScaledCodec.h |
+++ b/include/codec/SkScaledCodec.h |
@@ -38,7 +38,7 @@ public: |
return true; |
} |
- static void ComputeSampleSize(const SkImageInfo& dstInfo, const SkImageInfo& srcInfo, |
+ static void ComputeSampleSize(const SkISize& dstSize, const SkISize& srcSize, |
int* sampleSizeX, int* sampleSizeY); |
protected: |
@@ -47,6 +47,8 @@ protected: |
*/ |
SkISize onGetScaledDimensions(float desiredScale) const 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 { |
@@ -63,6 +65,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*); |