Index: src/codec/SkCodec.cpp |
diff --git a/src/codec/SkCodec.cpp b/src/codec/SkCodec.cpp |
index a49586ffeb1ecf6ff337b1dc12fd0fe8120be113..8c6ec32a896470987780a7c1dbf8cf1dc6122ba0 100644 |
--- a/src/codec/SkCodec.cpp |
+++ b/src/codec/SkCodec.cpp |
@@ -10,6 +10,7 @@ |
#include "SkCodec_libbmp.h" |
#include "SkCodec_libico.h" |
#include "SkCodec_libpng.h" |
+#include "SkCodec_wbmp.h" |
#include "SkStream.h" |
struct DecoderProc { |
@@ -20,7 +21,8 @@ struct DecoderProc { |
static const DecoderProc gDecoderProcs[] = { |
{ SkPngCodec::IsPng, SkPngCodec::NewFromStream }, |
{ SkIcoCodec::IsIco, SkIcoCodec::NewFromStream }, |
- { SkBmpCodec::IsBmp, SkBmpCodec::NewFromStream } |
+ { SkBmpCodec::IsBmp, SkBmpCodec::NewFromStream }, |
+ { SkWbmpCodec::IsWbmp, SkWbmpCodec::NewFromStream } |
}; |
SkCodec* SkCodec::NewFromStream(SkStream* stream) { |
@@ -56,10 +58,13 @@ SkCodec::SkCodec(const SkImageInfo& info, SkStream* stream) |
, fNeedsRewind(false) |
{} |
-bool SkCodec::rewindIfNeeded() { |
+bool SkCodec::rewindIfNeeded(bool* didTryToRewind) { |
// Store the value of fNeedsRewind so we can update it. Next read will |
// require a rewind. |
const bool neededRewind = fNeedsRewind; |
+ if (didTryToRewind) { |
+ *didTryToRewind = neededRewind; |
+ } |
fNeedsRewind = true; |
return !neededRewind || fStream->rewind(); |
} |