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