refactor: theme...RenderInstruction -> theme.styles.RenderStyle

This commit is contained in:
Hannes Janetzek 2014-01-21 19:35:30 +01:00
parent 1e2837c33f
commit 833f49eb35
27 changed files with 120 additions and 120 deletions

View File

@ -31,14 +31,14 @@ import org.oscim.renderer.elements.PolygonLayer;
import org.oscim.renderer.elements.SymbolItem;
import org.oscim.renderer.elements.TextItem;
import org.oscim.theme.IRenderTheme;
import org.oscim.theme.renderinstruction.Area;
import org.oscim.theme.renderinstruction.Circle;
import org.oscim.theme.renderinstruction.Extrusion;
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;
import org.oscim.theme.styles.Area;
import org.oscim.theme.styles.Circle;
import org.oscim.theme.styles.Extrusion;
import org.oscim.theme.styles.Line;
import org.oscim.theme.styles.LineSymbol;
import org.oscim.theme.styles.RenderStyle;
import org.oscim.theme.styles.Symbol;
import org.oscim.theme.styles.Text;
import org.oscim.tiling.MapTile;
import org.oscim.tiling.TileLoader;
import org.oscim.tiling.TileManager;
@ -243,7 +243,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
// renderWay(ri);
//}
private void renderWay(RenderInstruction[] ri) {
private void renderWay(RenderStyle[] ri) {
if (ri == null)
return;
@ -251,7 +251,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
ri[i].renderWay(this);
}
private void renderNode(RenderInstruction[] ri) {
private void renderNode(RenderStyle[] ri) {
if (ri == null)
return;

View File

@ -31,7 +31,7 @@ import org.oscim.map.Map;
import org.oscim.renderer.ElementRenderer;
import org.oscim.renderer.MapRenderer.Matrices;
import org.oscim.renderer.elements.LineLayer;
import org.oscim.theme.renderinstruction.Line;
import org.oscim.theme.styles.Line;
import org.oscim.utils.FastMath;
import org.oscim.utils.LineClipper;

View File

@ -25,7 +25,7 @@ import org.oscim.layers.tile.example.TestTileLayer.TestTileLoader;
import org.oscim.map.Map;
import org.oscim.renderer.elements.ElementLayers;
import org.oscim.renderer.elements.LineLayer;
import org.oscim.theme.renderinstruction.Line;
import org.oscim.theme.styles.Line;
import org.oscim.tiling.MapTile;
import org.oscim.tiling.TileLoader;
import org.oscim.tiling.TileManager;

View File

@ -35,14 +35,14 @@ import org.oscim.renderer.elements.PolygonLayer;
import org.oscim.renderer.elements.SymbolItem;
import org.oscim.renderer.elements.TextItem;
import org.oscim.theme.IRenderTheme;
import org.oscim.theme.renderinstruction.Area;
import org.oscim.theme.renderinstruction.Circle;
import org.oscim.theme.renderinstruction.Extrusion;
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;
import org.oscim.theme.styles.Area;
import org.oscim.theme.styles.Circle;
import org.oscim.theme.styles.Extrusion;
import org.oscim.theme.styles.Line;
import org.oscim.theme.styles.LineSymbol;
import org.oscim.theme.styles.RenderStyle;
import org.oscim.theme.styles.Symbol;
import org.oscim.theme.styles.Text;
import org.oscim.tiling.MapTile;
import org.oscim.tiling.TileLoader;
import org.oscim.tiling.TileManager;
@ -253,20 +253,20 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac
// renderWay(ri);
//}
private void renderWay(RenderInstruction[] ri) {
if (ri == null)
private void renderWay(RenderStyle[] style) {
if (style == null)
return;
for (int i = 0, n = ri.length; i < n; i++)
ri[i].renderWay(this);
for (int i = 0, n = style.length; i < n; i++)
style[i].renderWay(this);
}
private void renderNode(RenderInstruction[] ri) {
if (ri == null)
private void renderNode(RenderStyle[] style) {
if (style == null)
return;
for (int i = 0, n = ri.length; i < n; i++)
ri[i].renderNode(this);
for (int i = 0, n = style.length; i < n; i++)
style[i].renderNode(this);
}
private void clearState() {

View File

@ -20,7 +20,7 @@ import org.oscim.backend.canvas.Color;
import org.oscim.renderer.elements.ElementLayers;
import org.oscim.renderer.elements.LineLayer;
import org.oscim.renderer.elements.TextItem;
import org.oscim.theme.renderinstruction.Line;
import org.oscim.theme.styles.Line;
class Debug {

View File

@ -19,7 +19,7 @@ package org.oscim.layers.tile.vector.labeling;
import org.oscim.core.Tile;
import org.oscim.renderer.elements.TextItem;
import org.oscim.theme.renderinstruction.Text;
import org.oscim.theme.styles.Text;
import org.oscim.tiling.MapTile;
import org.oscim.utils.GeometryUtils;
import org.oscim.utils.LineClipper;

View File

@ -25,8 +25,8 @@ import org.oscim.renderer.MapRenderer.Matrices;
import org.oscim.renderer.elements.LineLayer;
import org.oscim.renderer.elements.TextItem;
import org.oscim.renderer.elements.TextLayer;
import org.oscim.theme.renderinstruction.Line;
import org.oscim.theme.renderinstruction.Text;
import org.oscim.theme.styles.Line;
import org.oscim.theme.styles.Text;
public class GridRenderer extends ElementRenderer {
// private final static String TILE_FORMAT = "%d/%d/%d";

View File

@ -20,7 +20,7 @@ import java.nio.ShortBuffer;
import org.oscim.backend.GL20;
import org.oscim.renderer.BufferObject;
import org.oscim.theme.renderinstruction.Line;
import org.oscim.theme.styles.Line;
import org.oscim.utils.pool.Inlist;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -28,7 +28,7 @@ import org.oscim.renderer.GLState;
import org.oscim.renderer.GLUtils;
import org.oscim.renderer.MapRenderer;
import org.oscim.renderer.MapRenderer.Matrices;
import org.oscim.theme.renderinstruction.Line;
import org.oscim.theme.styles.Line;
import org.oscim.utils.FastMath;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -27,7 +27,7 @@ import org.oscim.renderer.GLState;
import org.oscim.renderer.GLUtils;
import org.oscim.renderer.MapRenderer;
import org.oscim.renderer.MapRenderer.Matrices;
import org.oscim.theme.renderinstruction.Line;
import org.oscim.theme.styles.Line;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -31,7 +31,7 @@ import org.oscim.renderer.GLState;
import org.oscim.renderer.GLUtils;
import org.oscim.renderer.MapRenderer;
import org.oscim.renderer.MapRenderer.Matrices;
import org.oscim.theme.renderinstruction.Area;
import org.oscim.theme.styles.Area;
import org.oscim.utils.FastMath;
import org.oscim.utils.Interpolation;
import org.slf4j.Logger;

View File

@ -16,7 +16,7 @@
*/
package org.oscim.renderer.elements;
import org.oscim.theme.renderinstruction.Text;
import org.oscim.theme.styles.Text;
import org.oscim.utils.pool.Inlist;
import org.oscim.utils.pool.SyncPool;

View File

@ -29,8 +29,8 @@ import org.oscim.renderer.atlas.TextureAtlas.Slot;
import org.oscim.renderer.elements.LineLayer;
import org.oscim.renderer.elements.TextItem;
import org.oscim.renderer.elements.TextLayer;
import org.oscim.theme.renderinstruction.Line;
import org.oscim.theme.renderinstruction.Text;
import org.oscim.theme.styles.Line;
import org.oscim.theme.styles.Text;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

View File

@ -2,12 +2,12 @@ package org.oscim.theme;
import org.oscim.core.GeometryBuffer.GeometryType;
import org.oscim.core.TagSet;
import org.oscim.theme.renderinstruction.RenderInstruction;
import org.oscim.theme.styles.RenderStyle;
public class DebugTheme implements IRenderTheme {
@Override
public RenderInstruction[] matchElement(GeometryType type, TagSet tags, int zoomLevel) {
public RenderStyle[] matchElement(GeometryType type, TagSet tags, int zoomLevel) {
return null;
}

View File

@ -19,14 +19,14 @@ package org.oscim.theme;
import org.oscim.core.GeometryBuffer.GeometryType;
import org.oscim.core.TagSet;
import org.oscim.theme.renderinstruction.Area;
import org.oscim.theme.renderinstruction.Circle;
import org.oscim.theme.renderinstruction.Extrusion;
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;
import org.oscim.theme.styles.Area;
import org.oscim.theme.styles.Circle;
import org.oscim.theme.styles.Extrusion;
import org.oscim.theme.styles.Line;
import org.oscim.theme.styles.LineSymbol;
import org.oscim.theme.styles.RenderStyle;
import org.oscim.theme.styles.Symbol;
import org.oscim.theme.styles.Text;
public interface IRenderTheme {
@ -37,7 +37,7 @@ public interface IRenderTheme {
* the zoom level at which the way should be matched.
* @return matching render instructions
*/
public abstract RenderInstruction[] matchElement(GeometryType type, TagSet tags, int zoomLevel);
public abstract RenderStyle[] matchElement(GeometryType type, TagSet tags, int zoomLevel);
/**
* Must be called when this RenderTheme gets destroyed to clean up and free

View File

@ -23,9 +23,9 @@ import java.util.List;
import org.oscim.core.GeometryBuffer.GeometryType;
import org.oscim.core.TagSet;
import org.oscim.theme.renderinstruction.RenderInstruction;
import org.oscim.theme.rule.Element;
import org.oscim.theme.rule.Rule;
import org.oscim.theme.styles.RenderStyle;
import org.oscim.utils.LRUCache;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@ -44,52 +44,52 @@ public class RenderTheme implements IRenderTheme {
private int mLevels;
private Rule[] mRules;
class ElementCache {
class RenderStyleCache {
final int matchType;
final LRUCache<MatchingCacheKey, RenderInstructionItem> cache;
final LRUCache<MatchingCacheKey, RenderStyleItem> cache;
final MatchingCacheKey cacheKey;
/* temporary matching instructions list */
final ArrayList<RenderInstruction> instructionList;
final ArrayList<RenderStyle> instructionList;
RenderInstructionItem prevItem;
RenderStyleItem prevItem;
public ElementCache(int type) {
cache = new LRUCache<MatchingCacheKey, RenderInstructionItem>(MATCHING_CACHE_SIZE);
instructionList = new ArrayList<RenderInstruction>(4);
public RenderStyleCache(int type) {
cache = new LRUCache<MatchingCacheKey, RenderStyleItem>(MATCHING_CACHE_SIZE);
instructionList = new ArrayList<RenderStyle>(4);
cacheKey = new MatchingCacheKey();
matchType = type;
}
RenderInstructionItem getRenderInstructions() {
RenderStyleItem getRenderInstructions() {
return cache.get(cacheKey);
}
}
class RenderInstructionItem {
RenderInstructionItem next;
class RenderStyleItem {
RenderStyleItem next;
int zoom;
RenderInstruction[] list;
RenderStyle[] list;
MatchingCacheKey key;
}
private final ElementCache[] mElementCache;
private final RenderStyleCache[] mStyleCache;
public RenderTheme(int mapBackground, float baseStrokeWidth, float baseTextSize) {
mMapBackground = mapBackground;
mBaseTextSize = baseTextSize;
mElementCache = new ElementCache[3];
mElementCache[0] = new ElementCache(Element.NODE);
mElementCache[1] = new ElementCache(Element.LINE);
mElementCache[2] = new ElementCache(Element.POLY);
mStyleCache = new RenderStyleCache[3];
mStyleCache[0] = new RenderStyleCache(Element.NODE);
mStyleCache[1] = new RenderStyleCache(Element.LINE);
mStyleCache[2] = new RenderStyleCache(Element.POLY);
}
@Override
public void destroy() {
for (int i = 0; i < 3; i++)
mElementCache[i].cache.clear();
mStyleCache[i].cache.clear();
if (mRules != null) {
for (int i = 0, n = mRules.length; i < n; i++)
@ -108,13 +108,13 @@ public class RenderTheme implements IRenderTheme {
}
@Override
public RenderInstruction[] matchElement(GeometryType geometryType, TagSet tags, int zoomLevel) {
public RenderStyle[] matchElement(GeometryType geometryType, TagSet tags, int zoomLevel) {
// list of renderinsctruction items in cache
RenderInstructionItem ris = null;
RenderStyleItem ris = null;
// the item matching tags and zoomlevel
RenderInstructionItem ri = null;
RenderStyleItem ri = null;
int type = geometryType.nativeInt;
if (type < 1 || type > 3) {
@ -122,7 +122,7 @@ public class RenderTheme implements IRenderTheme {
return null;
}
ElementCache cache = mElementCache[type - 1];
RenderStyleCache cache = mStyleCache[type - 1];
// NOTE: maximum zoom level supported is 32
int zoomMask = 1 << zoomLevel;
@ -154,7 +154,7 @@ public class RenderTheme implements IRenderTheme {
// cache miss
//log.debug(missCnt++ + " / " + hitCnt + " Cache Miss");
List<RenderInstruction> matches = cache.instructionList;
List<RenderStyle> matches = cache.instructionList;
matches.clear();
for (Rule rule : mRules)
@ -163,7 +163,7 @@ public class RenderTheme implements IRenderTheme {
int size = matches.size();
if (size > 1) {
for (int i = 0; i < size - 1; i++) {
RenderInstruction r = matches.get(i);
RenderStyle r = matches.get(i);
for (int j = i + 1; j < size; j++) {
if (matches.get(j) == r) {
log.debug("fix duplicate instruction! "
@ -193,8 +193,8 @@ public class RenderTheme implements IRenderTheme {
continue;
int i = 0;
for (RenderInstruction r : ri.list) {
if (r != matches.get(i))
for (RenderStyle style : ri.list) {
if (style != matches.get(i))
break;
i++;
}
@ -208,17 +208,17 @@ public class RenderTheme implements IRenderTheme {
// this zoom level to the existing RenderInstructionItem.
ri.zoom |= zoomMask;
//log.debug( // zoomLevel + " same instructions " + size + " "
//log.debug(zoomLevel + " same instructions " + size + " "
// + Arrays.deepToString(tags));
} else {
//log.debug( // zoomLevel + " new instructions " + size + " "
//log.debug(zoomLevel + " new instructions " + size + " "
// + Arrays.deepToString(tags));
ri = new RenderInstructionItem();
ri = new RenderStyleItem();
ri.zoom = zoomMask;
if (size > 0) {
ri.list = new RenderInstruction[size];
ri.list = new RenderStyle[size];
matches.toArray(ri.list);
}

View File

@ -37,15 +37,15 @@ import org.oscim.renderer.atlas.TextureAtlas.Rect;
import org.oscim.renderer.atlas.TextureRegion;
import org.oscim.renderer.elements.TextureItem;
import org.oscim.theme.IRenderTheme.ThemeException;
import org.oscim.theme.renderinstruction.Area;
import org.oscim.theme.renderinstruction.Circle;
import org.oscim.theme.renderinstruction.Extrusion;
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;
import org.oscim.theme.rule.Rule;
import org.oscim.theme.styles.Area;
import org.oscim.theme.styles.Circle;
import org.oscim.theme.styles.Extrusion;
import org.oscim.theme.styles.Line;
import org.oscim.theme.styles.LineSymbol;
import org.oscim.theme.styles.RenderStyle;
import org.oscim.theme.styles.Symbol;
import org.oscim.theme.styles.Text;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.xml.sax.Attributes;
@ -130,8 +130,8 @@ public class RenderThemeHandler extends DefaultHandler {
private Stack<Element> mElementStack = new Stack<Element>();
private Stack<Rule> mRuleStack = new Stack<Rule>();
private HashMap<String, RenderInstruction> mStyles =
new HashMap<String, RenderInstruction>(10);
private HashMap<String, RenderStyle> mStyles =
new HashMap<String, RenderStyle>(10);
private TextureAtlas mTextureAtlas;

View File

@ -27,7 +27,7 @@ import java.util.Stack;
import org.oscim.core.Tag;
import org.oscim.theme.IRenderTheme.ThemeException;
import org.oscim.theme.RenderThemeHandler;
import org.oscim.theme.renderinstruction.RenderInstruction;
import org.oscim.theme.styles.RenderStyle;
import org.xml.sax.Attributes;
public abstract class Rule {
@ -189,14 +189,14 @@ public abstract class Rule {
}
private Rule[] mSubRules;
private RenderInstruction[] mRenderInstructions;
private RenderStyle[] mRenderInstructions;
final int mZoom;
final int mElement;
final boolean mMatchFirst;
static class Builder {
ArrayList<RenderInstruction> renderInstructions = new ArrayList<RenderInstruction>(4);
ArrayList<RenderStyle> renderInstructions = new ArrayList<RenderStyle>(4);
ArrayList<Rule> subRules = new ArrayList<Rule>(4);
public void clear() {
@ -216,7 +216,7 @@ public abstract class Rule {
mMatchFirst = matchFirst;
}
public void addRenderingInstruction(RenderInstruction renderInstruction) {
public void addRenderingInstruction(RenderStyle renderInstruction) {
builder.renderInstructions.add(renderInstruction);
}
@ -227,7 +227,7 @@ public abstract class Rule {
abstract boolean matchesTags(Tag[] tags);
public boolean matchElement(int type, Tag[] tags, int zoomLevel,
List<RenderInstruction> matchingList) {
List<RenderStyle> matchingList) {
if (((mElement & type) != 0) && ((mZoom & zoomLevel) != 0) && (matchesTags(tags))) {
@ -243,8 +243,8 @@ public abstract class Rule {
if (!mMatchFirst || matched) {
// add instructions for this rule
for (RenderInstruction ri : mRenderInstructions)
matchingList.add(ri);
for (RenderStyle style : mRenderInstructions)
matchingList.add(style);
}
// this rule did match
@ -259,7 +259,7 @@ public abstract class Rule {
MATCHERS_CACHE_KEY.clear();
MATCHERS_CACHE_VALUE.clear();
mRenderInstructions = new RenderInstruction[builder.renderInstructions.size()];
mRenderInstructions = new RenderStyle[builder.renderInstructions.size()];
builder.renderInstructions.toArray(mRenderInstructions);
mSubRules = new Rule[builder.subRules.size()];
@ -273,16 +273,16 @@ public abstract class Rule {
}
public void onDestroy() {
for (RenderInstruction ri : mRenderInstructions)
ri.destroy();
for (RenderStyle style : mRenderInstructions)
style.destroy();
for (Rule subRule : mSubRules)
subRule.onDestroy();
}
public void scaleTextSize(float scaleFactor) {
for (RenderInstruction ri : mRenderInstructions)
ri.scaleTextSize(scaleFactor);
for (RenderStyle style : mRenderInstructions)
style.scaleTextSize(scaleFactor);
for (Rule subRule : mSubRules)
subRule.scaleTextSize(scaleFactor);
}

View File

@ -15,7 +15,7 @@
* 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.renderinstruction;
package org.oscim.theme.styles;
import org.oscim.backend.canvas.Color;
import org.oscim.renderer.elements.TextureItem;
@ -24,7 +24,7 @@ import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents a closed polygon on the map.
*/
public final class Area extends RenderInstruction {
public final class Area extends RenderStyle {
public Area(int fill) {
this(0, fill);

View File

@ -14,11 +14,11 @@
* 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.renderinstruction;
package org.oscim.theme.styles;
import org.oscim.theme.IRenderTheme.Callback;
public class AreaLevel extends RenderInstruction {
public class AreaLevel extends RenderStyle {
private final Area area;
private final int level;

View File

@ -15,14 +15,14 @@
* 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.renderinstruction;
package org.oscim.theme.styles;
import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents a round area on the map.
*/
public final class Circle extends RenderInstruction {
public final class Circle extends RenderStyle {
public final int level;

View File

@ -14,12 +14,12 @@
* 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.renderinstruction;
package org.oscim.theme.styles;
import org.oscim.backend.canvas.Color;
import org.oscim.theme.IRenderTheme.Callback;
public class Extrusion extends RenderInstruction {
public class Extrusion extends RenderStyle {
public Extrusion(int level, int colorSides, int colorTop, int colorLine, int defaultHeight) {

View File

@ -15,7 +15,7 @@
* 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.renderinstruction;
package org.oscim.theme.styles;
import org.oscim.backend.canvas.Paint.Cap;
import org.oscim.theme.IRenderTheme.Callback;
@ -23,7 +23,7 @@ import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents a polyline on the map.
*/
public final class Line extends RenderInstruction {
public final class Line extends RenderStyle {
// static float[] parseFloatArray(String dashString) {
// String[] dashEntries = SPLIT_PATTERN.split(dashString);

View File

@ -15,14 +15,14 @@
* 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.renderinstruction;
package org.oscim.theme.styles;
import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents an icon along a polyline on the map.
*/
public final class LineSymbol extends RenderInstruction {
public final class LineSymbol extends RenderStyle {
public final boolean alignCenter;
// public final Bitmap bitmap;

View File

@ -15,14 +15,14 @@
* 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.renderinstruction;
package org.oscim.theme.styles;
import org.oscim.theme.IRenderTheme.Callback;
/**
* A RenderInstruction is a basic graphical primitive to draw a map.
*/
public abstract class RenderInstruction {
public abstract class RenderStyle {
/**
* Destroys this RenderInstruction and cleans up all its internal resources.
*/

View File

@ -15,7 +15,7 @@
* 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.renderinstruction;
package org.oscim.theme.styles;
import org.oscim.renderer.atlas.TextureRegion;
import org.oscim.theme.IRenderTheme.Callback;
@ -23,7 +23,7 @@ import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents an icon on the map.
*/
public final class Symbol extends RenderInstruction {
public final class Symbol extends RenderStyle {
public final TextureRegion texture;

View File

@ -15,7 +15,7 @@
* 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.renderinstruction;
package org.oscim.theme.styles;
import org.oscim.backend.CanvasAdapter;
import org.oscim.backend.canvas.Paint;
@ -28,7 +28,7 @@ import org.oscim.theme.IRenderTheme.Callback;
/**
* Represents a text along a polyline on the map.
*/
public final class Text extends RenderInstruction {
public final class Text extends RenderStyle {
public final String style;