diff --git a/vtm-gdx-html/src/org/oscim/gdx/emu/org/oscim/layers/tile/vector/VectorTileLoader.java b/vtm-gdx-html/src/org/oscim/gdx/emu/org/oscim/layers/tile/vector/VectorTileLoader.java
index 0fa7c219..4f87084c 100644
--- a/vtm-gdx-html/src/org/oscim/gdx/emu/org/oscim/layers/tile/vector/VectorTileLoader.java
+++ b/vtm-gdx-html/src/org/oscim/gdx/emu/org/oscim/layers/tile/vector/VectorTileLoader.java
@@ -30,7 +30,6 @@ import org.oscim.renderer.elements.LineTexLayer;
import org.oscim.renderer.elements.PolygonLayer;
import org.oscim.renderer.elements.SymbolItem;
import org.oscim.renderer.elements.TextItem;
-import org.oscim.theme.IRenderCallback;
import org.oscim.theme.IRenderTheme;
import org.oscim.theme.renderinstruction.Area;
import org.oscim.theme.renderinstruction.Circle;
@@ -58,7 +57,7 @@ import org.oscim.utils.pool.Inlist;
* 5. RenderTheme calls IRenderCallback functions with style information
* 6. Styled items become added to MapTile.layers... roughly
*/
-public class VectorTileLoader extends TileLoader implements IRenderCallback, ITileDataSink {
+public class VectorTileLoader extends TileLoader implements IRenderTheme.Callback, ITileDataSink {
private static final String TAG = VectorTileLoader.class.getName();
@@ -472,7 +471,7 @@ public class VectorTileLoader extends TileLoader implements IRenderCallback, ITi
}
@Override
- public void renderAreaCaption(Text text) {
+ public void renderAreaText(Text text) {
// TODO place somewhere on polygon
String value = textValueForKey(text);
@@ -486,7 +485,7 @@ public class VectorTileLoader extends TileLoader implements IRenderCallback, ITi
}
@Override
- public void renderPointOfInterestCaption(Text text) {
+ public void renderPointText(Text text) {
String value = textValueForKey(text);
if (value == null)
return;
@@ -517,11 +516,11 @@ public class VectorTileLoader extends TileLoader implements IRenderCallback, ITi
}
@Override
- public void renderPointOfInterestCircle(Circle circle, int level) {
+ public void renderPointCircle(Circle circle, int level) {
}
@Override
- public void renderPointOfInterestSymbol(Symbol symbol) {
+ public void renderPointSymbol(Symbol symbol) {
if (symbol.texture == null) {
Log.d(TAG, "missing symbol for " + mElement.tags.asString());
return;
diff --git a/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java b/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java
index 6e1c2cb6..13b959d7 100644
--- a/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java
+++ b/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java
@@ -16,6 +16,7 @@ package org.oscim.layers.tile.vector;
import static org.oscim.tiling.MapTile.STATE_NONE;
+import org.oscim.backend.Log;
import org.oscim.core.GeometryBuffer.GeometryType;
import org.oscim.core.MapElement;
import org.oscim.core.MercatorProjection;
@@ -24,14 +25,13 @@ import org.oscim.core.TagSet;
import org.oscim.core.Tile;
import org.oscim.layers.tile.vector.labeling.WayDecorator;
import org.oscim.map.DebugSettings;
-import org.oscim.renderer.elements.ExtrusionLayer;
import org.oscim.renderer.elements.ElementLayers;
+import org.oscim.renderer.elements.ExtrusionLayer;
import org.oscim.renderer.elements.LineLayer;
import org.oscim.renderer.elements.LineTexLayer;
import org.oscim.renderer.elements.PolygonLayer;
import org.oscim.renderer.elements.SymbolItem;
import org.oscim.renderer.elements.TextItem;
-import org.oscim.theme.IRenderCallback;
import org.oscim.theme.IRenderTheme;
import org.oscim.theme.renderinstruction.Area;
import org.oscim.theme.renderinstruction.Circle;
@@ -49,8 +49,6 @@ import org.oscim.tiling.source.ITileDataSource.QueryResult;
import org.oscim.utils.LineClipper;
import org.oscim.utils.pool.Inlist;
-import org.oscim.backend.Log;
-
/**
* @note
* 0.
@@ -62,7 +60,7 @@ import org.oscim.backend.Log;
* 5. RenderTheme calls IRenderCallback functions with style information
* 6. Styled items become added to MapTile.layers...
*/
-public class VectorTileLoader extends TileLoader implements IRenderCallback, ITileDataSink {
+public class VectorTileLoader extends TileLoader implements IRenderTheme.Callback, ITileDataSink {
private static final String TAG = VectorTileLoader.class.getName();
@@ -453,7 +451,7 @@ public class VectorTileLoader extends TileLoader implements IRenderCallback, ITi
}
@Override
- public void renderAreaCaption(Text text) {
+ public void renderAreaText(Text text) {
// TODO place somewhere on polygon
String value = textValueForKey(text);
@@ -467,7 +465,7 @@ public class VectorTileLoader extends TileLoader implements IRenderCallback, ITi
}
@Override
- public void renderPointOfInterestCaption(Text text) {
+ public void renderPointText(Text text) {
String value = textValueForKey(text);
if (value == null)
return;
@@ -498,11 +496,11 @@ public class VectorTileLoader extends TileLoader implements IRenderCallback, ITi
}
@Override
- public void renderPointOfInterestCircle(Circle circle, int level) {
+ public void renderPointCircle(Circle circle, int level) {
}
@Override
- public void renderPointOfInterestSymbol(Symbol symbol) {
+ public void renderPointSymbol(Symbol symbol) {
if (symbol.texture == null){
Log.d(TAG, "missing symbol for " + mElement.tags.asString());
return;
diff --git a/vtm/src/org/oscim/theme/IRenderCallback.java b/vtm/src/org/oscim/theme/IRenderCallback.java
deleted file mode 100644
index cdb83406..00000000
--- a/vtm/src/org/oscim/theme/IRenderCallback.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright 2010, 2011, 2012 mapsforge.org
- *
- * This program is free software: you can redistribute it and/or modify it under the
- * terms of the GNU Lesser General Public License as published by the Free Software
- * Foundation, either version 3 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 MERCHANTABILITY or FITNESS FOR A
- * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License along with
- * this program. If not, see .
- */
-package org.oscim.theme;
-
-import org.oscim.theme.renderinstruction.Area;
-import org.oscim.theme.renderinstruction.Circle;
-import org.oscim.theme.renderinstruction.Line;
-import org.oscim.theme.renderinstruction.LineSymbol;
-import org.oscim.theme.renderinstruction.Symbol;
-import org.oscim.theme.renderinstruction.Text;
-
-/**
- * Callback methods for rendering areas, ways and points of interest (POIs).
- */
-public interface IRenderCallback {
- /**
- * Renders an area with the given parameters.
- *
- * @param area
- * ...
- * @param level
- * ...
- */
- void renderArea(Area area, int level);
-
- /**
- * Renders an area symbol with the given bitmap.
- *
- * @param symbol
- * the symbol to be rendered.
- */
- void renderAreaSymbol(Symbol symbol);
-
- /**
- * Renders a point of interest circle with the given parameters.
- *
- * @param circle
- * the circle.
- * @param level
- * the drawing level on which the circle should be rendered.
- */
- void renderPointOfInterestCircle(Circle circle, int level);
-
- /**
- * Renders a point of interest symbol with the given bitmap.
- *
- * @param symbol
- * the symbol to be rendered.
- */
- void renderPointOfInterestSymbol(Symbol symbol);
-
- /**
- * Renders a way with the given parameters.
- *
- * @param line
- * ...
- * @param level
- * ...
- */
- void renderWay(Line line, int level);
-
- /**
- * Renders a way with the given symbol along the way path.
- *
- * @param symbol
- * the symbol to be rendered.
- */
- void renderWaySymbol(LineSymbol symbol);
-
- /**
- * Renders a way with the given text along the way path.
- *
- * @param text
- * ...
- */
- void renderWayText(Text text);
-
- /**
- * Renders an area caption with the given text.
- *
- * @param text
- * the text to be rendered.
- */
- void renderAreaCaption(Text text);
-
- /**
- * Renders a point of interest caption with the given text.
- *
- * @param text
- * the text to be rendered.
- */
- void renderPointOfInterestCaption(Text text);
-
-}
diff --git a/vtm/src/org/oscim/theme/IRenderTheme.java b/vtm/src/org/oscim/theme/IRenderTheme.java
index 119b1294..196b3f08 100644
--- a/vtm/src/org/oscim/theme/IRenderTheme.java
+++ b/vtm/src/org/oscim/theme/IRenderTheme.java
@@ -16,7 +16,13 @@
package org.oscim.theme;
import org.oscim.core.MapElement;
+import org.oscim.theme.renderinstruction.Area;
+import org.oscim.theme.renderinstruction.Circle;
+import org.oscim.theme.renderinstruction.Line;
+import org.oscim.theme.renderinstruction.LineSymbol;
import org.oscim.theme.renderinstruction.RenderInstruction;
+import org.oscim.theme.renderinstruction.Symbol;
+import org.oscim.theme.renderinstruction.Text;
public interface IRenderTheme {
@@ -63,4 +69,83 @@ public interface IRenderTheme {
*/
public abstract void scaleTextSize(float scaleFactor);
+
+ /**
+ * Callback methods for rendering areas, ways and points of interest (POIs).
+ */
+ public interface Callback {
+ /**
+ * Renders an area with the given parameters.
+ *
+ * @param area
+ * @param level
+ */
+ void renderArea(Area area, int level);
+
+ /**
+ * Renders an area symbol with the given bitmap.
+ *
+ * @param symbol
+ * the symbol to be rendered.
+ */
+ void renderAreaSymbol(Symbol symbol);
+
+ /**
+ * Renders an area caption with the given text.
+ *
+ * @param text
+ * the text to be rendered.
+ */
+ void renderAreaText(Text text);
+
+ /**
+ * Renders a point of interest circle with the given parameters.
+ *
+ * @param circle
+ * the circle.
+ * @param level
+ * the drawing level on which the circle should be rendered.
+ */
+ void renderPointCircle(Circle circle, int level);
+
+ /**
+ * Renders a point of interest symbol with the given bitmap.
+ *
+ * @param symbol
+ * the symbol to be rendered.
+ */
+ void renderPointSymbol(Symbol symbol);
+
+ /**
+ * Renders a point of interest caption with the given text.
+ *
+ * @param text
+ * the text to be rendered.
+ */
+ void renderPointText(Text text);
+
+ /**
+ * Renders a way with the given parameters.
+ *
+ * @param line
+ * @param level
+ */
+ void renderWay(Line line, int level);
+
+ /**
+ * Renders a way with the given symbol along the way path.
+ *
+ * @param symbol
+ * the symbol to be rendered.
+ */
+ void renderWaySymbol(LineSymbol symbol);
+
+ /**
+ * Renders a way with the given text along the way path.
+ *
+ * @param text
+ */
+ void renderWayText(Text text);
+
+ }
}
diff --git a/vtm/src/org/oscim/theme/renderinstruction/Area.java b/vtm/src/org/oscim/theme/renderinstruction/Area.java
index 92377bc4..1b7236fb 100644
--- a/vtm/src/org/oscim/theme/renderinstruction/Area.java
+++ b/vtm/src/org/oscim/theme/renderinstruction/Area.java
@@ -15,7 +15,7 @@
package org.oscim.theme.renderinstruction;
import org.oscim.renderer.elements.TextureItem;
-import org.oscim.theme.IRenderCallback;
+import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents a closed polygon on the map.
@@ -65,7 +65,7 @@ public final class Area extends RenderInstruction {
}
@Override
- public void renderWay(IRenderCallback renderCallback) {
+ public void renderWay(Callback renderCallback) {
renderCallback.renderArea(this, this.level);
}
@@ -76,6 +76,5 @@ public final class Area extends RenderInstruction {
public final int fade;
public final int blendColor;
public final int blend;
-
public final TextureItem texture;
}
diff --git a/vtm/src/org/oscim/theme/renderinstruction/AreaLevel.java b/vtm/src/org/oscim/theme/renderinstruction/AreaLevel.java
index 9e2856c8..77fe59c0 100644
--- a/vtm/src/org/oscim/theme/renderinstruction/AreaLevel.java
+++ b/vtm/src/org/oscim/theme/renderinstruction/AreaLevel.java
@@ -14,7 +14,7 @@
*/
package org.oscim.theme.renderinstruction;
-import org.oscim.theme.IRenderCallback;
+import org.oscim.theme.IRenderTheme.Callback;
public class AreaLevel extends RenderInstruction {
private final Area area;
@@ -26,7 +26,7 @@ public class AreaLevel extends RenderInstruction {
}
@Override
- public void renderWay(IRenderCallback renderCallback) {
+ public void renderWay(Callback renderCallback) {
renderCallback.renderArea(this.area, level);
}
}
diff --git a/vtm/src/org/oscim/theme/renderinstruction/Circle.java b/vtm/src/org/oscim/theme/renderinstruction/Circle.java
index a4ced95a..1ddc2ad3 100644
--- a/vtm/src/org/oscim/theme/renderinstruction/Circle.java
+++ b/vtm/src/org/oscim/theme/renderinstruction/Circle.java
@@ -14,7 +14,7 @@
*/
package org.oscim.theme.renderinstruction;
-import org.oscim.theme.IRenderCallback;
+import org.oscim.theme.IRenderTheme.Callback;
/**
@@ -44,17 +44,10 @@ public final class Circle extends RenderInstruction {
this.strokeWidth = strokeWidth;
this.level = level;
-
-//if (!mScaleRadius) {
-// mRenderRadius = mRadius;
-// if (mOutline != null) {
-// mOutline.setStrokeWidth(mStrokeWidth);
-// }
-//}
}
@Override
- public void renderNode(IRenderCallback renderCallback) {
- renderCallback.renderPointOfInterestCircle(this, this.level);
+ public void renderNode(Callback renderCallback) {
+ renderCallback.renderPointCircle(this, this.level);
}
}
diff --git a/vtm/src/org/oscim/theme/renderinstruction/Line.java b/vtm/src/org/oscim/theme/renderinstruction/Line.java
index e5c8bd06..00615730 100644
--- a/vtm/src/org/oscim/theme/renderinstruction/Line.java
+++ b/vtm/src/org/oscim/theme/renderinstruction/Line.java
@@ -15,7 +15,7 @@
package org.oscim.theme.renderinstruction;
import org.oscim.backend.canvas.Paint.Cap;
-import org.oscim.theme.IRenderCallback;
+import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents a polyline on the map.
@@ -100,7 +100,7 @@ public final class Line extends RenderInstruction {
}
@Override
- public void renderWay(IRenderCallback renderCallback) {
+ public void renderWay(Callback renderCallback) {
renderCallback.renderWay(this, level);
}
}
diff --git a/vtm/src/org/oscim/theme/renderinstruction/LineSymbol.java b/vtm/src/org/oscim/theme/renderinstruction/LineSymbol.java
index f6522936..ccbb6291 100644
--- a/vtm/src/org/oscim/theme/renderinstruction/LineSymbol.java
+++ b/vtm/src/org/oscim/theme/renderinstruction/LineSymbol.java
@@ -14,7 +14,7 @@
*/
package org.oscim.theme.renderinstruction;
-import org.oscim.theme.IRenderCallback;
+import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents an icon along a polyline on the map.
@@ -36,7 +36,7 @@ public final class LineSymbol extends RenderInstruction {
}
@Override
- public void renderWay(IRenderCallback renderCallback) {
+ public void renderWay(Callback renderCallback) {
renderCallback.renderWaySymbol(this);
}
}
diff --git a/vtm/src/org/oscim/theme/renderinstruction/RenderInstruction.java b/vtm/src/org/oscim/theme/renderinstruction/RenderInstruction.java
index 5b301adb..ca0a9a6a 100644
--- a/vtm/src/org/oscim/theme/renderinstruction/RenderInstruction.java
+++ b/vtm/src/org/oscim/theme/renderinstruction/RenderInstruction.java
@@ -14,7 +14,7 @@
*/
package org.oscim.theme.renderinstruction;
-import org.oscim.theme.IRenderCallback;
+import org.oscim.theme.IRenderTheme.Callback;
/**
* A RenderInstruction is a basic graphical primitive to draw a map.
@@ -30,14 +30,14 @@ public abstract class RenderInstruction {
* @param renderCallback
* a reference to the receiver of all render callbacks.
*/
- public void renderNode(IRenderCallback renderCallback) {
+ public void renderNode(Callback renderCallback) {
}
/**
* @param renderCallback
* a reference to the receiver of all render callbacks.
*/
- public void renderWay(IRenderCallback renderCallback) {
+ public void renderWay(Callback renderCallback) {
}
/**
diff --git a/vtm/src/org/oscim/theme/renderinstruction/Symbol.java b/vtm/src/org/oscim/theme/renderinstruction/Symbol.java
index 973e9fd4..ee6e6766 100644
--- a/vtm/src/org/oscim/theme/renderinstruction/Symbol.java
+++ b/vtm/src/org/oscim/theme/renderinstruction/Symbol.java
@@ -15,7 +15,7 @@
package org.oscim.theme.renderinstruction;
import org.oscim.renderer.atlas.TextureRegion;
-import org.oscim.theme.IRenderCallback;
+import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents an icon on the map.
@@ -34,12 +34,12 @@ public final class Symbol extends RenderInstruction {
}
@Override
- public void renderNode(IRenderCallback renderCallback) {
- renderCallback.renderPointOfInterestSymbol(this);
+ public void renderNode(Callback renderCallback) {
+ renderCallback.renderPointSymbol(this);
}
@Override
- public void renderWay(IRenderCallback renderCallback) {
+ public void renderWay(Callback renderCallback) {
renderCallback.renderAreaSymbol(this);
}
}
diff --git a/vtm/src/org/oscim/theme/renderinstruction/Text.java b/vtm/src/org/oscim/theme/renderinstruction/Text.java
index ab85714a..f637959b 100644
--- a/vtm/src/org/oscim/theme/renderinstruction/Text.java
+++ b/vtm/src/org/oscim/theme/renderinstruction/Text.java
@@ -20,7 +20,7 @@ import org.oscim.backend.canvas.Paint.Align;
import org.oscim.backend.canvas.Paint.FontFamily;
import org.oscim.backend.canvas.Paint.FontStyle;
import org.oscim.renderer.atlas.TextureRegion;
-import org.oscim.theme.IRenderCallback;
+import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents a text along a polyline on the map.
@@ -101,15 +101,15 @@ public final class Text extends RenderInstruction {
}
@Override
- public void renderNode(IRenderCallback renderCallback) {
+ public void renderNode(Callback renderCallback) {
if (caption)
- renderCallback.renderPointOfInterestCaption(this);
+ renderCallback.renderPointText(this);
}
@Override
- public void renderWay(IRenderCallback renderCallback) {
+ public void renderWay(Callback renderCallback) {
if (caption)
- renderCallback.renderAreaCaption(this);
+ renderCallback.renderAreaText(this);
else
renderCallback.renderWayText(this);
}