| Index: include/core/SkImageDecoder.h
|
| diff --git a/include/core/SkImageDecoder.h b/include/core/SkImageDecoder.h
|
| index 30323b59ee56df2cf7f9ad3ac79d7f5833cbd3ea..144878c1668e74c46922df17ea988f4176e0afb3 100644
|
| --- a/include/core/SkImageDecoder.h
|
| +++ b/include/core/SkImageDecoder.h
|
| @@ -10,13 +10,10 @@
|
|
|
| #include "SkBitmap.h"
|
| #include "SkImage.h"
|
| -#include "SkPngChunkReader.h"
|
| #include "SkRect.h"
|
| #include "SkRefCnt.h"
|
| #include "SkTRegistry.h"
|
| #include "SkTypes.h"
|
| -
|
| -//#define SK_LEGACY_PEEKER
|
|
|
| class SkStream;
|
| class SkStreamRewindable;
|
| @@ -129,20 +126,23 @@
|
| */
|
| bool getRequireUnpremultipliedColors() const { return fRequireUnpremultipliedColors; }
|
|
|
| -#ifdef SK_LEGACY_PEEKER
|
| - // Android subclasses SkImageDecoder::Peeker, which has been changed into SkPngChunkReader.
|
| - // Temporarily use this class until Android can be updated to directly inherit from
|
| - // SkPngChunkReader.
|
| - class Peeker : public SkPngChunkReader {
|
| + /** \class Peeker
|
| +
|
| + Base class for optional callbacks to retrieve meta/chunk data out of
|
| + an image as it is being decoded.
|
| + */
|
| + class Peeker : public SkRefCnt {
|
| public:
|
| - bool readChunk(const char tag[], const void* data, size_t length) final {
|
| - return this->peek(tag, data, length);
|
| - }
|
| + /** Return true to continue decoding, or false to indicate an error, which
|
| + will cause the decoder to not return the image.
|
| + */
|
| virtual bool peek(const char tag[], const void* data, size_t length) = 0;
|
| + private:
|
| + typedef SkRefCnt INHERITED;
|
| };
|
| -#endif
|
| - SkPngChunkReader* getPeeker() const { return fPeeker; }
|
| - SkPngChunkReader* setPeeker(SkPngChunkReader*);
|
| +
|
| + Peeker* getPeeker() const { return fPeeker; }
|
| + Peeker* setPeeker(Peeker*);
|
|
|
| /**
|
| * By default, the codec will try to comply with the "pref" colortype
|
| @@ -229,8 +229,8 @@
|
| to allocate the memory from a cache, volatile memory, or even from
|
| an existing bitmap's memory.
|
|
|
| - If an SkPngChunkReader is installed via setPeeker, it may be used to
|
| - peek into meta data during the decode.
|
| + If a Peeker is installed via setPeeker, it may be used to peek into
|
| + meta data during the decode.
|
| */
|
| Result decode(SkStream*, SkBitmap* bitmap, SkColorType pref, Mode);
|
| Result decode(SkStream* stream, SkBitmap* bitmap, Mode mode) {
|
| @@ -350,7 +350,7 @@
|
| SkColorType getPrefColorType(SrcDepth, bool hasAlpha) const;
|
|
|
| private:
|
| - SkPngChunkReader* fPeeker;
|
| + Peeker* fPeeker;
|
| SkBitmap::Allocator* fAllocator;
|
| int fSampleSize;
|
| SkColorType fDefaultPref; // use if fUsePrefTable is false
|
|
|