diff --git a/src/main/java/de/neemann/digital/data/DataPlotter.java b/src/main/java/de/neemann/digital/data/DataPlotter.java index dcb9817b2..14304a49f 100644 --- a/src/main/java/de/neemann/digital/data/DataPlotter.java +++ b/src/main/java/de/neemann/digital/data/DataPlotter.java @@ -90,9 +90,12 @@ public class DataPlotter implements Drawable { * * @param dx the displacement */ - public void move(int dx) { + public void move(int dx, int dy) { xOffset -= dx; manualScaling = dx >= 0 || xOffset < autoScaleOffset; + yOffset -= dy; + if (yOffset < 0) + yOffset = 0; } @Override diff --git a/src/main/java/de/neemann/digital/gui/components/data/GraphComponent.java b/src/main/java/de/neemann/digital/gui/components/data/GraphComponent.java index f973baf17..053a99bb5 100644 --- a/src/main/java/de/neemann/digital/gui/components/data/GraphComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/data/GraphComponent.java @@ -38,18 +38,22 @@ public class GraphComponent extends JComponent { }); addMouseMotionListener(new MouseAdapter() { - private int lastPos; + private int lastxPos; + private int lastyPos; @Override public void mouseMoved(MouseEvent mouseEvent) { - lastPos = mouseEvent.getX(); + lastxPos = mouseEvent.getX(); + lastyPos = mouseEvent.getY(); } @Override public void mouseDragged(MouseEvent mouseEvent) { - int pos = mouseEvent.getX(); - plotter.move(pos - lastPos); - lastPos = pos; + int xPos = mouseEvent.getX(); + int yPos = mouseEvent.getY(); + plotter.move(xPos - lastxPos, yPos - lastyPos); + lastxPos = xPos; + lastyPos = yPos; repaint(); }