Computes the intersection of this
and other
.
The intersection of two axis-aligned rectangles, if any, is always another axis-aligned rectangle.
Returns the intersection of this and other
, or null if they don't
intersect.
Source
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; }