X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altoslib%2FAltosMap.java;h=d99730b4cf12510ce8d77fa038c92a1fd54ba30e;hp=85f95eef9cfdf3af49cae55224b6d1b165dd9ae5;hb=0beb02f1848e34892cca6e34ba83d6ca836d6df2;hpb=4f1c4dddbce7b4e8673173f1690f79ba60e72ba2 diff --git a/altoslib/AltosMap.java b/altoslib/AltosMap.java index 85f95eef..d99730b4 100644 --- a/altoslib/AltosMap.java +++ b/altoslib/AltosMap.java @@ -109,6 +109,10 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { return map_interface.height(); } + public void debug(String format, Object ... arguments) { + map_interface.debug(format, arguments); + } + public AltosPointInt floor(AltosPointDouble point) { return new AltosPointInt ((int) Math.floor(point.x / AltosMap.px_size) * AltosMap.px_size, (int) Math.floor(point.y / AltosMap.px_size) * AltosMap.px_size); @@ -150,6 +154,7 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { } public void set_transform() { + debug("set_transform, centre is %s\n", centre); if (centre != null) { transform = new AltosMapTransform(width(), height(), zoom, centre); repaint(); @@ -376,6 +381,11 @@ public class AltosMap implements AltosMapTileListener, AltosMapStoreListener { int dx = x - drag_start.x; int dy = y - drag_start.y; + if (transform == null) { + debug("Transform not set in drag\n"); + return; + } + AltosLatLon new_centre = transform.screen_lat_lon(new AltosPointInt(width() / 2 - dx, height() / 2 - dy)); centre(new_centre); drag_start = new AltosPointInt(x, y);