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 |
} |