intersection 方法
计算此对象和 other
的交集。
两个轴对齐矩形的交集(如果有),始终是另一个轴对齐矩形。
返回此对象和 other
的交集,如果没有交集则返回 null。
实现
Rectangle? intersection(Rectangle other) {
var x0 = max(left, other.left);
var x1 = min(left + width, other.left + other.width);
if (x0 <= x1) {
var y0 = max(top, other.top);
var y1 = min(top + height, other.top + other.height);
if (y0 <= y1) {
return new Rectangle(x0, y0, x1 - x0, y1 - y0);
}
}
return null;
}