import java.util.concurrent.*;
import org.altusmetrum.altoslib_4.*;
-public class AltosUIMapView extends Canvas implements MouseMotionListener, MouseListener, MouseWheelListener, ComponentListener, AltosUIMapTileListener, AltosUIMapStoreListener {
+public class AltosUIMapView extends Component implements MouseMotionListener, MouseListener, MouseWheelListener, ComponentListener, AltosUIMapTileListener, AltosUIMapStoreListener {
AltosUIMapPath path = new AltosUIMapPath();
AltosUIMapLine line = new AltosUIMapLine();
+ AltosUIMapCache cache = new AltosUIMapCache();
+
LinkedList<AltosUIMapMark> marks = new LinkedList<AltosUIMapMark>();
LinkedList<AltosUIMapZoomListener> zoom_listeners = new LinkedList<AltosUIMapZoomListener>();
notice_user_input();
if (is_drag_event(e))
drag_start(e);
- else
+ else {
line.pressed(e, transform);
+ repaint();
+ }
}
public void mouseReleased(MouseEvent e) {
for (Point point : to_remove)
tiles.remove(point);
- AltosUIMapCache.set_cache_size(((lower_right.y - upper_left.y) / px_size + 1) * ((lower_right.x - upper_left.x) / px_size + 1));
+ cache.set_cache_size(((lower_right.y - upper_left.y) / px_size + 1) * ((lower_right.x - upper_left.x) / px_size + 1));
for (int y = upper_left.y; y <= lower_right.y; y += px_size) {
for (int x = upper_left.x; x <= lower_right.x; x += px_size) {
Point point = new Point(x, y);
}
/* AltosUIMapTileListener methods */
- public void notify_tile(AltosUIMapTile tile, int status) {
+ public synchronized void notify_tile(AltosUIMapTile tile, int status) {
for (Point point : tiles.keySet()) {
if (tile == tiles.get(point)) {
Point screen = transform.screen(point);
}
}
+ public AltosUIMapCache cache() { return cache; }
+
/* AltosUIMapStoreListener methods */
- public void notify_store(AltosUIMapStore store, int status) {
+ public synchronized void notify_store(AltosUIMapStore store, int status) {
if (load_listener != null) {
for (AltosUIMapTile tile : tiles.values())
if (store.equals(tile.store))
}
public void paint(Graphics g) {
-
VolatileImage back_buffer = create_back_buffer();
do {
GraphicsConfiguration gc = getGraphicsConfiguration();