aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/cgeo/geocaching/maps/AbstractItemizedOverlay.java
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/cgeo/geocaching/maps/AbstractItemizedOverlay.java')
-rw-r--r--main/src/cgeo/geocaching/maps/AbstractItemizedOverlay.java66
1 files changed, 66 insertions, 0 deletions
diff --git a/main/src/cgeo/geocaching/maps/AbstractItemizedOverlay.java b/main/src/cgeo/geocaching/maps/AbstractItemizedOverlay.java
new file mode 100644
index 0000000..f1905a5
--- /dev/null
+++ b/main/src/cgeo/geocaching/maps/AbstractItemizedOverlay.java
@@ -0,0 +1,66 @@
+package cgeo.geocaching.maps;
+
+import cgeo.geocaching.maps.interfaces.ItemizedOverlayImpl;
+import cgeo.geocaching.maps.interfaces.MapProjectionImpl;
+import cgeo.geocaching.maps.interfaces.MapViewImpl;
+import cgeo.geocaching.maps.interfaces.GeneralOverlay;
+import cgeo.geocaching.maps.interfaces.OverlayImpl;
+import cgeo.geocaching.maps.interfaces.OverlayItemImpl;
+
+import android.graphics.Canvas;
+import android.graphics.Point;
+import android.graphics.drawable.Drawable;
+
+/**
+ * Base class for itemized overlays. Delegates calls from deriving classes to the contained
+ * provider-specific implementation.
+ *
+ * @author rsudev
+ *
+ */
+public abstract class AbstractItemizedOverlay implements GeneralOverlay {
+
+ private ItemizedOverlayImpl ovlImpl;
+
+ protected AbstractItemizedOverlay(ItemizedOverlayImpl ovlImplIn) {
+ ovlImpl = ovlImplIn;
+ }
+
+ void populate() {
+ ovlImpl.superPopulate();
+ }
+
+ public boolean onTap(int index) {
+ return ovlImpl.superOnTap(index);
+ }
+
+ Drawable boundCenter(Drawable markerIn) {
+ return ovlImpl.superBoundCenter(markerIn);
+ }
+
+ Drawable boundCenterBottom(Drawable markerIn) {
+ return ovlImpl.superBoundCenterBottom(markerIn);
+ }
+
+ void setLastFocusedItemIndex(int index) {
+ ovlImpl.superSetLastFocusedItemIndex(index);
+ }
+
+ public void draw(Canvas canvas, MapViewImpl mapView, boolean shadow) {
+ ovlImpl.superDraw(canvas, mapView, shadow);
+ }
+
+ public void drawOverlayBitmap(Canvas canvas, Point drawPosition,
+ MapProjectionImpl projection, byte drawZoomLevel) {
+ ovlImpl.superDrawOverlayBitmap(canvas, drawPosition, projection, drawZoomLevel);
+ }
+
+ @Override
+ public OverlayImpl getOverlayImpl() {
+ return ovlImpl;
+ }
+
+ public abstract OverlayItemImpl createItem(int index);
+
+ public abstract int size();
+}