Chromium Code Reviews| Index: src/images/SkImageEncoder_Factory.cpp |
| diff --git a/src/images/SkImageEncoder_Factory.cpp b/src/images/SkImageEncoder_Factory.cpp |
| index 2931d12eae7c42042c53b8f22a83aaae2bc7094a..526cfa370b97d95c1474bb7e7c6d1ab3dd4269fb 100644 |
| --- a/src/images/SkImageEncoder_Factory.cpp |
| +++ b/src/images/SkImageEncoder_Factory.cpp |
| @@ -8,16 +8,47 @@ |
| #include "SkImageEncoder.h" |
| -template SkImageEncoder_EncodeReg* SkImageEncoder_EncodeReg::gHead; |
| +#include "SkImageDecoder_libpng.h" |
| +#include "SkImageDecoder_libjpeg.h" |
| +#include "SkImageDecoder_libwebp.h" |
| +#if !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) |
| +#include "SkImageDecoder_ktx.h" |
| +#endif |
| +#if defined(SK_BUILD_FOR_WIN) |
| +#include "SkImageDecoder_WIC.h" |
| +#endif |
| +#if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) |
| +#include "SkImageDecoder_CG.h" |
| +#endif |
| SkImageEncoder* SkImageEncoder::Create(Type t) { |
| SkImageEncoder* codec = NULL; |
| - const SkImageEncoder_EncodeReg* curr = SkImageEncoder_EncodeReg::Head(); |
| - while (curr) { |
| - if ((codec = curr->factory()(t)) != NULL) { |
| - return codec; |
| - } |
| - curr = curr->next(); |
| +#if defined(SK_BUILD_FOR_WIN) |
|
Kimmo Kinnunen
2014/10/20 14:03:39
I can double-check the encoder order and fix poten
scroggo
2014/11/12 18:00:13
FYI, we have compile bots for windows and mac that
Kimmo Kinnunen
2014/11/18 08:29:45
I know, but I don't have access to run the bots ma
scroggo
2014/11/18 16:52:23
That's annoying. Sorry, I didn't realize you could
|
| + if ((codec = SkCreateImageEncoder_WIC(t)) != NULL) { |
| + return codec; |
| } |
| +#endif |
| +#if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) |
| + if ((codec = SkCreateImageEncoder_CG(t)) != NULL) { |
| + return codec; |
| + } |
| +#endif |
| +#if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_IOS) && !defined(SK_BUILD_FOR_WIN) |
| + if ((codec = SkCreatePNGImageEncoder(t)) != NULL) { |
| + return codec; |
| + } |
| +#endif |
| + if ((codec = SkCreateJPEGImageEncoder(t)) != NULL) { |
| + return codec; |
| + } |
| + if ((codec = SkCreateWEBPImageEncoder(t)) != NULL) { |
| + return codec; |
| + } |
| +#if !defined(SK_BUILD_FOR_ANDROID_FRAMEWORK) |
| + if ((codec = SkCreateKTXImageEncoder(t)) != NULL) { |
| + return codec; |
| + } |
| +#endif |
| + |
| return NULL; |
| } |