Index: src/images/SkImageDecoder_libpng.cpp |
diff --git a/src/images/SkImageDecoder_libpng.cpp b/src/images/SkImageDecoder_libpng.cpp |
index 31ec4dd48a13dd167984d4285ea0d43fa8cd3bdc..aded29cd964c19da173960024f1501ae60d256c9 100644 |
--- a/src/images/SkImageDecoder_libpng.cpp |
+++ b/src/images/SkImageDecoder_libpng.cpp |
@@ -52,7 +52,9 @@ SK_CONF_DECLARE(bool, c_suppressPNGImageDecoderWarnings, |
"Suppress most PNG warnings when calling image decode " |
"functions."); |
- |
+#if defined(SK_BUILD_FOR_ANDROID) && !defined(SK_PNG_NO_INDEX_SUPPORTED) |
+#define SK_PNG_INDEX_SUPPORTED |
+#endif |
class SkPNGImageIndex { |
public: |
@@ -88,7 +90,7 @@ public: |
virtual ~SkPNGImageDecoder() { delete fImageIndex; } |
protected: |
-#ifdef SK_BUILD_FOR_ANDROID |
+#ifdef SK_PNG_INDEX_SUPPORTED |
bool onBuildTileIndex(SkStreamRewindable *stream, int *width, int *height) override; |
bool onDecodeSubset(SkBitmap* bitmap, const SkIRect& region) override; |
#endif |
@@ -132,7 +134,7 @@ static void sk_read_fn(png_structp png_ptr, png_bytep data, png_size_t length) { |
} |
} |
-#ifdef SK_BUILD_FOR_ANDROID |
+#ifdef SK_PNG_INDEX_SUPPORTED |
static void sk_seek_fn(png_structp png_ptr, png_uint_32 offset) { |
SkStreamRewindable* sk_stream = (SkStreamRewindable*) png_get_io_ptr(png_ptr); |
if (!sk_stream->rewind()) { |
@@ -262,7 +264,7 @@ bool SkPNGImageDecoder::onDecodeInit(SkStream* sk_stream, png_structp *png_ptrp, |
* png_init_io() here you would call: |
*/ |
png_set_read_fn(png_ptr, (void *)sk_stream, sk_read_fn); |
-#ifdef SK_BUILD_FOR_ANDROID |
+#ifdef SK_PNG_INDEX_SUPPORTED |
png_set_seek_fn(png_ptr, sk_seek_fn); |
#endif |
/* where user_io_ptr is a structure you want available to the callbacks */ |
@@ -726,7 +728,7 @@ bool SkPNGImageDecoder::decodePalette(png_structp png_ptr, png_infop info_ptr, |
return true; |
} |
-#ifdef SK_BUILD_FOR_ANDROID |
+#ifdef SK_PNG_INDEX_SUPPORTED |
bool SkPNGImageDecoder::onBuildTileIndex(SkStreamRewindable* sk_stream, int *width, int *height) { |
SkAutoTDelete<SkStreamRewindable> streamDeleter(sk_stream); |