Home | History | Annotate | Download | only in images
      1 /*
      2  * Copyright 2013 Google Inc.
      3  *
      4  * Use of this source code is governed by a BSD-style license that can be
      5  * found in the LICENSE file.
      6  */
      7 
      8 #include "SkForceLinking.h"
      9 #include "SkImageDecoder.h"
     10 
     11 // This method is required to fool the linker into not discarding the pre-main
     12 // initialization and registration of the decoder classes. Passing true will
     13 // cause memory leaks.
     14 int SkForceLinking(bool doNotPassTrue) {
     15     if (doNotPassTrue) {
     16         SkASSERT(false);
     17         CreateJPEGImageDecoder();
     18         CreateWEBPImageDecoder();
     19         CreateBMPImageDecoder();
     20         CreateICOImageDecoder();
     21         CreateWBMPImageDecoder();
     22         // Only link GIF and PNG on platforms that build them. See images.gyp
     23 #if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_NACL) \
     24         && !defined(SK_BUILD_FOR_IOS)
     25         CreateGIFImageDecoder();
     26 #endif
     27 #if !defined(SK_BUILD_FOR_MAC) && !defined(SK_BUILD_FOR_WIN) && !defined(SK_BUILD_FOR_IOS)
     28         CreatePNGImageDecoder();
     29 #endif
     30         return -1;
     31     }
     32     return 0;
     33 }
     34