| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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_SKIA_COLOR_SPACE_UTIL_H_ | 5 #ifndef UI_GFX_SKIA_COLOR_SPACE_UTIL_H_ |
| 6 #define UI_GFX_SKIA_COLOR_SPACE_UTIL_H_ | 6 #define UI_GFX_SKIA_COLOR_SPACE_UTIL_H_ |
| 7 | 7 |
| 8 #include "third_party/skia/include/core/SkColorSpace.h" | 8 #include "third_party/skia/include/core/SkColorSpace.h" |
| 9 #include "third_party/skia/include/core/SkICC.h" |
| 9 #include "ui/gfx/gfx_export.h" | 10 #include "ui/gfx/gfx_export.h" |
| 10 | 11 |
| 11 namespace gfx { | 12 namespace gfx { |
| 12 | 13 |
| 13 float GFX_EXPORT SkTransferFnEval(const SkColorSpaceTransferFn& fn, float x); | 14 float GFX_EXPORT SkTransferFnEval(const SkColorSpaceTransferFn& fn, float x); |
| 14 | 15 |
| 15 SkColorSpaceTransferFn GFX_EXPORT | 16 SkColorSpaceTransferFn GFX_EXPORT |
| 16 SkTransferFnInverse(const SkColorSpaceTransferFn& fn); | 17 SkTransferFnInverse(const SkColorSpaceTransferFn& fn); |
| 17 | 18 |
| 18 bool GFX_EXPORT | 19 bool GFX_EXPORT |
| 19 SkTransferFnsApproximatelyCancel(const SkColorSpaceTransferFn& a, | 20 SkTransferFnsApproximatelyCancel(const SkColorSpaceTransferFn& a, |
| 20 const SkColorSpaceTransferFn& b); | 21 const SkColorSpaceTransferFn& b); |
| 21 | 22 |
| 22 bool GFX_EXPORT | 23 bool GFX_EXPORT |
| 23 SkTransferFnIsApproximatelyIdentity(const SkColorSpaceTransferFn& fn); | 24 SkTransferFnIsApproximatelyIdentity(const SkColorSpaceTransferFn& fn); |
| 24 | 25 |
| 25 // Approximates the |n| points in |x| and |t| by the transfer function |fn|. | 26 // Approximates the |n| points in |x| and |t| by the transfer function |fn|. |
| 26 // Returns true if the approximation converged. | 27 // Returns true if the approximation converged. |
| 27 bool GFX_EXPORT SkApproximateTransferFn(const float* x, | 28 bool GFX_EXPORT SkApproximateTransferFn(const float* x, |
| 28 const float* t, | 29 const float* t, |
| 29 size_t n, | 30 size_t n, |
| 30 SkColorSpaceTransferFn* fn); | 31 SkColorSpaceTransferFn* fn); |
| 31 | 32 |
| 33 // Approximates |sk_icc| by the transfer function |fn|. Returns in |max_error| |
| 34 // the maximum pointwise of all color channels' transfer functions with |fn|. |
| 35 // Returns false if no approximation was possible, or no approximation |
| 36 // converged. |
| 37 bool GFX_EXPORT SkApproximateTransferFn(sk_sp<SkICC> sk_icc, |
| 38 float* max_error, |
| 39 SkColorSpaceTransferFn* fn); |
| 40 |
| 32 bool GFX_EXPORT SkMatrixIsApproximatelyIdentity(const SkMatrix44& m); | 41 bool GFX_EXPORT SkMatrixIsApproximatelyIdentity(const SkMatrix44& m); |
| 33 | 42 |
| 34 } // namespace gfx | 43 } // namespace gfx |
| 35 | 44 |
| 36 #endif // UI_GFX_SKIA_COLOR_SPACE_UTIL_H_ | 45 #endif // UI_GFX_SKIA_COLOR_SPACE_UTIL_H_ |
| OLD | NEW |