Index: src/codec/SkCodec.cpp |
diff --git a/src/codec/SkCodec.cpp b/src/codec/SkCodec.cpp |
index a49586ffeb1ecf6ff337b1dc12fd0fe8120be113..3e49b266e054bdb191a53d5482f2339db223a70c 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,12 +58,14 @@ SkCodec::SkCodec(const SkImageInfo& info, SkStream* stream) |
, fNeedsRewind(false) |
{} |
-bool SkCodec::rewindIfNeeded() { |
+SkCodec::RewindState SkCodec::rewindIfNeeded() { |
// Store the value of fNeedsRewind so we can update it. Next read will |
// require a rewind. |
- const bool neededRewind = fNeedsRewind; |
+ const bool noRewind = !fNeedsRewind; |
fNeedsRewind = true; |
- return !neededRewind || fStream->rewind(); |
+ return noRewind ? kNoRewindNecessary_RewindState |
scroggo
2015/03/26 20:29:44
nit: I find this double tertiary statement harder
hal.canary
2015/03/26 21:46:09
Done.
|
+ : fStream->rewind() ? kRewound_RewindState |
+ : kCouldNotRewind_RewindState; |
} |
SkScanlineDecoder* SkCodec::getScanlineDecoder(const SkImageInfo& dstInfo) { |