altosui/telegps: Reduce CPU time needed for flight displays
[fw/altos] / altosuilib / AltosUIMapView.java
index c558118ba78742bab83909ed4b7a78989bfc2b8a..efae376786f5652951fd600623fbdd3510bfe94a 100644 (file)
@@ -28,7 +28,7 @@ import java.util.*;
 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();
 
@@ -68,6 +68,11 @@ public class AltosUIMapView extends Canvas implements MouseMotionListener, Mouse
                line.set_font(AltosUILib.value_font);
                for (AltosUIMapTile tile : tiles.values())
                        tile.set_font(AltosUILib.value_font);
+               repaint();
+       }
+
+       public void set_units() {
+               repaint();
        }
 
        private boolean is_drag_event(MouseEvent e) {
@@ -129,8 +134,10 @@ public class AltosUIMapView extends Canvas implements MouseMotionListener, Mouse
                notice_user_input();
                if (is_drag_event(e))
                        drag_start(e);
-               else
+               else {
                        line.pressed(e, transform);
+                       repaint();
+               }
        }
 
        public void mouseReleased(MouseEvent e) {
@@ -415,7 +422,6 @@ public class AltosUIMapView extends Canvas implements MouseMotionListener, Mouse
        }
 
        public void paint(Graphics g) {
-
                VolatileImage   back_buffer = create_back_buffer();
                do {
                        GraphicsConfiguration gc = getGraphicsConfiguration();