Skip to content

Commit dcaddec

Browse files
committed
Make screenSpace_portAt obey snap-to-grid
1 parent 55f88fd commit dcaddec

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

src/com/modsim/gui/view/ViewUtil.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,15 +56,18 @@ public static Link worldSpace_linkAt(Vec2 pt) {
5656
public static Port screenSpace_portAt(double x, double y) {
5757
double portR = 10;
5858

59+
//Converting to worldspace enforces snap-to-grid (or not).
60+
Vec2 worldPos = screenToWorld(new Vec2(x, y), false);
61+
5962
synchronized (Main.sim) {
6063
int i = Main.sim.getModules().size() - 1;
6164
for (; i >= 0; i--) {
6265
BaseModule m = Main.sim.getModules().get(i);
6366

64-
double[] pt = {x, y};
67+
double[] pt = {worldPos.x, worldPos.y};
6568

6669
// Get clicked point in object space
67-
try {m.toView.inverseTransform(pt, 0, pt, 0, 1);}
70+
try {m.toWorld.inverseTransform(pt, 0, pt, 0, 1);}
6871
catch (Exception e) {
6972
System.err.println("Non invertible transform");
7073
}

0 commit comments

Comments
 (0)