]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.g2d/src/org/simantics/g2d/event/adapter/SWTMouseEventAdapter.java
Fixed diagram mouse wheel zooming for HiDPI monitors with zoom
[simantics/platform.git] / bundles / org.simantics.g2d / src / org / simantics / g2d / event / adapter / SWTMouseEventAdapter.java
index bb8560c306a1da6091adca58c1c104b50405ed1a..924c7c252b47a929183cfcb4403784486d5f1615 100644 (file)
@@ -34,6 +34,7 @@ import org.simantics.scenegraph.g2d.events.MouseEvent.MouseExitEvent;
 import org.simantics.scenegraph.g2d.events.MouseEvent.MouseMovedEvent;
 import org.simantics.scenegraph.g2d.events.MouseEvent.MouseWheelMovedEvent;
 import org.simantics.scenegraph.g2d.events.adapter.AbstractEventAdapter;
+import org.simantics.utils.ui.SWTDPIUtil;
 
 public class SWTMouseEventAdapter extends AbstractEventAdapter implements MouseListener, MouseMoveListener, MouseTrackListener, MouseWheelListener {
 
@@ -64,12 +65,12 @@ public class SWTMouseEventAdapter extends AbstractEventAdapter implements MouseL
        
        private Point2D getControlPosition(MouseEvent e)
        {
-               return new Point2D.Double(e.x, e.y);
+               return new Point2D.Double(SWTDPIUtil.upscaleSwt(e.x), SWTDPIUtil.upscaleSwt(e.y));
        }
        
        private Point2D getScreenPosition(MouseEvent e)
        {
-               Point p = e.display.getCursorLocation();
+               Point p = SWTDPIUtil.upscaleSwt(e.display.getCursorLocation());
                return new Point2D.Double(p.x, p.y);
                
        }