Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libFMap / src / com / iver / cit / gvsig / fmap / tools / ZoomInListenerImpl.java @ 288

History | View | Annotate | Download (1.32 KB)

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

    
3
import com.iver.cit.gvsig.fmap.ViewPort;
4
import com.iver.cit.gvsig.fmap.tools.Events.RectangleEvent;
5
import com.iver.cit.gvsig.fmap.tools.Listeners.RectangleListener;
6

    
7
import java.awt.geom.Rectangle2D;
8

    
9

    
10
/**
11
 * DOCUMENT ME!
12
 *
13
 * @author Vicente Caballero Navarro
14
 */
15
public class ZoomInListenerImpl implements RectangleListener {
16
    ViewPort vp;
17

    
18
    /**
19
     * Crea un nuevo RectangleListenerImpl.
20
     *
21
     * @param vp DOCUMENT ME!
22
     */
23
    public ZoomInListenerImpl(ViewPort vp) {
24
        this.vp = vp;
25
    }
26

    
27
    /**
28
     * DOCUMENT ME!
29
     *
30
     * @param event DOCUMENT ME!
31
     */
32
    public void rectangle(RectangleEvent event) {
33
        Rectangle2D rect = event.getRect();
34
        Rectangle2D.Double r = new Rectangle2D.Double();
35

    
36
        if (rect.getWidth() < 3) {
37
            double factor = 0.6;
38

    
39
            double nuevoX = rect.getMaxX() -
40
                ((vp.getExtent().getWidth() * factor) / 2.0);
41
            double nuevoY = rect.getMaxY() -
42
                ((vp.getExtent().getHeight() * factor) / 2.0);
43
            r.x = nuevoX;
44
            r.y = nuevoY;
45
            r.width = vp.getExtent().getWidth() * factor;
46
            r.height = vp.getExtent().getHeight() * factor;
47
            vp.setExtent(r);
48
        } else {
49
            vp.setExtent(event.getRect());
50
        }
51
    }
52
}