From 179c525cf865a2cf519314321b80d289f705cbc5 Mon Sep 17 00:00:00 2001 From: Alexis Drogoul Date: Wed, 8 Sep 2021 16:21:50 +0700 Subject: [PATCH] A first attempt to solve #3180. Needs more thorough testing. --- .../gama/java2d/Java2DDisplaySurface.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/ummisco.gama.java2d/src/ummisco/gama/java2d/Java2DDisplaySurface.java b/ummisco.gama.java2d/src/ummisco/gama/java2d/Java2DDisplaySurface.java index 783276bc71..24af5d41e0 100644 --- a/ummisco.gama.java2d/src/ummisco/gama/java2d/Java2DDisplaySurface.java +++ b/ummisco.gama.java2d/src/ummisco/gama/java2d/Java2DDisplaySurface.java @@ -205,11 +205,16 @@ public int getFPS() { public void dispatchKeyEvent(final char e) { for (final IEventLayerListener gl : listeners) { gl.keyPressed(String.valueOf(e)); } } + + int autoScaleUp(int c) { + if (PlatformHelper.isWindows() && PlatformHelper.getDeviceZoom() > 100) return c; + return PlatformHelper.autoScaleUp(c); + } @Override public void setMousePosition(final int xm, final int ym) { - final int x = PlatformHelper.autoScaleUp(xm); - final int y = PlatformHelper.autoScaleUp(ym); + final int x = autoScaleUp(xm); + final int y = autoScaleUp(ym); if (mousePosition == null) { mousePosition = new Point(x, y); } else { @@ -220,11 +225,8 @@ public void setMousePosition(final int xm, final int ym) { @Override public void draggedTo(final int x, final int y) { final Point origin = getOrigin(); - setOrigin(origin.x + PlatformHelper.autoScaleUp(x) - getMousePosition().x, - origin.y + PlatformHelper.autoScaleUp(y) - getMousePosition().y); - // DEBUG.OUT("Translation on X : " + (PlatformHelper.autoScaleUp(x) - getMousePosition().x) + " | on Y : " - // + (PlatformHelper.autoScaleUp(y) - getMousePosition().y)); - // DEBUG.OUT("Old Origin = " + origin + " | New Origin = " + getOrigin()); + setOrigin(origin.x + autoScaleUp(x) - getMousePosition().x, + origin.y + autoScaleUp(y) - getMousePosition().y); setMousePosition(x, y); updateDisplay(true); }