X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosMapLine.java;h=b971711e6d3f0aa0654855a4a6a7fcf7e3e7e016;hp=83de47f9c2c460973293c129ded5d781fc0ba52e;hb=fab890328d4e1151932621a317226bc291b853da;hpb=29edc37a8de56cb6eb028e3bf3f56aa70f109eba diff --git a/altoslib/AltosMapLine.java b/altoslib/AltosMapLine.java index 83de47f9..b971711e 100644 --- a/altoslib/AltosMapLine.java +++ b/altoslib/AltosMapLine.java @@ -3,7 +3,8 @@ * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; version 2 of the License. + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. * * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of @@ -15,69 +16,37 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_6; +package org.altusmetrum.altoslib_13; import java.io.*; import java.lang.Math; import java.util.*; import java.util.concurrent.*; -public abstract class AltosMapLine implements AltosFontListener { - AltosLatLon start, end; +public abstract class AltosMapLine { + public AltosLatLon start, end; static public int stroke_width = 6; - public abstract void font_size_changed(int font_size); + public abstract void paint(AltosMapTransform t); - private AltosLatLon lat_lon(AltosPointDouble pt, AltosMapTransform t) { + private AltosLatLon lat_lon(AltosPointInt pt, AltosMapTransform t) { return t.screen_lat_lon(pt); } - public void dragged(AltosPointDouble pt, AltosMapTransform t) { + public void dragged(AltosPointInt pt, AltosMapTransform t) { end = lat_lon(pt, t); } - public void pressed(AltosPointDouble pt, AltosMapTransform t) { + public void pressed(AltosPointInt pt, AltosMapTransform t) { start = lat_lon(pt, t); end = null; } - private String line_dist() { - String format; + public String line_dist() { AltosGreatCircle g = new AltosGreatCircle(start.lat, start.lon, end.lat, end.lon); - double distance = g.distance; - if (AltosConvert.imperial_units) { - distance = AltosConvert.meters_to_feet(distance); - if (distance < 10000) { - format = "%4.0fft"; - } else { - distance /= 5280; - if (distance < 10) - format = "%5.3fmi"; - else if (distance < 100) - format = "%5.2fmi"; - else if (distance < 1000) - format = "%5.1fmi"; - else - format = "%5.0fmi"; - } - } else { - if (distance < 10000) { - format = "%4.0fm"; - } else { - distance /= 1000; - if (distance < 100) - format = "%5.2fkm"; - else if (distance < 1000) - format = "%5.1fkm"; - else - format = "%5.0fkm"; - } - } - return String.format(format, distance); + return AltosConvert.distance.show(7, g.distance); } - - public abstract void paint(AltosMapTransform t); }