123456789101112131415161718192021222324252627282930313233343536 |
- // Copyright (c) 2024 Salesforce, Inc.
- // Use of this source code is governed by the MIT license that can be
- // found in the LICENSE file.
- #ifndef ELECTRON_SHELL_RENDERER_API_ELECTRON_SMOOTH_ROUND_RECT_H_
- #define ELECTRON_SHELL_RENDERER_API_ELECTRON_SMOOTH_ROUND_RECT_H_
- #include "third_party/skia/include/core/SkPath.h"
- namespace electron {
- // Draws a rectangle that has smooth round corners for a given "smoothness"
- // value between 0.0 and 1.0 (representing 0% to 100%).
- //
- // The smoothness value determines how much edge length can be consumed by each
- // corner, scaling with respect to that corner's radius. The smoothness will
- // dynamically scale back if there is not enough edge length, similar to how
- // the corner radius backs off when there isn't enough edge length.
- //
- // Each corner's radius can be supplied independently. Corner radii are expected
- // to already be balanced (Radius1 + Radius2 <= Length, for each given side).
- //
- // Elliptical corner radii are not currently supported.
- SkPath DrawSmoothRoundRect(float x,
- float y,
- float width,
- float height,
- float smoothness,
- float top_left_radius,
- float top_right_radius,
- float bottom_right_radius,
- float bottom_left_radius);
- } // namespace electron
- #endif // ELECTRON_SHELL_RENDERER_API_ELECTRON_SMOOTH_ROUND_RECT_H_
|