OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_COLOR_SPACE_H_ | 5 #ifndef UI_GFX_COLOR_SPACE_H_ |
6 #define UI_GFX_COLOR_SPACE_H_ | 6 #define UI_GFX_COLOR_SPACE_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 #include <ostream> | 9 #include <ostream> |
10 | 10 |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
158 bool IsHDR() const; | 158 bool IsHDR() const; |
159 | 159 |
160 // Return this color space with any range adjust or YUV to RGB conversion | 160 // Return this color space with any range adjust or YUV to RGB conversion |
161 // stripped off. | 161 // stripped off. |
162 gfx::ColorSpace GetAsFullRangeRGB() const; | 162 gfx::ColorSpace GetAsFullRangeRGB() const; |
163 | 163 |
164 // This will return nullptr for non-RGB spaces, spaces with non-FULL | 164 // This will return nullptr for non-RGB spaces, spaces with non-FULL |
165 // range, and unspecified spaces. | 165 // range, and unspecified spaces. |
166 sk_sp<SkColorSpace> ToSkColorSpace() const; | 166 sk_sp<SkColorSpace> ToSkColorSpace() const; |
167 | 167 |
168 // Return an SkColorSpace that represents this color space, with output-space | |
169 // blending (which is only linear for color spaces with a linear tranasfer | |
170 // function). | |
171 sk_sp<SkColorSpace> ToNonlinearBlendedSkColorSpace() const; | |
172 | |
173 // Populate |icc_profile| with an ICC profile that represents this color | 168 // Populate |icc_profile| with an ICC profile that represents this color |
174 // space. Returns false if this space is not representable. | 169 // space. Returns false if this space is not representable. |
175 bool GetICCProfile(ICCProfile* icc_profile) const; | 170 bool GetICCProfile(ICCProfile* icc_profile) const; |
176 | 171 |
177 void GetPrimaryMatrix(SkMatrix44* to_XYZD50) const; | 172 void GetPrimaryMatrix(SkMatrix44* to_XYZD50) const; |
178 bool GetTransferFunction(SkColorSpaceTransferFn* fn) const; | 173 bool GetTransferFunction(SkColorSpaceTransferFn* fn) const; |
179 bool GetInverseTransferFunction(SkColorSpaceTransferFn* fn) const; | 174 bool GetInverseTransferFunction(SkColorSpaceTransferFn* fn) const; |
180 | 175 |
181 // For most formats, this is the RGB to YUV matrix. | 176 // For most formats, this is the RGB to YUV matrix. |
182 void GetTransferMatrix(SkMatrix44* matrix) const; | 177 void GetTransferMatrix(SkMatrix44* matrix) const; |
(...skipping 30 matching lines...) Expand all Loading... |
213 FRIEND_TEST_ALL_PREFIXES(SimpleColorSpace, GetColorSpace); | 208 FRIEND_TEST_ALL_PREFIXES(SimpleColorSpace, GetColorSpace); |
214 }; | 209 }; |
215 | 210 |
216 // Stream operator so ColorSpace can be used in assertion statements. | 211 // Stream operator so ColorSpace can be used in assertion statements. |
217 GFX_EXPORT std::ostream& operator<<(std::ostream& out, | 212 GFX_EXPORT std::ostream& operator<<(std::ostream& out, |
218 const ColorSpace& color_space); | 213 const ColorSpace& color_space); |
219 | 214 |
220 } // namespace gfx | 215 } // namespace gfx |
221 | 216 |
222 #endif // UI_GFX_COLOR_SPACE_H_ | 217 #endif // UI_GFX_COLOR_SPACE_H_ |
OLD | NEW |