diff --git a/vtm/src/org/oscim/renderer/elements/LineLayer.java b/vtm/src/org/oscim/renderer/elements/LineLayer.java index 5f3927ba..4de673f5 100644 --- a/vtm/src/org/oscim/renderer/elements/LineLayer.java +++ b/vtm/src/org/oscim/renderer/elements/LineLayer.java @@ -749,7 +749,7 @@ public final class LineLayer extends RenderElement { RenderElement l = curLayer; for (; l != null && l.type == RenderElement.LINE; l = l.next) { LineLayer ll = (LineLayer) l; - LineStyle line = (LineStyle) ll.line.getCurrent(); + LineStyle line = ll.line.current(); if (ll.heightOffset != heightOffset) { heightOffset = ll.heightOffset; @@ -820,7 +820,7 @@ public final class LineLayer extends RenderElement { /* draw LineLayers references by this outline */ for (LineLayer ref = ll.outlines; ref != null; ref = ref.outlines) { - LineStyle core = (LineStyle) ref.line.getCurrent(); + LineStyle core = ref.line.current(); // core width if (core.fixed) { diff --git a/vtm/src/org/oscim/renderer/elements/LineTexLayer.java b/vtm/src/org/oscim/renderer/elements/LineTexLayer.java index c7c5fbb1..97d903f5 100644 --- a/vtm/src/org/oscim/renderer/elements/LineTexLayer.java +++ b/vtm/src/org/oscim/renderer/elements/LineTexLayer.java @@ -362,7 +362,7 @@ public final class LineTexLayer extends RenderElement { RenderElement l = curLayer; for (; l != null && l.type == TEXLINE; l = l.next) { LineTexLayer ll = (LineTexLayer) l; - LineStyle line = ll.line; + LineStyle line = ll.line.current(); GLUtils.setColor(hTexColor, line.stippleColor, 1); GLUtils.setColor(hBgColor, line.color, 1); diff --git a/vtm/src/org/oscim/theme/styles/AreaStyle.java b/vtm/src/org/oscim/theme/styles/AreaStyle.java index 84e22611..f87af181 100644 --- a/vtm/src/org/oscim/theme/styles/AreaStyle.java +++ b/vtm/src/org/oscim/theme/styles/AreaStyle.java @@ -91,6 +91,7 @@ public class AreaStyle extends RenderStyle { outline.update(); } + @Override public AreaStyle current() { return (AreaStyle) (mCurrent == null ? this : mCurrent); } diff --git a/vtm/src/org/oscim/theme/styles/CircleStyle.java b/vtm/src/org/oscim/theme/styles/CircleStyle.java index 844ea51a..83645125 100644 --- a/vtm/src/org/oscim/theme/styles/CircleStyle.java +++ b/vtm/src/org/oscim/theme/styles/CircleStyle.java @@ -51,4 +51,9 @@ public final class CircleStyle extends RenderStyle { public void renderNode(Callback renderCallback) { renderCallback.renderCircle(this, this.level); } + + @Override + public CircleStyle current() { + return (CircleStyle) (mCurrent == null ? this : mCurrent); + } } diff --git a/vtm/src/org/oscim/theme/styles/ExtrusionStyle.java b/vtm/src/org/oscim/theme/styles/ExtrusionStyle.java index d96b2d7a..d84e0fb5 100644 --- a/vtm/src/org/oscim/theme/styles/ExtrusionStyle.java +++ b/vtm/src/org/oscim/theme/styles/ExtrusionStyle.java @@ -61,6 +61,11 @@ public class ExtrusionStyle extends RenderStyle { renderCallback.renderExtrusion(this, this.level); } + @Override + public ExtrusionStyle current() { + return (ExtrusionStyle) (mCurrent == null ? this : mCurrent); + } + private final int level; public final float[] colors; public final int defaultHeight; diff --git a/vtm/src/org/oscim/theme/styles/LineStyle.java b/vtm/src/org/oscim/theme/styles/LineStyle.java index e9924f5f..141a90c5 100644 --- a/vtm/src/org/oscim/theme/styles/LineStyle.java +++ b/vtm/src/org/oscim/theme/styles/LineStyle.java @@ -93,6 +93,11 @@ public final class LineStyle extends RenderStyle { renderCallback.renderWay(this, level); } + @Override + public LineStyle current() { + return (LineStyle) (mCurrent == null ? this : mCurrent); + } + public final static class LineBuilder { public int level; diff --git a/vtm/src/org/oscim/theme/styles/RenderStyle.java b/vtm/src/org/oscim/theme/styles/RenderStyle.java index 21f4a2a3..95c69c89 100644 --- a/vtm/src/org/oscim/theme/styles/RenderStyle.java +++ b/vtm/src/org/oscim/theme/styles/RenderStyle.java @@ -74,7 +74,5 @@ public abstract class RenderStyle { } } - public RenderStyle getCurrent() { - return mCurrent == null ? this : mCurrent; - } + public abstract RenderStyle current(); } diff --git a/vtm/src/org/oscim/theme/styles/SymbolStyle.java b/vtm/src/org/oscim/theme/styles/SymbolStyle.java index b8d2c96b..826ef4e5 100644 --- a/vtm/src/org/oscim/theme/styles/SymbolStyle.java +++ b/vtm/src/org/oscim/theme/styles/SymbolStyle.java @@ -44,4 +44,9 @@ public final class SymbolStyle extends RenderStyle { public void renderWay(Callback cb) { cb.renderSymbol(this); } + + @Override + public SymbolStyle current() { + return (SymbolStyle) (mCurrent == null ? this : mCurrent); + } } diff --git a/vtm/src/org/oscim/theme/styles/TextStyle.java b/vtm/src/org/oscim/theme/styles/TextStyle.java index a0ff33b6..d8985d5a 100644 --- a/vtm/src/org/oscim/theme/styles/TextStyle.java +++ b/vtm/src/org/oscim/theme/styles/TextStyle.java @@ -191,6 +191,11 @@ public final class TextStyle extends RenderStyle { cb.renderText(this); } + @Override + public TextStyle current() { + return (TextStyle) (mCurrent == null ? this : mCurrent); + } + @Override public void scaleTextSize(float scaleFactor) { paint.setTextSize(fontSize * scaleFactor);