// Copyright 2021 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CHROME_BROWSER_UI_COLOR_CHROME_COLOR_PROVIDER_UTILS_H_ #define CHROME_BROWSER_UI_COLOR_CHROME_COLOR_PROVIDER_UTILS_H_ #include <string> #include "ui/color/color_id.h" #include "ui/color/color_provider_key.h" #include "ui/color/color_transform.h" #include "ui/gfx/color_utils.h" inline constexpr SkAlpha kToolbarInkDropHighlightVisibleAlpha = …; // Converts ColorId if |color_id| is in CHROME_COLOR_IDS. std::string ChromeColorIdName(ui::ColorId color_id); // Returns the tint associated with the given ID either from the custom theme or // the default from ThemeProperties::GetDefaultTint(). color_utils::HSL GetThemeTint(int id, const ui::ColorProviderKey& key); // Computes the "toolbar top separator" color. This color is drawn atop the // frame to separate it from tabs, the toolbar, and the new tab button, as well // as atop background tabs to separate them from other tabs or the toolbar. We // use semitransparent black or white so as to darken or lighten the frame, with // the goal of contrasting with both the frame color and the active tab (i.e. // toolbar) color. (It's too difficult to try to find colors that will contrast // with both of these as well as the background tab color, and contrasting with // the foreground tab is the most important). SkColor GetToolbarTopSeparatorColor(SkColor toolbar_color, SkColor frame_color); // Adjusts the desired highlight color for a toolbar control `fg` for contrast // against the `bg` color. ui::ColorTransform AdjustHighlightColorForContrast(ui::ColorTransform fg, ui::ColorTransform bg); // Returns true if we should apply chrome high contrast colors for the `key`. bool ShouldApplyHighContrastColors(const ui::ColorProviderKey& key); // Returns true if material color overrides should be applied over the top of // chrome color mixer definitions. If false color recipes from the old design // system should be honored. bool ShouldApplyChromeMaterialOverrides(const ui::ColorProviderKey& key); #endif // CHROME_BROWSER_UI_COLOR_CHROME_COLOR_PROVIDER_UTILS_H_