Chromium Code Reviews| 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) { |