diff options
Diffstat (limited to 'main/src/cgeo/geocaching/maps/mapsforge/v024/MapsforgeDistanceOverlay.java')
| -rwxr-xr-x | main/src/cgeo/geocaching/maps/mapsforge/v024/MapsforgeDistanceOverlay.java | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/maps/mapsforge/v024/MapsforgeDistanceOverlay.java b/main/src/cgeo/geocaching/maps/mapsforge/v024/MapsforgeDistanceOverlay.java new file mode 100755 index 0000000..25b97f0 --- /dev/null +++ b/main/src/cgeo/geocaching/maps/mapsforge/v024/MapsforgeDistanceOverlay.java @@ -0,0 +1,57 @@ +package cgeo.geocaching.maps.mapsforge.v024; + +import cgeo.geocaching.location.Geopoint; +import cgeo.geocaching.maps.DistanceOverlay; +import cgeo.geocaching.maps.interfaces.GeneralOverlay; +import cgeo.geocaching.maps.interfaces.MapViewImpl; +import cgeo.geocaching.maps.interfaces.OverlayImpl; + +import org.mapsforge.android.mapsold.Overlay; +import org.mapsforge.android.mapsold.Projection; + +import android.graphics.Canvas; +import android.graphics.Point; + +import java.util.concurrent.locks.Lock; +import java.util.concurrent.locks.ReentrantLock; + +public class MapsforgeDistanceOverlay extends Overlay implements OverlayImpl { + + private DistanceOverlay overlayBase = null; + private final Lock lock = new ReentrantLock(); + + public MapsforgeDistanceOverlay(final MapViewImpl mapView, final Geopoint coords, final String geocode) { + overlayBase = new DistanceOverlay(this, mapView, coords, geocode); + } + + @Override + protected void drawOverlayBitmap(final Canvas canvas, final Point drawPosition, + final Projection projection, final byte drawZoomLevel) { + + if (overlayBase != null) { + overlayBase.drawOverlayBitmap(canvas, drawPosition, new MapsforgeMapProjection(projection), drawZoomLevel); + } + } + + public GeneralOverlay getBase() { + return overlayBase; + } + + @Override + public void lock() { + lock.lock(); + + } + + @Override + public void unlock() { + lock.unlock(); + + } + + @Override + public MapViewImpl getMapViewImpl() { + return (MapViewImpl) internalMapView; + } + +} |
