Index: src/images/SkImageDecoder_libpng.cpp |
diff --git a/src/images/SkImageDecoder_libpng.cpp b/src/images/SkImageDecoder_libpng.cpp |
index c188a2fabc4ef93c21c899c7a6173b053bcc93ee..6a039541682f63a3a7cd6524d58b12bfcd24f498 100644 |
--- a/src/images/SkImageDecoder_libpng.cpp |
+++ b/src/images/SkImageDecoder_libpng.cpp |
@@ -42,7 +42,7 @@ extern "C" { |
class SkPNGImageIndex { |
public: |
- SkPNGImageIndex(SkStream* stream, png_structp png_ptr, png_infop info_ptr) |
+ SkPNGImageIndex(SkStreamRewindable* stream, png_structp png_ptr, png_infop info_ptr) |
: fStream(stream) |
, fPng_ptr(png_ptr) |
, fInfo_ptr(info_ptr) |
@@ -56,10 +56,10 @@ public: |
} |
} |
- SkAutoTUnref<SkStream> fStream; |
- png_structp fPng_ptr; |
- png_infop fInfo_ptr; |
- SkBitmap::Config fConfig; |
+ SkAutoTUnref<SkStreamRewindable> fStream; |
+ png_structp fPng_ptr; |
+ png_infop fInfo_ptr; |
+ SkBitmap::Config fConfig; |
}; |
class SkPNGImageDecoder : public SkImageDecoder { |
@@ -77,15 +77,15 @@ public: |
protected: |
#ifdef SK_BUILD_FOR_ANDROID |
- virtual bool onBuildTileIndex(SkStream *stream, int *width, int *height) SK_OVERRIDE; |
+ virtual bool onBuildTileIndex(SkStreamRewindable *stream, int *width, int *height) SK_OVERRIDE; |
virtual bool onDecodeSubset(SkBitmap* bitmap, const SkIRect& region) SK_OVERRIDE; |
#endif |
- virtual bool onDecode(SkStream* stream, SkBitmap* bm, Mode) SK_OVERRIDE; |
+ virtual bool onDecode(SkStreamRewindable* stream, SkBitmap* bm, Mode) SK_OVERRIDE; |
private: |
SkPNGImageIndex* fImageIndex; |
- bool onDecodeInit(SkStream* stream, png_structp *png_ptrp, png_infop *info_ptrp); |
+ bool onDecodeInit(SkStreamRewindable* stream, png_structp *png_ptrp, png_infop *info_ptrp); |
bool decodePalette(png_structp png_ptr, png_infop info_ptr, |
bool * SK_RESTRICT hasAlphap, bool *reallyHasAlphap, |
SkColorTable **colorTablep); |
@@ -114,7 +114,7 @@ private: |
}; |
static void sk_read_fn(png_structp png_ptr, png_bytep data, png_size_t length) { |
- SkStream* sk_stream = (SkStream*) png_get_io_ptr(png_ptr); |
+ SkStreamRewindable* sk_stream = (SkStreamRewindable*) png_get_io_ptr(png_ptr); |
size_t bytes = sk_stream->read(data, length); |
if (bytes != length) { |
png_error(png_ptr, "Read Error!"); |
@@ -123,7 +123,7 @@ static void sk_read_fn(png_structp png_ptr, png_bytep data, png_size_t length) { |
#ifdef SK_BUILD_FOR_ANDROID |
static void sk_seek_fn(png_structp png_ptr, png_uint_32 offset) { |
- SkStream* sk_stream = (SkStream*) png_get_io_ptr(png_ptr); |
+ SkStreamRewindable* sk_stream = (SkStreamRewindable*) png_get_io_ptr(png_ptr); |
if (!sk_stream->rewind()) { |
png_error(png_ptr, "Failed to rewind stream!"); |
} |
@@ -199,7 +199,7 @@ static bool hasTransparencyInPalette(png_structp png_ptr, png_infop info_ptr) { |
return false; |
} |
-bool SkPNGImageDecoder::onDecodeInit(SkStream* sk_stream, png_structp *png_ptrp, |
+bool SkPNGImageDecoder::onDecodeInit(SkStreamRewindable* sk_stream, png_structp *png_ptrp, |
png_infop *info_ptrp) { |
/* Create and initialize the png_struct with the desired error handler |
* functions. If you want to use the default stderr and longjump method, |
@@ -272,7 +272,7 @@ bool SkPNGImageDecoder::onDecodeInit(SkStream* sk_stream, png_structp *png_ptrp, |
return true; |
} |
-bool SkPNGImageDecoder::onDecode(SkStream* sk_stream, SkBitmap* decodedBitmap, |
+bool SkPNGImageDecoder::onDecode(SkStreamRewindable* sk_stream, SkBitmap* decodedBitmap, |
Mode mode) { |
png_structp png_ptr; |
png_infop info_ptr; |
@@ -667,7 +667,7 @@ bool SkPNGImageDecoder::decodePalette(png_structp png_ptr, png_infop info_ptr, |
#ifdef SK_BUILD_FOR_ANDROID |
-bool SkPNGImageDecoder::onBuildTileIndex(SkStream* sk_stream, int *width, int *height) { |
+bool SkPNGImageDecoder::onBuildTileIndex(SkStreamRewindable* sk_stream, int *width, int *height) { |
png_structp png_ptr; |
png_infop info_ptr; |
@@ -1176,7 +1176,7 @@ DEFINE_ENCODER_CREATOR(PNGImageEncoder); |
#include "SkTRegistry.h" |
-static bool is_png(SkStream* stream) { |
+static bool is_png(SkStreamRewindable* stream) { |
char buf[PNG_BYTES_TO_CHECK]; |
if (stream->read(buf, PNG_BYTES_TO_CHECK) == PNG_BYTES_TO_CHECK && |
!png_sig_cmp((png_bytep) buf, (png_size_t)0, PNG_BYTES_TO_CHECK)) { |
@@ -1185,14 +1185,14 @@ static bool is_png(SkStream* stream) { |
return false; |
} |
-SkImageDecoder* sk_libpng_dfactory(SkStream* stream) { |
+SkImageDecoder* sk_libpng_dfactory(SkStreamRewindable* stream) { |
if (is_png(stream)) { |
return SkNEW(SkPNGImageDecoder); |
} |
return NULL; |
} |
-static SkImageDecoder::Format get_format_png(SkStream* stream) { |
+static SkImageDecoder::Format get_format_png(SkStreamRewindable* stream) { |
if (is_png(stream)) { |
return SkImageDecoder::kPNG_Format; |
} |
@@ -1204,5 +1204,5 @@ SkImageEncoder* sk_libpng_efactory(SkImageEncoder::Type t) { |
} |
static SkTRegistry<SkImageEncoder*, SkImageEncoder::Type> gEReg(sk_libpng_efactory); |
-static SkTRegistry<SkImageDecoder::Format, SkStream*> gFormatReg(get_format_png); |
-static SkTRegistry<SkImageDecoder*, SkStream*> gDReg(sk_libpng_dfactory); |
+static SkTRegistry<SkImageDecoder::Format, SkStreamRewindable*> gFormatReg(get_format_png); |
+static SkTRegistry<SkImageDecoder*, SkStreamRewindable*> gDReg(sk_libpng_dfactory); |