Index: src/codec/SkAndroidCodec.cpp |
diff --git a/src/codec/SkAndroidCodec.cpp b/src/codec/SkAndroidCodec.cpp |
index 6c3113ccfc53505c81231941891a4e79687fd9c0..efc67b64c95e8b75ddbf56aca39ad5137881d78f 100644 |
--- a/src/codec/SkAndroidCodec.cpp |
+++ b/src/codec/SkAndroidCodec.cpp |
@@ -8,11 +8,14 @@ |
#include "SkAndroidCodec.h" |
#include "SkCodec.h" |
#include "SkCodecPriv.h" |
+#include "SkSampledCodec.h" |
+ |
#ifdef SK_CODEC_DECODES_RAW |
#include "SkRawAdapterCodec.h" |
#endif |
-#include "SkSampledCodec.h" |
+#ifdef SK_CODEC_DECODES_WEBP |
#include "SkWebpAdapterCodec.h" |
+#endif |
static bool is_valid_sample_size(int sampleSize) { |
// FIXME: As Leon has mentioned elsewhere, surely there is also a maximum sampleSize? |
@@ -31,15 +34,34 @@ SkAndroidCodec* SkAndroidCodec::NewFromStream(SkStream* stream, SkPngChunkReader |
} |
switch (codec->getEncodedFormat()) { |
+#ifdef SK_CODEC_DECODES_WEBP |
case kWEBP_SkEncodedFormat: |
return new SkWebpAdapterCodec((SkWebpCodec*) codec.detach()); |
+#endif |
+#ifdef SK_CODEC_DECODES_PNG |
case kPNG_SkEncodedFormat: |
+ return new SkSampledCodec(codec.detach()); |
+#endif |
+#ifdef SK_CODEC_DECODES_JPEG |
case kJPEG_SkEncodedFormat: |
+ return new SkSampledCodec(codec.detach()); |
+#endif |
+#ifdef SK_CODEC_DECODES_WBMP |
case kWBMP_SkEncodedFormat: |
+ return new SkSampledCodec(codec.detach()); |
+#endif |
+#ifdef SK_CODEC_DECODES_BMP |
case kBMP_SkEncodedFormat: |
+ return new SkSampledCodec(codec.detach()); |
+#endif |
+#ifdef SK_CODEC_DECODES_GIF |
case kGIF_SkEncodedFormat: |
+ return new SkSampledCodec(codec.detach()); |
+#endif |
+#ifdef SK_CODEC_DECODES_ICO |
case kICO_SkEncodedFormat: |
return new SkSampledCodec(codec.detach()); |
+#endif |
#ifdef SK_CODEC_DECODES_RAW |
case kRAW_SkEncodedFormat: |
return new SkRawAdapterCodec((SkRawCodec*)codec.detach()); |