import java.awt.geom.Line2D;
public class AltosSiteMapTile extends JLayeredPane {
- Point2D.Double coord_pt;
- Point2D.Double last_pt;
-
JLabel mapLabel;
JLabel draw;
Graphics2D g2d;
Color.BLACK // landed
};
- boolean drawn_landed_circle = false;
- boolean drawn_boost_circle = false;
- public void show(AltosState state, int crc_errors, Point2D.Double pt) {
- if (last_pt == null) {
- // setLocation(state.pad_lat, state.pad_lon);
- // loadMap();
- last_pt = pt;
- }
-
- if (pt != last_pt) {
- if (0 <= state.state && state.state < stateColors.length) {
- g2d.setColor(stateColors[state.state]);
- }
- g2d.draw(new Line2D.Double(last_pt, pt));
+ private boolean drawn_landed_circle = false;
+ private boolean drawn_boost_circle = false;
+ private boolean scrollable = false;
+ public synchronized void setScrollable() {
+ scrollable = true;
+ }
+ public synchronized boolean isScrollable() {
+ return scrollable;
+ }
+ public synchronized void show(AltosState state, int crc_errors,
+ Point2D.Double last_pt, Point2D.Double pt)
+ {
+ if (0 <= state.state && state.state < stateColors.length) {
+ g2d.setColor(stateColors[state.state]);
}
+ g2d.draw(new Line2D.Double(last_pt, pt));
int px_size = getWidth();
- if (0 <= pt.x && pt.x < px_size) {
+ if (isScrollable() && 0 <= pt.x && pt.x < px_size) {
if (0 <= pt.y && pt.y < px_size) {
int dx = 500, dy = 250;
if (state.state > 2) {
g2d.drawOval((int)pt.x-35, (int)pt.y-35, 70, 70);
}
- last_pt = pt;
repaint();
}
draw = new JLabel();
g2d = fillLabel(draw, new Color(127, 127, 127, 0), px_size);
+ g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
+ RenderingHints.VALUE_ANTIALIAS_ON);
+ g2d.setStroke(new BasicStroke(6, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND));
draw.setBounds(0, 0, px_size, px_size);
draw.setOpaque(false);
add(draw, new Integer(1));
}
}
-