| // 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_VIEWS_CONTROLS_PROGRESS_RING_UTILS_H_ |
| #define UI_VIEWS_CONTROLS_PROGRESS_RING_UTILS_H_ |
| |
| #include "ui/views/view.h" |
| #include "ui/views/views_export.h" |
| |
| namespace views { |
| |
| // Helper function that draws a progress ring on `canvas`. The progress ring |
| // consists of a partial ring that indicates the progress, and the rest of the |
| // ring is stroked with a background color. `start_angle` and `sweep_angle` are |
| // used to indicate the current progress of the ring. |
| VIEWS_EXPORT void DrawProgressRing(gfx::Canvas* canvas, |
| const SkRect& bounds, |
| SkColor background_color, |
| SkColor progress_color, |
| float stroke_width, |
| SkScalar start_angle, |
| SkScalar sweep_angle); |
| |
| // Helper function that draws a spinning ring on `canvas`. The spinning ring |
| // consists of three arches distributed evenly on the ring, with spaces in |
| // between stroked with a background color. `start_angle` is used to indicate |
| // the start angle of the first arch. |
| VIEWS_EXPORT void DrawSpinningRing(gfx::Canvas* canvas, |
| const SkRect& bounds, |
| SkColor background_color, |
| SkColor progress_color, |
| float stroke_width, |
| SkScalar start_angle); |
| |
| } // namespace views |
| |
| #endif // UI_VIEWS_CONTROLS_PROGRESS_RING_UTILS_H_ |