]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/gui/map/MapCanvas.java
Version 12.1, December 2010
[GpsPrune.git] / tim / prune / gui / map / MapCanvas.java
index 2308facb099668175044103480110e81b605574f..acac7a186dc6d923f1fec056479ae893dd015511 100644 (file)
@@ -276,6 +276,7 @@ public class MapCanvas extends JPanel implements MouseListener, MouseMotionListe
                zoomInItem.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e)
                        {
+                               panMap((_popupMenuX - getWidth()/2)/2, (_popupMenuY - getHeight()/2)/2);
                                zoomIn();
                        }});
                _popup.add(zoomInItem);
@@ -283,6 +284,7 @@ public class MapCanvas extends JPanel implements MouseListener, MouseMotionListe
                zoomOutItem.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent e)
                        {
+                               panMap(-(_popupMenuX - getWidth()/2), -(_popupMenuY - getHeight()/2));
                                zoomOut();
                        }});
                _popup.add(zoomOutItem);
@@ -1090,10 +1092,14 @@ public class MapCanvas extends JPanel implements MouseListener, MouseMotionListe
        public void mouseWheelMoved(MouseWheelEvent inE)
        {
                int clicks = inE.getWheelRotation();
-               if (clicks < 0)
+               if (clicks < 0) {
+                       panMap((inE.getX() - getWidth()/2)/2, (inE.getY() - getHeight()/2)/2);
                        zoomIn();
-               else if (clicks > 0)
+               }
+               else if (clicks > 0) {
+                       panMap(-(inE.getX() - getWidth()/2), -(inE.getY() - getHeight()/2));
                        zoomOut();
+               }
        }
 
        /**