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
constexpr bool AreAllCornersCircular() 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.