X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosSiteMap.java;h=f614eae65fc526370b1508b45a6477cd9ccd077d;hb=907cc6c50755c0d19b93c15678d6f3022a6ee10b;hp=f111e62d45066d0d4dd6e6295a4fb44df955a0c8;hpb=8d1d8d2a3c129cdbd55427bcda0f26715b02f1ee;p=fw%2Faltos 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);