Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libCq CMS for java.old / src / org / cresques / ui / cmd / CmdPan.java @ 109

History | View | Annotate | Download (1017 Bytes)

1
package org.cresques.ui.cmd;
2

    
3
import java.awt.geom.Point2D;
4

    
5
import org.cresques.ui.CQCursor;
6
import org.cresques.ui.CQMapCanvas;
7

    
8
/**
9
 * Comando pan.
10
 * A?ade al canvas la capacidad de desplazar la vista.
11
 * @author "Luis W. Sevilla" <sevilla_lui@gva.es>
12
 */
13
public class CmdPan extends Cmd {
14
        private Point2D ptIni = null;
15
        
16
        /**
17
         * Construye un nuevo CmdPan para el Canvas.
18
         * @param canvas
19
         */
20
        public CmdPan(CQMapCanvas canvas) {
21
                super(canvas);
22
                eventsWanted = LEFT | PRESS | RELEASE;
23
                cursor = CQCursor.getCursor(CQCursor.PAN_CURSOR);
24
        }
25

    
26
        /**
27
         * Recibe los eventos del rat?n.
28
         */
29
        public void cmd(Point2D pt, int btn, int mouseEvent) {
30
                if (mouseEvent == Cmd.RELEASE) {
31
                        pan(ptIni, pt);
32
                } else if (mouseEvent == Cmd.PRESS) {
33
                        ptIni = pt;
34
                }
35
        }
36
        
37
        /**
38
         * Realiza un desplazamiento de la vista.
39
         * @param ptIni Punto inicial.
40
         * @param ptFin Punto final.
41
         */void pan(Point2D ptIni, Point2D ptFin) {
42
                canvas.getVPData().pan(ptIni, ptFin);
43
                canvas.viewPortChanged();
44
                canvas.repaint();
45
        }
46
}