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

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

Issue 289283004: Add ability to constrain dominant color selection to a HSL range. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase, fix nits Created 6 years, 7 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 | Annotate | Revision Log
OLDNEW
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_UTILS_H_ 5 #ifndef UI_GFX_COLOR_UTILS_H_
6 #define UI_GFX_COLOR_UTILS_H_ 6 #define UI_GFX_COLOR_UTILS_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "third_party/skia/include/core/SkColor.h" 9 #include "third_party/skia/include/core/SkColor.h"
10 #include "ui/gfx/gfx_export.h" 10 #include "ui/gfx/gfx_export.h"
(...skipping 11 matching lines...) Expand all
22 22
23 GFX_EXPORT unsigned char GetLuminanceForColor(SkColor color); 23 GFX_EXPORT unsigned char GetLuminanceForColor(SkColor color);
24 24
25 // Calculated according to http://www.w3.org/TR/WCAG20/#relativeluminancedef 25 // Calculated according to http://www.w3.org/TR/WCAG20/#relativeluminancedef
26 GFX_EXPORT double RelativeLuminance(SkColor color); 26 GFX_EXPORT double RelativeLuminance(SkColor color);
27 27
28 // Note: these transformations assume sRGB as the source color space 28 // Note: these transformations assume sRGB as the source color space
29 GFX_EXPORT void SkColorToHSL(SkColor c, HSL* hsl); 29 GFX_EXPORT void SkColorToHSL(SkColor c, HSL* hsl);
30 GFX_EXPORT SkColor HSLToSkColor(const HSL& hsl, SkAlpha alpha); 30 GFX_EXPORT SkColor HSLToSkColor(const HSL& hsl, SkAlpha alpha);
31 31
32 // Determines whether the given |hsl| falls within the given range for each
33 // component. All components of |hsl| are expected to be in the range [0, 1].
34 //
35 // If a component is negative in either |lower_bound| or |upper_bound|, that
36 // component will be ignored.
37 //
38 // For hue, the lower bound should be in the range [0, 1] and the upper bound
39 // should be in the range [(lower bound), (lower bound + 1)].
40 // For saturation and value, bounds should be specified in the range [0, 1],
41 // with the lower bound less than the upper bound.
42 GFX_EXPORT bool IsWithinHSLRange(const HSL& hsl,
43 const HSL& lower_bound,
44 const HSL& upper_bound);
45
32 // HSL-Shift an SkColor. The shift values are in the range of 0-1, with the 46 // HSL-Shift an SkColor. The shift values are in the range of 0-1, with the
33 // option to specify -1 for 'no change'. The shift values are defined as: 47 // option to specify -1 for 'no change'. The shift values are defined as:
34 // hsl_shift[0] (hue): The absolute hue value - 0 and 1 map 48 // hsl_shift[0] (hue): The absolute hue value - 0 and 1 map
35 // to 0 and 360 on the hue color wheel (red). 49 // to 0 and 360 on the hue color wheel (red).
36 // hsl_shift[1] (saturation): A saturation shift, with the 50 // hsl_shift[1] (saturation): A saturation shift, with the
37 // following key values: 51 // following key values:
38 // 0 = remove all color. 52 // 0 = remove all color.
39 // 0.5 = leave unchanged. 53 // 0.5 = leave unchanged.
40 // 1 = fully saturate the image. 54 // 1 = fully saturate the image.
41 // hsl_shift[2] (lightness): A lightness shift, with the 55 // hsl_shift[2] (lightness): A lightness shift, with the
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 88
75 // Invert a color. 89 // Invert a color.
76 GFX_EXPORT SkColor InvertColor(SkColor color); 90 GFX_EXPORT SkColor InvertColor(SkColor color);
77 91
78 // Gets a Windows system color as a SkColor 92 // Gets a Windows system color as a SkColor
79 GFX_EXPORT SkColor GetSysSkColor(int which); 93 GFX_EXPORT SkColor GetSysSkColor(int which);
80 94
81 } // namespace color_utils 95 } // namespace color_utils
82 96
83 #endif // UI_GFX_COLOR_UTILS_H_ 97 #endif // UI_GFX_COLOR_UTILS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698