Source code

Revision control

Copy as Markdown

Other Tools

function rectMaxY(rect) {
return rect.height + rect.y;
}
function rectMaxX(rect) {
return rect.width + rect.x;
}
function isEmptyRect(rect) {
return !rect.width || !rect.height;
}
// Returns true if the given rectangles intersect.
function rects_intersect(rect1, rect2) {
if (isEmptyRect(rect1) || isEmptyRect(rect2))
return false;
return rect1.x < rectMaxX(rect2) &&
rect2.x < rectMaxX(rect1) &&
rect1.y < rectMaxY(rect2) &&
rect2.y < rectMaxY(rect1);
}
function rectToString(rect) {
return `Location: (${rect.x}, ${rect.y}) Size: (${rect.width}, ${rect.height})`;
}