diff options
author | Keith Packard <keithp@keithp.com> | 2013-02-10 15:34:56 -0800 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2013-02-10 18:15:25 -0800 |
commit | cbd9dd989a662f41ddcb0c9e0f4453840687fd4a (patch) | |
tree | 527a04c75036b5db1003fa8b48a53fbbc081ca78 /altosui/AltosSiteMap.java | |
parent | f0a125503e502d213711df0d7774d837d4d98447 (diff) |
altosui: Add map and GPS data to graph window. Trac #50
See where the rocket landed without having to replay the whole flight.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altosui/AltosSiteMap.java')
-rw-r--r-- | altosui/AltosSiteMap.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/altosui/AltosSiteMap.java b/altosui/AltosSiteMap.java index f111e62d..f614eae6 100644 --- a/altosui/AltosSiteMap.java +++ b/altosui/AltosSiteMap.java @@ -322,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); |