first cut at turnon scripts for EasyTimer v2
[fw/altos] / altoslib / AltosMap.java
index b9c4bfc104fac18c35abd00a75aa64431615bdb5..3877c7dce7a3631419c1c7e4ac37011c493fc267 100644 (file)
@@ -16,7 +16,7 @@
  * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
  */
 
-package org.altusmetrum.altoslib_13;
+package org.altusmetrum.altoslib_14;
 
 import java.io.*;
 import java.lang.*;
@@ -82,7 +82,7 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener {
        static final long auto_scroll_delay = 20 * 1000;
 
        public AltosMapTransform        transform;
-       AltosLatLon             centre;
+       public AltosLatLon              centre;
 
        public void reset() {
                // nothing
@@ -222,8 +222,7 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener {
                return false;
        }
 
-       public void show(AltosGPS gps, double time, int state) {
-
+       public void show(AltosGPS gps, double time, int state, double gps_height) {
                /*
                 * If insufficient gps data, nothing to update
                 */
@@ -250,7 +249,7 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener {
                }
 
                if (path != null) {
-                       AltosMapRectangle       damage = path.add(gps.lat, gps.lon, time, state);
+                       AltosMapRectangle       damage = path.add(gps, time, state, gps_height);
 
                        if (damage != null)
                                repaint(damage, AltosMapPath.stroke_width);
@@ -262,7 +261,7 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener {
        }
 
        public void show(AltosState state, AltosListenerState listener_state) {
-               show(state.gps, state.time, state.state());
+               show(state.gps, state.time, state.state(), state.gps_height());
        }
 
        public void centre(AltosLatLon lat_lon) {
@@ -290,10 +289,10 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener {
                        centre(lat_lon);
        }
 
-       public AltosMapMark add_mark(double lat, double lon, int state) {
+       public AltosMapMark add_mark(double lat, double lon, int state, String label) {
                AltosMapMark mark;
                synchronized(marks) {
-                       mark = map_interface.new_mark(lat, lon, state);
+                       mark = map_interface.new_mark(lat, lon, state, label);
                        if (mark != null)
                                marks.add(mark);
                }
@@ -301,6 +300,10 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener {
                return mark;
        }
 
+       public AltosMapMark add_mark(double lat, double lon, int state) {
+               return add_mark(lat, lon, state, null);
+       }
+
        public void del_mark(AltosMapMark mark) {
                marks.remove(mark);
        }
@@ -500,6 +503,8 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener {
                notice_user_input();
                if (path == null)
                        return null;
+               if (transform == null)
+                       return null;
                AltosLatLon     at = transform.screen_lat_lon(new  AltosPointInt(x, y));
                return path.nearest(at);
        }