Index: components/wallpaper/wallpaper_color_calculator.h |
diff --git a/components/wallpaper/wallpaper_color_calculator.h b/components/wallpaper/wallpaper_color_calculator.h |
index c59c12e7139384e02317bdd099c5ae515ba95f0c..6862dee1e6db185ab69f4964c40f8d96152964f6 100644 |
--- a/components/wallpaper/wallpaper_color_calculator.h |
+++ b/components/wallpaper/wallpaper_color_calculator.h |
@@ -12,25 +12,28 @@ |
#include "base/time/time.h" |
#include "components/wallpaper/wallpaper_export.h" |
#include "third_party/skia/include/core/SkColor.h" |
-#include "ui/gfx/color_analysis.h" |
#include "ui/gfx/image/image_skia.h" |
namespace base { |
class TaskRunner; |
} |
+namespace color_utils { |
+struct ColorProfile; |
+} |
+ |
namespace wallpaper { |
class WallpaperColorCalculatorObserver; |
// Calculates colors based on a wallpaper image. |
class WALLPAPER_EXPORT WallpaperColorCalculator { |
public: |
- // |image|, |luma| and |saturation| are the input parameters to the color |
- // calculation that is executed on the |task_runner|. |
- WallpaperColorCalculator(const gfx::ImageSkia& image, |
- color_utils::LumaRange luma, |
- color_utils::SaturationRange saturation, |
- scoped_refptr<base::TaskRunner> task_runner); |
+ // |image|, |color_profiles| are the input parameters to the color calculation |
+ // that is executed on the |task_runner|. |
+ WallpaperColorCalculator( |
+ const gfx::ImageSkia& image, |
+ const std::vector<color_utils::ColorProfile>& color_profiles, |
+ scoped_refptr<base::TaskRunner> task_runner); |
~WallpaperColorCalculator(); |
void AddObserver(WallpaperColorCalculatorObserver* observer); |
@@ -42,10 +45,11 @@ class WALLPAPER_EXPORT WallpaperColorCalculator { |
// Callers should be aware that this will make |image_| read-only. |
bool StartCalculation() WARN_UNUSED_RESULT; |
- SkColor prominent_color() const { return prominent_color_; } |
+ std::vector<SkColor> prominent_colors() const { return prominent_colors_; } |
- void set_prominent_color_for_test(SkColor prominent_color) { |
- prominent_color_ = prominent_color; |
+ void set_prominent_colors_for_test( |
+ const std::vector<SkColor>& prominent_colors) { |
+ prominent_colors_ = prominent_colors; |
} |
// Explicitly sets the |task_runner_| for testing. |
@@ -55,23 +59,20 @@ class WALLPAPER_EXPORT WallpaperColorCalculator { |
// Handles asynchronous calculation results. |async_start_time| is used to |
// record duration metrics. |
void OnAsyncCalculationComplete(base::TimeTicks async_start_time, |
- SkColor prominent_color); |
+ const std::vector<SkColor>& prominent_colors); |
// Notifies observers that a color calulation has completed. Called on the |
// same thread that constructed |this|. |
- void NotifyCalculationComplete(SkColor prominent_color); |
+ void NotifyCalculationComplete(const std::vector<SkColor>& prominent_colors); |
// The result of the color calculation. |
- SkColor prominent_color_ = SK_ColorTRANSPARENT; |
+ std::vector<SkColor> prominent_colors_; |
// The image to calculate colors from. |
gfx::ImageSkia image_; |
- // Input for the color calculation. |
- color_utils::LumaRange luma_; |
- |
- // Input for the color calculation. |
- color_utils::SaturationRange saturation_; |
+ // The color profiles used to calculate colors. |
+ std::vector<color_utils::ColorProfile> color_profiles_; |
// The task runner to run the calculation on. |
scoped_refptr<base::TaskRunner> task_runner_; |