X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=altosuilib%2FAltosUIMap.java;h=8dfdba64c8bca8da70beb0f8462e6c2e3882341c;hp=8c90bcd8d8a86ddd7549da7b90ec93ab669e9aaa;hb=adf4bec88df1822031e1a8b00422de8b8b0c0cd4;hpb=4d57c8b87f29f23beb0d88f1cef179209b1c5992 diff --git a/altosuilib/AltosUIMap.java b/altosuilib/AltosUIMap.java index 8c90bcd8..8dfdba64 100644 --- a/altosuilib/AltosUIMap.java +++ b/altosuilib/AltosUIMap.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,7 +16,7 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altosuilib_11; +package org.altusmetrum.altosuilib_13; import java.awt.*; import java.awt.event.*; @@ -27,7 +28,7 @@ import java.awt.geom.*; import java.util.*; import java.util.concurrent.*; import javax.imageio.*; -import org.altusmetrum.altoslib_11.*; +import org.altusmetrum.altoslib_13.*; public class AltosUIMap extends JComponent implements AltosFlightDisplay, AltosMapInterface { @@ -105,7 +106,7 @@ public class AltosUIMap extends JComponent implements AltosFlightDisplay, AltosM } private boolean is_drag_event(MouseEvent e) { - return e.getModifiers() == InputEvent.BUTTON1_MASK; + return e.getModifiersEx() == InputEvent.BUTTON1_DOWN_MASK; } /* MouseMotionListener methods */ @@ -263,6 +264,21 @@ public class AltosUIMap extends JComponent implements AltosFlightDisplay, AltosM if (image != null) { g.drawImage(image, point.x, point.y, null); +/* + * Useful when debugging map fetching problems + * + String message = String.format("%.6f %.6f", center.lat, center.lon); + g.setFont(tile_font); + g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); + Rectangle2D bounds = tile_font.getStringBounds(message, g.getFontRenderContext()); + + float x = px_size / 2.0f; + float y = px_size / 2.0f; + x = x - (float) bounds.getWidth() / 2.0f; + y = y + (float) bounds.getHeight() / 2.0f; + g.setColor(Color.RED); + g.drawString(message, (float) point_double.x + x, (float) point_double.y + y); +*/ } else { g.setColor(Color.GRAY); g.fillRect(point.x, point.y, px_size, px_size); @@ -277,10 +293,10 @@ public class AltosUIMap extends JComponent implements AltosFlightDisplay, AltosM message = "Internal error"; break; case AltosMapTile.failed: - message = "Network error, check connection"; + message = "Network error"; break; case AltosMapTile.forbidden: - message = "Too many requests, try later"; + message = "Outside of known launch areas"; break; } if (message != null && tile_font != null) { @@ -385,8 +401,10 @@ public class AltosUIMap extends JComponent implements AltosFlightDisplay, AltosM JLabel zoom_label; public void set_maptype(int type) { +/* map.set_maptype(type); maptype_combo.setSelectedIndex(type); +*/ } /* AltosUIMapPreload functions */ @@ -412,6 +430,10 @@ public class AltosUIMap extends JComponent implements AltosFlightDisplay, AltosM map.show(state, listener_state); } + public void show(AltosGPS gps, int state) { + map.show(gps, state); + } + public String getName() { return "Map"; } @@ -421,10 +443,16 @@ public class AltosUIMap extends JComponent implements AltosFlightDisplay, AltosM map.centre(state); } + public void centre(AltosGPS gps) { + map.centre(gps); + } + /* internal layout bits */ private GridBagLayout layout = new GridBagLayout(); +/* JComboBox maptype_combo; +*/ MapView view; @@ -513,6 +541,7 @@ public class AltosUIMap extends JComponent implements AltosFlightDisplay, AltosM c.weighty = 0; add(zoom_out, c); +/* maptype_combo = new JComboBox(map.maptype_labels); maptype_combo.setEditable(false); @@ -531,7 +560,7 @@ public class AltosUIMap extends JComponent implements AltosFlightDisplay, AltosM c.weightx = 0; c.weighty = 0; add(maptype_combo, c); - +*/ map = new AltosMap(this); } }