summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java1
-rw-r--r--altoslib/AltosMap.java10
-rw-r--r--altoslib/AltosMapInterface.java2
-rw-r--r--altosuilib/AltosUIMapNew.java4
4 files changed, 17 insertions, 0 deletions
diff --git a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java
index cc1acd67..f1f1b6de 100644
--- a/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java
+++ b/altosdroid/src/org/altusmetrum/AltosDroid/AltosDroidTab.java
@@ -57,6 +57,7 @@ public abstract class AltosDroidTab extends Fragment implements AltosUnitsListen
public void set_visible(boolean visible) {
FragmentTransaction ft = AltosDroid.fm.beginTransaction();
+ AltosDebug.debug("set visible %b %s\n", visible, tab_name());
if (visible) {
AltosState state = last_state;
AltosGreatCircle from_receiver = last_from_receiver;
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);
diff --git a/altoslib/AltosMapInterface.java b/altoslib/AltosMapInterface.java
index 195574e9..e6cb5971 100644
--- a/altoslib/AltosMapInterface.java
+++ b/altoslib/AltosMapInterface.java
@@ -40,4 +40,6 @@ public interface AltosMapInterface {
public abstract void repaint(AltosRectangle damage);
public abstract void set_zoom_label(String label);
+
+ public abstract void debug(String format, Object ... arguments);
}
diff --git a/altosuilib/AltosUIMapNew.java b/altosuilib/AltosUIMapNew.java
index 05f47b53..3efffb00 100644
--- a/altosuilib/AltosUIMapNew.java
+++ b/altosuilib/AltosUIMapNew.java
@@ -369,6 +369,10 @@ public class AltosUIMapNew extends JComponent implements AltosFlightDisplay, Alt
zoom_label.setText(label);
}
+ public void debug(String format, Object ... arguments) {
+ System.out.printf(format, arguments);
+ }
+
/* AltosFlightDisplay interface */
public void set_font() {