diff options
Diffstat (limited to 'altosui/AltosSiteMap.java')
| -rw-r--r-- | altosui/AltosSiteMap.java | 19 | 
1 files changed, 18 insertions, 1 deletions
diff --git a/altosui/AltosSiteMap.java b/altosui/AltosSiteMap.java index 4e939b88..f614eae6 100644 --- a/altosui/AltosSiteMap.java +++ b/altosui/AltosSiteMap.java @@ -23,7 +23,8 @@ import java.io.*;  import java.lang.Math;  import java.awt.geom.Point2D;  import java.util.concurrent.*; -import org.altusmetrum.AltosLib.*; +import org.altusmetrum.altoslib_1.*; +import org.altusmetrum.altosuilib_1.*;  public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay {  	// preferred vertical step in a tile in naut. miles @@ -321,6 +322,22 @@ public class AltosSiteMap extends JScrollPane implements AltosFlightDisplay {  		last_state = state.state;  	} +	public void centre(Point2D.Double pt) { +		Rectangle r = comp.getVisibleRect(); +		Point2D.Double copt = translatePoint(pt, tileCoordOffset(topleft)); +		int dx = (int)copt.x - r.width/2 - r.x; +		int dy = (int)copt.y - r.height/2 - r.y; +		r.x += dx; +		r.y += dy; +		comp.scrollRectToVisible(r); +	} + +	public void centre(AltosState state) { +		if (!state.gps.locked && state.gps.nsat < 4) +			return; +		centre(pt(state.gps.lat, state.gps.lon)); +	} +  	public void draw_circle(double lat, double lon) {  		final Point2D.Double pt = pt(lat, lon);  | 
