|  | // Copyright 2022 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_GFX_MONOGRAM_UTILS_H_ | 
|  | #define UI_GFX_MONOGRAM_UTILS_H_ | 
|  |  | 
|  | #include <string> | 
|  | #include <string_view> | 
|  | #include <vector> | 
|  |  | 
|  | #include "base/component_export.h" | 
|  | #include "third_party/skia/include/core/SkColor.h" | 
|  |  | 
|  | namespace gfx { | 
|  | class Canvas; | 
|  |  | 
|  | // Draws a monogram in a colored circle on the passed-in `canvas`. | 
|  | // `monogram_text` is a string in order to support 2 letter monograms. | 
|  | // | 
|  | // TODO(https://crbug.com/421202274): This is duplicative of | 
|  | // chrome/browser/shortcuts/shortcut_icon_generator.h which also draws a letter | 
|  | // in a shape; figure out how to be less redundant. | 
|  | COMPONENT_EXPORT(GFX) | 
|  | void DrawMonogramInCanvas(Canvas* canvas, | 
|  | int canvas_size, | 
|  | int circle_size, | 
|  | std::u16string_view monogram_text, | 
|  | const std::vector<std::string>& font_names, | 
|  | SkColor monogram_color, | 
|  | SkColor background_color); | 
|  |  | 
|  | }  // namespace gfx | 
|  |  | 
|  | #endif  // UI_GFX_MONOGRAM_UTILS_H_ |