OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef UI_GFX_CODEC_PNG_CODEC_H_ | 5 #ifndef UI_GFX_CODEC_PNG_CODEC_H_ |
6 #define UI_GFX_CODEC_PNG_CODEC_H_ | 6 #define UI_GFX_CODEC_PNG_CODEC_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
110 int* w, int* h); | 110 int* w, int* h); |
111 | 111 |
112 // Decodes the PNG data directly into the passed in SkBitmap. This is | 112 // Decodes the PNG data directly into the passed in SkBitmap. This is |
113 // significantly faster than the vector<unsigned char> version of Decode() | 113 // significantly faster than the vector<unsigned char> version of Decode() |
114 // above when dealing with PNG files that are >500K, which a lot of theme | 114 // above when dealing with PNG files that are >500K, which a lot of theme |
115 // images are. (There are a lot of themes that have a NTP image of about ~1 | 115 // images are. (There are a lot of themes that have a NTP image of about ~1 |
116 // megabyte, and those require a 7-10 megabyte side buffer.) | 116 // megabyte, and those require a 7-10 megabyte side buffer.) |
117 // | 117 // |
118 // Returns true if data is non-null and can be decoded as a png, false | 118 // Returns true if data is non-null and can be decoded as a png, false |
119 // otherwise. | 119 // otherwise. |
| 120 // |
| 121 // If the call succeeds and |fell_back_to_1x| is not NULL, it is set to true |
| 122 // if Chrome's custom csCl PNG chunk is present (indicating that GRIT fell |
| 123 // back to the 100% image), false if not. |
| 124 static bool Decode(const unsigned char* input, size_t input_size, |
| 125 SkBitmap* bitmap, bool* fell_back_to_1x); |
| 126 |
| 127 // Equivalent to Decode(input, input_size, bitmap, NULL), for clients that |
| 128 // don't need fell_back_to_1x returned (which is most clients). |
120 static bool Decode(const unsigned char* input, size_t input_size, | 129 static bool Decode(const unsigned char* input, size_t input_size, |
121 SkBitmap* bitmap); | 130 SkBitmap* bitmap); |
122 | 131 |
123 // Create a SkBitmap from a decoded BGRA DIB. The caller owns the returned | 132 // Create a SkBitmap from a decoded BGRA DIB. The caller owns the returned |
124 // SkBitmap. | 133 // SkBitmap. |
125 static SkBitmap* CreateSkBitmapFromBGRAFormat( | 134 static SkBitmap* CreateSkBitmapFromBGRAFormat( |
126 std::vector<unsigned char>& bgra, int width, int height); | 135 std::vector<unsigned char>& bgra, int width, int height); |
127 | 136 |
128 private: | 137 private: |
129 DISALLOW_COPY_AND_ASSIGN(PNGCodec); | 138 DISALLOW_COPY_AND_ASSIGN(PNGCodec); |
130 }; | 139 }; |
131 | 140 |
132 } // namespace gfx | 141 } // namespace gfx |
133 | 142 |
134 #endif // UI_GFX_CODEC_PNG_CODEC_H_ | 143 #endif // UI_GFX_CODEC_PNG_CODEC_H_ |
OLD | NEW |