| Index: src/codec/SkBmpMaskCodec.h
|
| diff --git a/src/codec/SkBmpMaskCodec.h b/src/codec/SkBmpMaskCodec.h
|
| index 6f43bb3f85ce23424892f05557fda750ebdda77e..efbc4c6a3c676d310742967693c9715819f84076 100644
|
| --- a/src/codec/SkBmpMaskCodec.h
|
| +++ b/src/codec/SkBmpMaskCodec.h
|
| @@ -29,7 +29,8 @@ public:
|
| * @param rowOrder indicates whether rows are ordered top-down or bottom-up
|
| */
|
| SkBmpMaskCodec(const SkImageInfo& srcInfo, SkStream* stream,
|
| - uint16_t bitsPerPixel, SkMasks* masks, RowOrder rowOrder);
|
| + SkBmpCodec::BmpInputFormat inputFormat, uint16_t bitsPerPixel,
|
| + SkMasks* masks, RowOrder rowOrder);
|
|
|
| protected:
|
|
|
| @@ -48,5 +49,30 @@ private:
|
| SkAutoTDelete<SkMaskSwizzler> fMaskSwizzler;
|
| SkAutoTDeleteArray<uint8_t> fSrcBuffer;
|
|
|
| + friend class SkBmpMaskScanlineDecoder;
|
| +
|
| typedef SkBmpCodec INHERITED;
|
| };
|
| +
|
| +/*
|
| + * Scanline decoder for mask bmps
|
| + */
|
| +class SkBmpMaskScanlineDecoder : public SkScanlineDecoder {
|
| +public:
|
| + SkBmpMaskScanlineDecoder(SkBmpMaskCodec* codec);
|
| +
|
| + SkCodec::Result onStart(const SkImageInfo& dstInfo, const SkCodec::Options& options,
|
| + SkPMColor inputColorPtr[], int* inputColorCount) override;
|
| +
|
| + SkCodec::Result onGetScanlines(void* dst, int count, size_t rowBytes) override;
|
| +
|
| + // TODO(msarett): Override default skipping with something more clever.
|
| + // TODO(msarett): Consider other optimizations for this codec.
|
| +
|
| +private:
|
| + SkAutoTDelete<SkBmpMaskCodec> fCodec;
|
| + SkImageInfo fDstInfo;
|
| + SkCodec::Options fOpts;
|
| +
|
| + typedef SkScanlineDecoder INHERITED;
|
| +};
|
|
|