refactor: IRenderCallback -> IRenderTheme.Callback
- more consistent function names
This commit is contained in:
parent
1137f48882
commit
876b8b6d37
@ -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;
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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 <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
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);
|
||||
|
||||
}
|
||||
@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -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;
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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) {
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user