osm-focus/src/dk/network42/osmfocus/OsmBounds.java

46 lines
1.1 KiB
Java

package dk.network42.osmfocus;
import android.graphics.Canvas;
public class OsmBounds {
private static final String TAG = "OsmBounds";
public
OsmNode min = null, max = null;
public boolean isEmpty() {
return (min==null || max==null);
}
public OsmBounds() {
}
public OsmBounds(int minlon, int minlat, int maxlon, int maxlat) {
// Normalize by swapping
int tmp;
if (minlon>maxlon) {
tmp = minlon;
minlon = maxlon;
maxlon = tmp;
}
if (minlat>maxlat) {
tmp = minlat;
minlat = maxlat;
maxlat = tmp;
}
min = new OsmNode(minlon, minlat);
max = new OsmNode(maxlon, maxlat);
}
// Osm geopoints, lon/lat * 1e7
int getLeft() { return min.getOsmLon(); }
int getTop() { return min.getOsmLat(); }
int getRight() { return max.getOsmLon(); }
int getBottom() { return max.getOsmLat(); }
public void draw(Canvas canvas, OsmDB db, PaintConfig pcfg) {
canvas.drawRect(min.getX(db), min.getY(db), max.getX(db), max.getY(db), pcfg.bounds);
}
}