Adds mouse drag to vertical scrolling in data dialog; closes #851

This commit is contained in:
hneemann 2021-09-30 07:07:15 +02:00
parent 3239671937
commit bff56ce7d9
2 changed files with 13 additions and 6 deletions

View File

@ -90,9 +90,12 @@ public class DataPlotter implements Drawable {
* *
* @param dx the displacement * @param dx the displacement
*/ */
public void move(int dx) { public void move(int dx, int dy) {
xOffset -= dx; xOffset -= dx;
manualScaling = dx >= 0 || xOffset < autoScaleOffset; manualScaling = dx >= 0 || xOffset < autoScaleOffset;
yOffset -= dy;
if (yOffset < 0)
yOffset = 0;
} }
@Override @Override

View File

@ -38,18 +38,22 @@ public class GraphComponent extends JComponent {
}); });
addMouseMotionListener(new MouseAdapter() { addMouseMotionListener(new MouseAdapter() {
private int lastPos; private int lastxPos;
private int lastyPos;
@Override @Override
public void mouseMoved(MouseEvent mouseEvent) { public void mouseMoved(MouseEvent mouseEvent) {
lastPos = mouseEvent.getX(); lastxPos = mouseEvent.getX();
lastyPos = mouseEvent.getY();
} }
@Override @Override
public void mouseDragged(MouseEvent mouseEvent) { public void mouseDragged(MouseEvent mouseEvent) {
int pos = mouseEvent.getX(); int xPos = mouseEvent.getX();
plotter.move(pos - lastPos); int yPos = mouseEvent.getY();
lastPos = pos; plotter.move(xPos - lastxPos, yPos - lastyPos);
lastxPos = xPos;
lastyPos = yPos;
repaint(); repaint();
} }