mirror of
https://github.com/hneemann/Digital.git
synced 2025-09-14 15:26:52 -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) {
|
public boolean contains(Vector v, int radius) {
|
||||||
if (p1.x == p2.x)
|
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)
|
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 {
|
else {
|
||||||
// some simple box tests
|
// some simple box tests
|
||||||
if (v.x < Math.min(p1.x, p2.x) - radius) return false;
|
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(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() {
|
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(-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() {
|
public void testDiagonal() {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user