diff options
author | 2016-08-16 15:11:24 -0700 | |
---|---|---|
committer | 2016-08-16 15:11:24 -0700 | |
commit | 36931c2b47f81db7ccf441937567c6fda72ad3e6 (patch) | |
tree | 9035684869f37b989ad73dc18e684b670d7e2b46 /src | |
parent | db085ab30f58928623447676c46d6bd7a8cc2255 (diff) |
Add test for platform encoders, turn off platform encoders by default
Clients that like WIC and CG can still use them. And we can be
confident about that, since we now test WIC and CG.
Let Skia always use our own encoders by default, so we can do cool,
custom things on all platforms.
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2250683003
Review-Url: https://codereview.chromium.org/2250683003
Diffstat (limited to 'src')
-rw-r--r-- | src/images/SkForceLinking.cpp | 20 | ||||
-rw-r--r-- | src/ports/SkImageEncoder_CG.cpp | 13 | ||||
-rw-r--r-- | src/ports/SkImageEncoder_WIC.cpp | 18 |
3 files changed, 19 insertions, 32 deletions
diff --git a/src/images/SkForceLinking.cpp b/src/images/SkForceLinking.cpp index 2afe7192a9..81d485c882 100644 --- a/src/images/SkForceLinking.cpp +++ b/src/images/SkForceLinking.cpp @@ -14,28 +14,26 @@ int SkForceLinking(bool doNotPassTrue) { if (doNotPassTrue) { SkASSERT(false); -#if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_IOS) && \ - defined(SK_HAS_JPEG_LIBRARY) +#if defined(SK_HAS_JPEG_LIBRARY) && !defined(SK_USE_CG_ENCODER) && !defined(SK_USE_WIC_ENCODER) CreateJPEGImageEncoder(); #endif -#if defined(SK_HAS_WEBP_LIBRARY) +#if defined(SK_HAS_WEBP_LIBRARY) && !defined(SK_USE_CG_ENCODER) && !defined(SK_USE_WIC_ENCODER) CreateWEBPImageEncoder(); #endif +#if defined(SK_HAS_PNG_LIBRARY) && !defined(SK_USE_CG_ENCODER) && !defined(SK_USE_WIC_ENCODER) + CreatePNGImageEncoder(); +#endif // Only link hardware texture codecs on platforms that build them. See images.gyp #ifndef SK_BUILD_FOR_ANDROID_FRAMEWORK CreateKTXImageEncoder(); #endif -#if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_IOS) && \ - defined(SK_HAS_PNG_LIBRARY) - CreatePNGImageEncoder(); -#endif -#if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) - CreatePNGImageEncoder_CG(); +#if defined (SK_USE_CG_ENCODER) + CreateImageEncoder_CG(SkImageEncoder::kPNG_Type); #endif -#if defined(SK_BUILD_FOR_WIN) - CreateImageEncoder_WIC(); +#if defined (SK_USE_WIC_ENCODER) + CreateImageEncoder_WIC(SkImageEncoder::kPNG_Type); #endif return -1; } diff --git a/src/ports/SkImageEncoder_CG.cpp b/src/ports/SkImageEncoder_CG.cpp index 5b217e62ec..789285626c 100644 --- a/src/ports/SkImageEncoder_CG.cpp +++ b/src/ports/SkImageEncoder_CG.cpp @@ -126,6 +126,7 @@ bool SkImageEncoder_CG::onEncode(SkWStream* stream, const SkBitmap& bm, /////////////////////////////////////////////////////////////////////////////// +#ifdef SK_USE_CG_ENCODER static SkImageEncoder* sk_imageencoder_cg_factory(SkImageEncoder::Type t) { switch (t) { case SkImageEncoder::kICO_Type: @@ -141,14 +142,10 @@ static SkImageEncoder* sk_imageencoder_cg_factory(SkImageEncoder::Type t) { } static SkImageEncoder_EncodeReg gEReg(sk_imageencoder_cg_factory); +#endif -class SkPNGImageEncoder_CG : public SkImageEncoder_CG { -public: - SkPNGImageEncoder_CG() - : SkImageEncoder_CG(kPNG_Type) { - } -}; - -DEFINE_ENCODER_CREATOR(PNGImageEncoder_CG); +SkImageEncoder* CreateImageEncoder_CG(SkImageEncoder::Type type) { + return new SkImageEncoder_CG(type); +} #endif//defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS) diff --git a/src/ports/SkImageEncoder_WIC.cpp b/src/ports/SkImageEncoder_WIC.cpp index 9be95727ca..6524526bdb 100644 --- a/src/ports/SkImageEncoder_WIC.cpp +++ b/src/ports/SkImageEncoder_WIC.cpp @@ -50,10 +50,6 @@ class SkImageEncoder_WIC : public SkImageEncoder { public: SkImageEncoder_WIC(Type t) : fType(t) {} - // DO NOT USE this constructor. This exists only so SkForceLinking can - // link the WIC image encoder. - SkImageEncoder_WIC() {} - protected: virtual bool onEncode(SkWStream* stream, const SkBitmap& bm, int quality); @@ -67,12 +63,6 @@ bool SkImageEncoder_WIC::onEncode(SkWStream* stream { GUID type; switch (fType) { - case kBMP_Type: - type = GUID_ContainerFormatBmp; - break; - case kICO_Type: - type = GUID_ContainerFormatIco; - break; case kJPEG_Type: type = GUID_ContainerFormatJpeg; break; @@ -228,10 +218,9 @@ bool SkImageEncoder_WIC::onEncode(SkWStream* stream /////////////////////////////////////////////////////////////////////////////// +#ifdef SK_USE_WIC_ENCODER static SkImageEncoder* sk_imageencoder_wic_factory(SkImageEncoder::Type t) { switch (t) { - case SkImageEncoder::kBMP_Type: - case SkImageEncoder::kICO_Type: case SkImageEncoder::kPNG_Type: case SkImageEncoder::kJPEG_Type: break; @@ -242,7 +231,10 @@ static SkImageEncoder* sk_imageencoder_wic_factory(SkImageEncoder::Type t) { } static SkImageEncoder_EncodeReg gEReg(sk_imageencoder_wic_factory); +#endif -DEFINE_ENCODER_CREATOR(ImageEncoder_WIC); +SkImageEncoder* CreateImageEncoder_WIC(SkImageEncoder::Type type) { + return new SkImageEncoder_WIC(type); +} #endif // defined(SK_BUILD_FOR_WIN32) |