10 if (!std::isfinite(
x) || !std::isfinite(
y)) {
13 if (
x >= min_x_ && x < max_x_ && y >= min_y_ &&
y < max_y_) {
57 if (ar.min_x_ < max_x_ && ar.max_x_ > min_x_ &&
58 ar.min_y_ < max_y_ && ar.max_y_ > min_y_) {
61 if (min_x_ > ar.min_x_) {
64 if (min_y_ > ar.min_y_) {
67 if (max_x_ < ar.max_x_) {
70 if (max_y_ < ar.max_y_) {
76 return (max_x_ >= min_x_ && max_y_ >= min_y_)
82 min_x_ = std::numeric_limits<DlScalar>::infinity();
83 min_y_ = std::numeric_limits<DlScalar>::infinity();
84 max_x_ = -std::numeric_limits<DlScalar>::infinity();
85 max_y_ = -std::numeric_limits<DlScalar>::infinity();
86 overlap_detected_ =
false;
void record_overlapping_bounds()
void accumulate(DlScalar x, DlScalar y)
impeller::Scalar DlScalar
constexpr auto GetBottom() const
constexpr auto GetTop() const
constexpr bool IsEmpty() const
Returns true if either of the width or height are 0, negative, or NaN.
constexpr auto GetLeft() const
constexpr auto GetRight() const
static constexpr TRect MakeLTRB(Type left, Type top, Type right, Type bottom)