Statistics
| Revision:

root / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / tools / ZoomOutIzqListener.java @ 1062

History | View | Annotate | Download (2.12 KB)

1
package com.iver.cit.gvsig.fmap.tools;
2

    
3
import java.awt.Cursor;
4
import java.awt.Image;
5
import java.awt.Point;
6
import java.awt.Toolkit;
7
import java.awt.event.MouseEvent;
8
import java.awt.geom.Point2D;
9
import java.awt.geom.Rectangle2D;
10

    
11
import javax.swing.ImageIcon;
12

    
13
import com.iver.cit.gvsig.fmap.NewMapControl;
14
import com.iver.cit.gvsig.fmap.ViewPort;
15
import com.iver.cit.gvsig.fmap.tools.Events.PointEvent;
16
import com.iver.cit.gvsig.fmap.tools.Listeners.PointListener;
17

    
18

    
19
/**
20
 * DOCUMENT ME!
21
 *
22
 * @author Vicente Caballero Navarro
23
 */
24
public class ZoomOutIzqListener implements PointListener {
25
        private final Image izoomout = new ImageIcon(NewMapControl.class.getResource(
26
    "images/ZoomOutCursor.gif")).getImage();
27
        private Cursor cur = Toolkit.getDefaultToolkit().createCustomCursor(izoomout,
28
    new Point(16, 16), "");
29
        
30
        private NewMapControl mapControl;
31

    
32
    /**
33
     * Crea un nuevo ZoomOutListenerImpl.
34
     *
35
     * @param vp DOCUMENT ME!
36
     */
37
    public ZoomOutIzqListener(NewMapControl mapControl) {
38
        this.mapControl = mapControl;
39
    }
40

    
41
    /**
42
     * @see com.iver.cit.gvsig.fmap.tools.Listeners.PointListener#point(com.iver.cit.gvsig.fmap.tools.PointEvent)
43
     */
44
    public void point(PointEvent event) {
45
            if (event.getEvent().getButton() == MouseEvent.BUTTON3){
46
            
47
            ViewPort vp = mapControl.getMapContext().getViewPort();
48
        Point2D p2 = vp.toMapPoint(event.getPoint());
49

    
50
        double nuevoX;
51
        double nuevoY;
52
        double factor = 1.8;
53
        Rectangle2D.Double r = new Rectangle2D.Double();
54

    
55
        nuevoX = p2.getX() - ((vp.getExtent().getWidth() * factor) / 2.0);
56
        nuevoY = p2.getY() - ((vp.getExtent().getHeight() * factor) / 2.0);
57
        r.x = nuevoX;
58
        r.y = nuevoY;
59
        r.width = vp.getExtent().getWidth() * factor;
60
        r.height = vp.getExtent().getHeight() * factor;
61

    
62
        vp.setExtent(r);
63
            }
64
    }
65

    
66
        /**
67
         * @see com.iver.cit.gvsig.fmap.tools.Listeners.ToolListener#getCursor()
68
         */
69
        public Cursor getCursor() {
70
                return cur;
71
        }
72

    
73
        /**
74
         * @see com.iver.cit.gvsig.fmap.tools.Listeners.ToolListener#cancelDrawing()
75
         */
76
        public boolean cancelDrawing() {
77
                return true;
78
        }
79
}