19 package org.sleuthkit.autopsy.geolocation;
21 import java.awt.Cursor;
22 import java.awt.Point;
23 import java.awt.event.MouseEvent;
24 import java.awt.geom.Point2D;
25 import javax.swing.SwingUtilities;
26 import javax.swing.event.MouseInputAdapter;
27 import org.jxmapviewer.JXMapViewer;
34 final class MapPanMouseInputListener
extends MouseInputAdapter {
37 private final JXMapViewer viewer;
38 private Cursor priorCursor;
39 private boolean dragging =
false;
46 MapPanMouseInputListener(JXMapViewer viewer) {
51 public void mousePressed(MouseEvent evt) {
52 if (!SwingUtilities.isLeftMouseButton(evt)) {
55 if (!viewer.isPanningEnabled()) {
60 prev = evt.getPoint();
61 priorCursor = viewer.getCursor();
65 public void mouseDragged(MouseEvent evt) {
66 if (!SwingUtilities.isLeftMouseButton(evt)) {
70 if (!viewer.isPanningEnabled()) {
76 viewer.setCursor(Cursor.getPredefinedCursor(Cursor.MOVE_CURSOR));
81 Point current = evt.getPoint();
82 double x = viewer.getCenter().getX();
83 double y = viewer.getCenter().getY();
86 x += prev.x - current.x;
87 y += prev.y - current.y;
90 int maxHeight = (int) (viewer.getTileFactory().getMapSize(viewer.getZoom()).getHeight() * viewer
91 .getTileFactory().getTileSize(viewer.getZoom()));
97 viewer.setCenter(
new Point2D.Double(x, y));
102 public void mouseReleased(MouseEvent evt) {
103 if (!SwingUtilities.isLeftMouseButton(evt)) {
111 viewer.setCursor(priorCursor);