improves the wire tooltips

This commit is contained in:
hneemann 2019-08-11 22:46:30 +02:00
parent a7e75ead6a
commit 58540f28f2
2 changed files with 8 additions and 2 deletions

View File

@ -185,9 +185,9 @@ public class Wire implements Drawable, Movable, ObservableValueReader {
*/
public boolean contains(Vector v, int radius) {
if (p1.x == p2.x)
return Math.abs(p1.x - v.x) < radius && ((p1.y < v.y && v.y < p2.y) || (p2.y < v.y && v.y < p1.y));
return Math.abs(p1.x - v.x) < radius && ((p1.y - radius < v.y && v.y < p2.y + radius) || (p2.y - radius < v.y && v.y < p1.y + radius));
else if (p1.y == p2.y)
return Math.abs(p1.y - v.y) < radius && ((p1.x < v.x && v.x < p2.x) || (p2.x < v.x && v.x < p1.x));
return Math.abs(p1.y - v.y) < radius && ((p1.x - radius < v.x && v.x < p2.x + radius) || (p2.x - radius < v.x && v.x < p1.x + radius));
else {
// some simple box tests
if (v.x < Math.min(p1.x, p2.x) - radius) return false;

View File

@ -21,6 +21,9 @@ public class WireContainsTest extends TestCase {
assertTrue(w.contains(new Vector(5, 2), 5));
assertTrue(w.contains(new Vector(5, -2), 5));
assertTrue(w.contains(new Vector(-2, 0), 5));
assertTrue(w.contains(new Vector(12, 0), 5));
}
public void testVertical() {
@ -32,6 +35,9 @@ public class WireContainsTest extends TestCase {
assertTrue(w.contains(new Vector(2, 5), 5));
assertTrue(w.contains(new Vector(-2, 5), 5));
assertTrue(w.contains(new Vector(0, -2), 5));
assertTrue(w.contains(new Vector(0, 12), 5));
}
public void testDiagonal() {