mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-13 06:49:36 -04:00
improves the wire tooltips
This commit is contained in:
parent
a7e75ead6a
commit
58540f28f2
@ -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;
|
||||
|
@ -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() {
|
||||
|
Loading…
x
Reference in New Issue
Block a user