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 6e37080a..968f3670 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 @@ -343,7 +343,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac return; PointF p = mElement.getPoint(0); - mTile.addLabel(TextItem.pool.get().set(p.x, p.y, value, text)); + mTile.labels.push(TextItem.pool.get().set(p.x, p.y, value, text)); } @Override @@ -354,7 +354,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac for (int i = 0, n = mElement.getNumPoints(); i < n; i++) { PointF p = mElement.getPoint(i); - mTile.addLabel(TextItem.pool.get().set(p.x, p.y, value, text)); + mTile.labels.push(TextItem.pool.get().set(p.x, p.y, value, text)); } } @@ -391,7 +391,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac SymbolItem it = SymbolItem.pool.get(); it.set(p.x, p.y, symbol.texture, true); - mTile.addSymbol(it); + mTile.symbols.push(it); } } diff --git a/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java b/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java index 704466ba..a971aa72 100644 --- a/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java +++ b/vtm/src/org/oscim/layers/tile/vector/VectorTileLoader.java @@ -360,7 +360,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac x /= (n / 2); y /= (n / 2); - mTile.addLabel(TextItem.pool.get().set(x, y, value, text)); + mTile.labels.push(TextItem.pool.get().set(x, y, value, text)); } @Override @@ -371,7 +371,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac for (int i = 0, n = mElement.getNumPoints(); i < n; i++) { PointF p = mElement.getPoint(i); - mTile.addLabel(TextItem.pool.get().set(p.x, p.y, value, text)); + mTile.labels.push(TextItem.pool.get().set(p.x, p.y, value, text)); } } @@ -407,7 +407,7 @@ public class VectorTileLoader extends TileLoader implements IRenderTheme.Callbac SymbolItem it = SymbolItem.pool.get(); it.set(p.x, p.y, symbol.texture, true); - mTile.addSymbol(it); + mTile.symbols.push(it); } } diff --git a/vtm/src/org/oscim/layers/tile/vector/WayDecorator.java b/vtm/src/org/oscim/layers/tile/vector/WayDecorator.java index 060c6432..dc6418d5 100644 --- a/vtm/src/org/oscim/layers/tile/vector/WayDecorator.java +++ b/vtm/src/org/oscim/layers/tile/vector/WayDecorator.java @@ -214,8 +214,9 @@ public final class WayDecorator { t.x2 = x2; t.y2 = y2; t.length = (short) segmentLength; + t.edges = edge; - tile.addLabel(t); + tile.labels.push(t); i = last; } diff --git a/vtm/src/org/oscim/layers/tile/vector/labeling/LabelPlacement.java b/vtm/src/org/oscim/layers/tile/vector/labeling/LabelPlacement.java index addbf54a..fa4e13e4 100644 --- a/vtm/src/org/oscim/layers/tile/vector/labeling/LabelPlacement.java +++ b/vtm/src/org/oscim/layers/tile/vector/labeling/LabelPlacement.java @@ -173,7 +173,7 @@ public class LabelPlacement { private Label addWayLabels(MapTile t, Label l, float dx, float dy, double scale) { - for (TextItem ti = t.labels; ti != null; ti = ti.next) { + for (TextItem ti : t.labels) { if (ti.text.caption) continue; @@ -225,7 +225,8 @@ public class LabelPlacement { private Label addNodeLabels(MapTile t, Label l, float dx, float dy, double scale, float cos, float sin) { - O: for (TextItem ti = t.labels; ti != null; ti = ti.next) { + + O: for (TextItem ti : t.labels) { if (!ti.text.caption) continue; @@ -443,7 +444,7 @@ public class LabelPlacement { float dy = (float) (t.tileY * Tile.SIZE - tileY); dx = flipLongitude(dx, maxx); - for (SymbolItem ti = t.symbols; ti != null; ti = ti.next) { + for (SymbolItem ti : t.symbols) { if (ti.texRegion == null) continue; diff --git a/vtm/src/org/oscim/tiling/MapTile.java b/vtm/src/org/oscim/tiling/MapTile.java index 8bdb5429..2413f324 100644 --- a/vtm/src/org/oscim/tiling/MapTile.java +++ b/vtm/src/org/oscim/tiling/MapTile.java @@ -20,7 +20,7 @@ import org.oscim.core.Tile; import org.oscim.renderer.elements.ElementLayers; import org.oscim.renderer.elements.SymbolItem; import org.oscim.renderer.elements.TextItem; -import org.oscim.utils.pool.Inlist; +import org.oscim.utils.pool.Inlist.List; import org.oscim.utils.quadtree.Node; /** @@ -81,18 +81,12 @@ public class MapTile extends Tile { * FIXME move to VectorMapTile * Tile data set by TileLoader. */ - public TextItem labels; - public SymbolItem symbols; + + public final List symbols = new List(); + public final List labels = new List(); + public ElementLayers layers; - public void addLabel(TextItem it) { - labels = Inlist.push(labels, it); - } - - public void addSymbol(SymbolItem it) { - symbols = Inlist.push(symbols, it); - } - /** * Tile is in view region. Set by TileRenderer. */ @@ -234,8 +228,8 @@ public class MapTile extends Tile { layers = null; } - labels = TextItem.pool.releaseAll(labels); - symbols = SymbolItem.pool.releaseAll(symbols); + TextItem.pool.releaseAll(labels.clear()); + SymbolItem.pool.releaseAll(symbols.clear()); state = STATE_NONE; }