MutableRectangle<T extends num>.fromPoints 构造函数

MutableRectangle<T extends num>.fromPoints(
  1. Point<T> a,
  2. Point<T> b
)

创建由点 ab 张开的可变矩形;

该矩形包含 x 坐标在 a.xb.x 之间、y 坐标在 a.yb.y 之间的点,两者都包含。

如果 a.xb.x 之间的距离无法表示(如果其中一个或两个是双精度浮点数,则可能发生这种情况),则实际右侧边缘可能略微偏离 max(a.x, b.x)。y 坐标和底部边缘类似。

示例

var leftTop = const Point(20, 50);
var rightBottom = const Point(300, 600);
var rectangle = MutableRectangle.fromPoints(leftTop, rightBottom);
print(rectangle); // Rectangle (20, 50) 280 x 550
print(rectangle.left); // 20
print(rectangle.top); // 50
print(rectangle.right); // 300
print(rectangle.bottom); // 600

实现

factory MutableRectangle.fromPoints(Point<T> a, Point<T> b) {
  T left = min(a.x, b.x);
  T width = (max(a.x, b.x) - left) as T;
  T top = min(a.y, b.y);
  T height = (max(a.y, b.y) - top) as T;
  return MutableRectangle<T>(left, top, width, height);
}