/* * Copyright 2013 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #include "SkImageEncoder.h" #include "SkForceLinking.h" // This method is required to fool the linker into not discarding the pre-main // initialization and registration of the encoder classes. Passing true will // cause memory leaks. int SkForceLinking(bool doNotPassTrue) { if (doNotPassTrue) { SkASSERT(false); #if defined(SK_HAS_JPEG_LIBRARY) && !defined(SK_USE_CG_ENCODER) && !defined(SK_USE_WIC_ENCODER) CreateJPEGImageEncoder(); #endif #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_USE_CG_ENCODER) CreateImageEncoder_CG(SkImageEncoder::kPNG_Type); #endif #if defined (SK_USE_WIC_ENCODER) CreateImageEncoder_WIC(SkImageEncoder::kPNG_Type); #endif return -1; } return 0; }