Statistics
| Revision:

svn-gvsig-desktop / trunk / extensions / extGraph / src / org / gvsig / graph / MyTask.java @ 35010

History | View | Annotate | Download (2.05 KB)

1 22182 fpenarrubia
package org.gvsig.graph;
2 15610 fpenarrubia
3
import java.awt.BasicStroke;
4
import java.awt.Color;
5
import java.awt.Graphics2D;
6
import java.awt.RenderingHints;
7
import java.awt.Stroke;
8
import java.awt.geom.Point2D;
9
import java.util.TimerTask;
10
11
import com.iver.cit.gvsig.fmap.MapControl;
12
13
public class MyTask extends TimerTask {
14
        private MapControl mapCtrl;
15
        private int maxCount;
16
        private Point2D.Double pR;
17 15667 falario
        private Color color;
18 15610 fpenarrubia
        public MyTask(MapControl mapCtrl, int maxCount, double x, double y) {
19
                this.mapCtrl = mapCtrl;
20
                this.maxCount = maxCount;
21
                this.pR = new Point2D.Double(x,y);
22 15667 falario
                this.color=Color.RED;
23 15610 fpenarrubia
24
        }
25 15667 falario
26
        public MyTask(MapControl mapCtrl, Color color, int maxCount, double x, double y){
27
                this.mapCtrl = mapCtrl;
28
                this.maxCount = maxCount;
29
                this.pR = new Point2D.Double(x,y);
30
                this.color=color;
31
        }
32
33 15610 fpenarrubia
        @Override
34
        public void run() {
35
                maxCount--;
36
                if (maxCount < 0)
37
                {
38
                        cancel();
39
                        return;
40
                }
41
42
                Graphics2D g2 = (Graphics2D) mapCtrl.getGraphics();
43
                RenderingHints renderHints = new RenderingHints(
44
                                RenderingHints.KEY_ANTIALIASING,
45
                                RenderingHints.VALUE_ANTIALIAS_ON);
46
                renderHints.put(RenderingHints.KEY_RENDERING,
47
                                RenderingHints.VALUE_RENDER_QUALITY);
48
                renderHints.put(RenderingHints.KEY_TEXT_ANTIALIASING,
49
                                RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
50
                g2.setRenderingHints(renderHints);
51
52
                Point2D p = mapCtrl.getViewPort().fromMapPoint(pR);
53
54 15667 falario
                float[] RGBColor=null;;
55
                RGBColor=this.color.getColorComponents(RGBColor);
56
                Color color = new Color(RGBColor[0], RGBColor[1], RGBColor[2], 0.2f-0.025f * maxCount);
57 15610 fpenarrubia
//                System.out.println("maxCount = " + maxCount);
58
                g2.setColor(color);
59
                g2.fillArc((int)p.getX()-20, (int) p.getY()-20, 40, 40, 0, 360);
60
                if (maxCount == 0)
61
                {
62
                        Stroke stroke = new BasicStroke(2.0f);
63
                        g2.setStroke(stroke);
64
65 15667 falario
                        g2.setColor(this.color);
66 15610 fpenarrubia
                        g2.drawArc((int)p.getX()-20, (int) p.getY()-20, 40, 40, 0, 360);
67
//                        g2.setColor(new Color(150, 255, 150, 40));
68
//                        g2.fillArc((int)p.getX()-21, (int) p.getY()-21, 42, 42, 0, 360);
69
                }
70
71
//                mapCtrl.repaint();
72
        }
73
74
}