25 lines
615 B
JavaScript
25 lines
615 B
JavaScript
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})`;
|
|
}
|