From 57ec6ea067ffdc6e6ea44d2c2ec2cce7c1cac6fe Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Sun, 28 Apr 2013 04:19:07 +0200 Subject: [PATCH] fix TextGridLayer --- src/org/oscim/renderer/layer/TextLayer.java | 8 +++++++- src/org/oscim/renderer/overlays/GridOverlay.java | 9 ++++----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/org/oscim/renderer/layer/TextLayer.java b/src/org/oscim/renderer/layer/TextLayer.java index 5da2f7ac..a6f6fb1a 100644 --- a/src/org/oscim/renderer/layer/TextLayer.java +++ b/src/org/oscim/renderer/layer/TextLayer.java @@ -265,11 +265,17 @@ public final class TextLayer extends TextureLayer { @Override protected void clear() { TextureItem.releaseAll(textures); + labels = null; + TextItem.pool.releaseAll(labels); VertexItem.pool.releaseAll(vertexItems); textures = null; - labels = null; vertexItems = null; verticesCnt = 0; } + + public void clearLabels() { + TextItem.pool.releaseAll(labels); + labels = null; + } } diff --git a/src/org/oscim/renderer/overlays/GridOverlay.java b/src/org/oscim/renderer/overlays/GridOverlay.java index 7e765359..1580b663 100644 --- a/src/org/oscim/renderer/overlays/GridOverlay.java +++ b/src/org/oscim/renderer/overlays/GridOverlay.java @@ -76,7 +76,8 @@ public class GridOverlay extends BasicOverlay { for (int i = -2; i < 2; i++) { for (int j = -2; j < 2; j++) { - TextItem ti = TextItem.pool.get().set(size * j + size / 2, size * i + size / 2, + TextItem ti = TextItem.pool.get(); + ti.set(size * j + size / 2, size * i + size / 2, (x + j) + " / " + (y + i) + " / " + z, mText); // TextItem ti = new TextItem(size * j + size / 2, size * i + @@ -93,8 +94,7 @@ public class GridOverlay extends BasicOverlay { } tl.prepare(); - - TextItem.pool.releaseAll(tl.labels); + tl.clearLabels(); layers.textureLayers = tl; } @@ -108,7 +108,6 @@ public class GridOverlay extends BasicOverlay { boolean tilesChanged, Matrices matrices) { int z = 1 << curPos.zoomLevel; - int x = (int) (curPos.x * z); int y = (int) (curPos.y * z); @@ -133,7 +132,7 @@ public class GridOverlay extends BasicOverlay { ll.width = 1.5f; ll.addLine(mPoints, mIndex, false); - addLabels(x, y, mCurZ); + addLabels(x, y, curPos.zoomLevel); newData = true; } }