• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2016 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 #ifndef SkImageEncoderPriv_DEFINED
9 #define SkImageEncoderPriv_DEFINED
10 
11 #include "SkImageEncoder.h"
12 
13 struct SkEncodeOptions {
14     SkTransferFunctionBehavior fUnpremulBehavior = SkTransferFunctionBehavior::kIgnore;
15 };
16 
17 #ifdef SK_HAS_JPEG_LIBRARY
18     bool SkEncodeImageAsJPEG(SkWStream*, const SkPixmap&, const SkEncodeOptions&);
19     bool SkEncodeImageAsJPEG(SkWStream*, const SkPixmap&, int quality);
20 #else
21     #define SkEncodeImageAsJPEG(...) false
22 #endif
23 
24 #ifdef SK_HAS_PNG_LIBRARY
25     bool SkEncodeImageAsPNG(SkWStream*, const SkPixmap&, const SkEncodeOptions&);
26 #else
27     #define SkEncodeImageAsPNG(...) false
28 #endif
29 
30 #ifdef SK_HAS_WEBP_LIBRARY
31     bool SkEncodeImageAsWEBP(SkWStream*, const SkPixmap&, const SkEncodeOptions&);
32     bool SkEncodeImageAsWEBP(SkWStream*, const SkPixmap&, int quality);
33 #else
34     #define SkEncodeImageAsWEBP(...) false
35 #endif
36 
37 #if defined(SK_BUILD_FOR_MAC) || defined(SK_BUILD_FOR_IOS)
38     bool SkEncodeImageWithCG(SkWStream*, const SkPixmap&, SkEncodedImageFormat);
39 #else
40     #define SkEncodeImageWithCG(...) false
41 #endif
42 
43 #ifdef SK_BUILD_FOR_WIN
44     bool SkEncodeImageWithWIC(SkWStream*, const SkPixmap&, SkEncodedImageFormat, int quality);
45 #else
46     #define SkEncodeImageWithWIC(...) false
47 #endif
48 
49 #endif // SkImageEncoderPriv_DEFINED
50