// Copyright 2019 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef UI_COLOR_COLOR_PROVIDER_H_ #define UI_COLOR_COLOR_PROVIDER_H_ #include <forward_list> #include <map> #include <memory> #include <optional> #include "base/component_export.h" #include "third_party/skia/include/core/SkColor.h" #include "ui/color/color_id.h" #include "ui/color/color_mixer.h" namespace ui { // A ColorProvider holds the complete pipeline of ColorMixers that compute // result colors for UI elements. ColorProvider is meant to be a long-lived // object whose internal list of mixers does not change after initial // construction. Separate ColorProviders should be instantiated for e.g. // windows with different themes. // TODO(pkasting): Figure out ownership model and lifetime. class COMPONENT_EXPORT(COLOR) ColorProvider { … }; } // namespace ui #endif // UI_COLOR_COLOR_PROVIDER_H_