X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosMapTransform.java;h=30994ecb60bc2dc826f50f6fffbc546b07882e24;hb=4a33336b8f468c5b0f2e14c0ee0242c9a24a8b90;hp=f5fc5ebe597531953d0a41413381198d558452a3;hpb=29edc37a8de56cb6eb028e3bf3f56aa70f109eba;p=fw%2Faltos diff --git a/altoslib/AltosMapTransform.java b/altoslib/AltosMapTransform.java index f5fc5ebe..30994ecb 100644 --- a/altoslib/AltosMapTransform.java +++ b/altoslib/AltosMapTransform.java @@ -15,7 +15,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_6; +package org.altusmetrum.altoslib_7; import java.io.*; import java.lang.Math; @@ -39,10 +39,22 @@ public class AltosMapTransform { return new AltosLatLon(lat,lon); } + public AltosLatLon lat_lon (AltosPointInt point) { + return lat_lon(new AltosPointDouble(point.x, point.y)); + } + + public AltosPointDouble screen_point(AltosPointInt screen) { + return new AltosPointDouble(screen.x + offset_x, screen.y + offset_y); + } + public AltosPointDouble screen_point(AltosPointDouble screen) { return new AltosPointDouble(screen.x + offset_x, screen.y + offset_y); } + public AltosLatLon screen_lat_lon(AltosPointInt screen) { + return lat_lon(screen_point(screen)); + } + public AltosLatLon screen_lat_lon(AltosPointDouble screen) { return lat_lon(screen_point(screen)); } @@ -71,12 +83,12 @@ public class AltosMapTransform { (int) (point.y - offset_y + 0.5)); } -// public Rectangle screen(AltosMapRectangle map_rect) { -// AltosPoint2D ul = screen(map_rect.ul); -// AltosPoint2D lr = screen(map_rect.lr); -// -// return new Rectangle((int) ul.x, (int) ul.y, (int) (lr.x - ul.x), (int) (lr.y - ul.y)); -// } + public AltosRectangle screen(AltosMapRectangle map_rect) { + AltosPointDouble ul = screen(map_rect.ul); + AltosPointDouble lr = screen(map_rect.lr); + + return new AltosRectangle((int) ul.x, (int) ul.y, (int) (lr.x - ul.x), (int) (lr.y - ul.y)); + } public AltosPointDouble screen(AltosLatLon lat_lon) { return screen(point(lat_lon));