aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rect.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rect.coffee')
-rw-r--r--lib/rect.coffee9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/rect.coffee b/lib/rect.coffee
index 0c67d287..d4807cc2 100644
--- a/lib/rect.coffee
+++ b/lib/rect.coffee
@@ -82,5 +82,14 @@ Rect =
@create (Math.max rect1.left, rect2.left), (Math.max rect1.top, rect2.top),
(Math.min rect1.right, rect2.right), (Math.min rect1.bottom, rect2.bottom)
+ # Determine whether two rects overlap.
+ rectsOverlap: do ->
+ halfOverlapChecker = (rect1, rect2) ->
+ (rect1.left <= rect2.left <= rect1.right or rect1.left <= rect2.right <= rect1.right) and
+ (rect1.top <= rect2.top <= rect1.bottom or rect1.top <= rect2.bottom <= rect1.bottom)
+
+ (rect1, rect2) ->
+ halfOverlapChecker(rect1, rect2) or halfOverlapChecker rect2, rect1
+
root = exports ? window
root.Rect = Rect