Index: src/images/SkImageDecoder_wbmp.cpp |
diff --git a/src/images/SkImageDecoder_wbmp.cpp b/src/images/SkImageDecoder_wbmp.cpp |
index 0bf138940da8a50242aab08ea8a3384245eb6e3a..7b8bacb0e8c926468c6b09ee69d521c23c2655ad 100644 |
--- a/src/images/SkImageDecoder_wbmp.cpp |
+++ b/src/images/SkImageDecoder_wbmp.cpp |
@@ -6,8 +6,8 @@ |
* found in the LICENSE file. |
*/ |
+#include "SkImageDecoder_wbmp.h" |
-#include "SkImageDecoder.h" |
#include "SkColor.h" |
#include "SkColorPriv.h" |
#include "SkMath.h" |
@@ -148,20 +148,7 @@ bool SkWBMPImageDecoder::onDecode(SkStream* stream, SkBitmap* decodedBitmap, |
return true; |
} |
-/////////////////////////////////////////////////////////////////////////////// |
-DEFINE_DECODER_CREATOR(WBMPImageDecoder); |
-/////////////////////////////////////////////////////////////////////////////// |
- |
-static SkImageDecoder* sk_wbmp_dfactory(SkStreamRewindable* stream) { |
- wbmp_head head; |
- |
- if (head.init(stream)) { |
- return SkNEW(SkWBMPImageDecoder); |
- } |
- return NULL; |
-} |
- |
-static SkImageDecoder::Format get_format_wbmp(SkStreamRewindable* stream) { |
+SkImageDecoder::Format SkDetectFormatWBMPImageDecoder(SkStreamRewindable* stream) { |
wbmp_head head; |
if (head.init(stream)) { |
return SkImageDecoder::kWBMP_Format; |
@@ -169,5 +156,9 @@ static SkImageDecoder::Format get_format_wbmp(SkStreamRewindable* stream) { |
return SkImageDecoder::kUnknown_Format; |
} |
-static SkImageDecoder_DecodeReg gDReg(sk_wbmp_dfactory); |
-static SkImageDecoder_FormatReg gFormatReg(get_format_wbmp); |
+SkImageDecoder* SkCreateWBMPImageDecoder(SkStreamRewindable* stream) { |
+ if (SkDetectFormatWBMPImageDecoder(stream) == SkImageDecoder::kWBMP_Format) { |
+ return SkNEW(SkWBMPImageDecoder); |
+ } |
+ return NULL; |
+} |