5#ifndef FLUTTER_IMPELLER_GEOMETRY_ROUNDING_RADII_H_
6#define FLUTTER_IMPELLER_GEOMETRY_ROUNDING_RADII_H_
25 return {radii, radii, radii, radii};
34 .top_right =
Size{right, top},
35 .bottom_left =
Size(left, bottom),
36 .bottom_right =
Size(right, bottom),
constexpr float kEhCloseEnough
constexpr bool ScalarNearlyEqual(Scalar x, Scalar y, Scalar tolerance=kEhCloseEnough)
std::ostream & operator<<(std::ostream &out, const impeller::Arc &a)
constexpr bool operator==(const RoundingRadii &rr) const
static constexpr RoundingRadii MakeRadii(Size radii)
constexpr bool AreAllCornersEmpty() const
constexpr bool IsFinite() const
static constexpr RoundingRadii MakeNinePatch(Scalar left, Scalar top, Scalar right, Scalar bottom)
RoundingRadii Scaled(const Rect &bounds) const
Returns a scaled copy of this object, ensuring that the sum of the corner radii on each side does not...
static constexpr RoundingRadii MakeRadius(Scalar radius)
constexpr RoundingRadii operator*(Scalar scale)
constexpr bool AreAllCornersSame(Scalar tolerance=kEhCloseEnough) const
constexpr bool IsEmpty() const
Returns true if either of the width or height are 0, negative, or NaN.