aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrmr19932017-07-04 12:50:30 +0100
committermrmr19932017-11-01 07:48:39 +0000
commit60ca3238e5e5d35f3ed6acbbadd370f432b746ef (patch)
treefbef3a3857578be9503f65ba28242c85abce1081
parente424bb942b58e5cee3506e42b6f3aa9008eb7b17 (diff)
downloadvimium-60ca3238e5e5d35f3ed6acbbadd370f432b746ef.tar.bz2
Rename Rect.rectOverlaps to Rect.intersectsStrict, clarify the comment
-rw-r--r--content_scripts/link_hints.coffee2
-rw-r--r--lib/rect.coffee10
-rw-r--r--tests/unit_tests/rect_test.coffee22
3 files changed, 17 insertions, 17 deletions
diff --git a/content_scripts/link_hints.coffee b/content_scripts/link_hints.coffee
index 33a876e0..198a64f3 100644
--- a/content_scripts/link_hints.coffee
+++ b/content_scripts/link_hints.coffee
@@ -321,7 +321,7 @@ class LinkHintsMode
rotateHints: do ->
markerOverlapsStack = (marker, stack) ->
for otherMarker in stack
- return true if Rect.rectsOverlap marker.markerRect, otherMarker.markerRect
+ return true if Rect.intersectsStrict marker.markerRect, otherMarker.markerRect
false
->
diff --git a/lib/rect.coffee b/lib/rect.coffee
index 703c640c..0e9c3417 100644
--- a/lib/rect.coffee
+++ b/lib/rect.coffee
@@ -74,6 +74,11 @@ Rect =
rect1.bottom > rect2.top and
rect1.top < rect2.bottom
+ # Determine whether two rects overlap, including 0-width intersections at borders.
+ intersectsStrict: (rect1, rect2) ->
+ rect1.right >= rect2.left and rect1.left <= rect2.right and
+ rect1.bottom >= rect2.top and rect1.top <= rect2.bottom
+
equals: (rect1, rect2) ->
for property in ["top", "bottom", "left", "right", "width", "height"]
return false if rect1[property] != rect2[property]
@@ -83,11 +88,6 @@ 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: (rect1, rect2) ->
- rect1.right >= rect2.left and rect1.left <= rect2.right and
- rect1.bottom >= rect2.top and rect1.top <= rect2.bottom
-
root = exports ? (window.root ?= {})
root.Rect = Rect
extend window, root unless exports?
diff --git a/tests/unit_tests/rect_test.coffee b/tests/unit_tests/rect_test.coffee
index 78985bf8..5054e029 100644
--- a/tests/unit_tests/rect_test.coffee
+++ b/tests/unit_tests/rect_test.coffee
@@ -234,55 +234,55 @@ context "Rect subtraction",
context "Rect overlaps",
should "detect that a rect overlaps itself", ->
rect = Rect.create 2, 2, 4, 4
- assert.isTrue Rect.rectsOverlap rect, rect
+ assert.isTrue Rect.intersectsStrict rect, rect
should "detect that non-overlapping rectangles do not overlap on the left", ->
rect1 = Rect.create 2, 2, 4, 4
rect2 = Rect.create 0, 2, 1, 4
- assert.isFalse Rect.rectsOverlap rect1, rect2
+ assert.isFalse Rect.intersectsStrict rect1, rect2
should "detect that non-overlapping rectangles do not overlap on the right", ->
rect1 = Rect.create 2, 2, 4, 4
rect2 = Rect.create 5, 2, 6, 4
- assert.isFalse Rect.rectsOverlap rect1, rect2
+ assert.isFalse Rect.intersectsStrict rect1, rect2
should "detect that non-overlapping rectangles do not overlap on the top", ->
rect1 = Rect.create 2, 2, 4, 4
rect2 = Rect.create 2, 0, 2, 1
- assert.isFalse Rect.rectsOverlap rect1, rect2
+ assert.isFalse Rect.intersectsStrict rect1, rect2
should "detect that non-overlapping rectangles do not overlap on the bottom", ->
rect1 = Rect.create 2, 2, 4, 4
rect2 = Rect.create 2, 5, 2, 6
- assert.isFalse Rect.rectsOverlap rect1, rect2
+ assert.isFalse Rect.intersectsStrict rect1, rect2
should "detect overlapping rectangles on the left", ->
rect1 = Rect.create 2, 2, 4, 4
rect2 = Rect.create 0, 2, 2, 4
- assert.isTrue Rect.rectsOverlap rect1, rect2
+ assert.isTrue Rect.intersectsStrict rect1, rect2
should "detect overlapping rectangles on the right", ->
rect1 = Rect.create 2, 2, 4, 4
rect2 = Rect.create 4, 2, 5, 4
- assert.isTrue Rect.rectsOverlap rect1, rect2
+ assert.isTrue Rect.intersectsStrict rect1, rect2
should "detect overlapping rectangles on the top", ->
rect1 = Rect.create 2, 2, 4, 4
rect2 = Rect.create 2, 4, 4, 5
- assert.isTrue Rect.rectsOverlap rect1, rect2
+ assert.isTrue Rect.intersectsStrict rect1, rect2
should "detect overlapping rectangles on the bottom", ->
rect1 = Rect.create 2, 2, 4, 4
rect2 = Rect.create 2, 0, 4, 2
- assert.isTrue Rect.rectsOverlap rect1, rect2
+ assert.isTrue Rect.intersectsStrict rect1, rect2
should "detect overlapping rectangles when second rectangle is contained in first", ->
rect1 = Rect.create 1, 1, 4, 4
rect2 = Rect.create 2, 2, 3, 3
- assert.isTrue Rect.rectsOverlap rect1, rect2
+ assert.isTrue Rect.intersectsStrict rect1, rect2
should "detect overlapping rectangles when first rectangle is contained in second", ->
rect1 = Rect.create 1, 1, 4, 4
rect2 = Rect.create 2, 2, 3, 3
- assert.isTrue Rect.rectsOverlap rect2, rect1
+ assert.isTrue Rect.intersectsStrict rect2, rect1