Index: src/codec/SkBmpStandardCodec.h |
diff --git a/src/codec/SkBmpStandardCodec.h b/src/codec/SkBmpStandardCodec.h |
index 45450e65918b95c5d5222ec36cb3ddba9f28edfa..c77cb54abbaf8f19dcb9bdaa3c33d059e7bbe5c1 100644 |
--- a/src/codec/SkBmpStandardCodec.h |
+++ b/src/codec/SkBmpStandardCodec.h |
@@ -36,8 +36,8 @@ public: |
* @param rowOrder indicates whether rows are ordered top-down or bottom-up |
*/ |
SkBmpStandardCodec(const SkImageInfo& srcInfo, SkStream* stream, |
- uint16_t bitsPerPixel, uint32_t numColors, uint32_t bytesPerColor, |
- uint32_t offset, SkBmpCodec::RowOrder rowOrder, bool isIco); |
+ uint16_t bitsPerPixel, uint32_t numColors, uint32_t bytesPerColor, |
+ uint32_t offset, SkBmpCodec::RowOrder rowOrder, bool isIco); |
protected: |
@@ -48,6 +48,11 @@ protected: |
bool onInIco() const override { |
return fInIco; |
} |
+ |
+ SkCodec::Result prepareToDecode(const SkImageInfo& dstInfo, |
+ const SkCodec::Options& options, SkPMColor inputColorPtr[], |
+ int* inputColorCount) override; |
+ |
private: |
/* |
@@ -58,13 +63,17 @@ private: |
bool initializeSwizzler(const SkImageInfo& dstInfo, const Options& opts); |
- Result decode(const SkImageInfo& dstInfo, void* dst, size_t dstRowBytes, const Options& opts); |
+ Result decodeRows(const SkImageInfo& dstInfo, void* dst, size_t dstRowBytes, |
+ const Options& opts) override; |
+ |
+ Result decodeIcoMask(const SkImageInfo& dstInfo, void* dst, size_t dstRowBytes); |
SkAutoTUnref<SkColorTable> fColorTable; // owned |
const uint32_t fNumColors; |
const uint32_t fBytesPerColor; |
const uint32_t fOffset; |
SkAutoTDelete<SkSwizzler> fSwizzler; |
+ const size_t fSrcRowBytes; |
SkAutoTDeleteArray<uint8_t> fSrcBuffer; |
const bool fInIco; |