Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(415)

Side by Side Diff: ui/gfx/skia_color_space_util.h

Issue 2742613002: color: Always use parametric color spaces for raster (Closed)
Patch Set: Incorporate review feedback Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/gfx/icc_profile_unittest.cc ('k') | ui/gfx/skia_color_space_util.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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_
OLDNEW
« no previous file with comments | « ui/gfx/icc_profile_unittest.cc ('k') | ui/gfx/skia_color_space_util.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698