From 3577e648d1ecf91e663d0503d55dc9dda20a1c63 Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Thu, 11 Sep 2014 13:31:45 +0200 Subject: [PATCH] make LayerRenderer methods public to enable composition --- vtm/src/org/oscim/layers/CustomRenderLayer.java | 4 ++-- vtm/src/org/oscim/layers/tile/TileRenderer.java | 4 ++-- .../oscim/layers/tile/VectorTileRenderer.java | 2 +- .../layers/tile/buildings/BuildingRenderer.java | 16 ++++++++-------- .../oscim/layers/vector/AbstractVectorLayer.java | 2 +- vtm/src/org/oscim/renderer/BitmapRenderer.java | 4 ++-- vtm/src/org/oscim/renderer/BucketRenderer.java | 4 ++-- .../org/oscim/renderer/ExtrusionRenderer.java | 2 +- vtm/src/org/oscim/renderer/GridRenderer.java | 2 +- vtm/src/org/oscim/renderer/LayerRenderer.java | 6 +++--- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/vtm/src/org/oscim/layers/CustomRenderLayer.java b/vtm/src/org/oscim/layers/CustomRenderLayer.java index 4dd06f8d..2058dda8 100644 --- a/vtm/src/org/oscim/layers/CustomRenderLayer.java +++ b/vtm/src/org/oscim/layers/CustomRenderLayer.java @@ -33,7 +33,7 @@ public class CustomRenderLayer extends Layer implements UpdateListener { // functions running on MapRender Thread @Override - protected void update(GLViewport v) { + public void update(GLViewport v) { int currentState; synchronized (this) { @@ -49,7 +49,7 @@ public class CustomRenderLayer extends Layer implements UpdateListener { } @Override - protected void render(GLViewport v) { + public void render(GLViewport v) { } } diff --git a/vtm/src/org/oscim/layers/tile/TileRenderer.java b/vtm/src/org/oscim/layers/tile/TileRenderer.java index 32d8f11d..d1cc8ee3 100644 --- a/vtm/src/org/oscim/layers/tile/TileRenderer.java +++ b/vtm/src/org/oscim/layers/tile/TileRenderer.java @@ -78,7 +78,7 @@ public abstract class TileRenderer extends LayerRenderer { * synced with clearTiles, setOverdrawColor and setBitmapAlpha */ @Override - protected synchronized void update(GLViewport v) { + public synchronized void update(GLViewport v) { if (mAlpha == 0) { mTileManager.releaseTiles(mDrawTiles); @@ -115,7 +115,7 @@ public abstract class TileRenderer extends LayerRenderer { } @Override - protected void render(GLViewport v) { + public void render(GLViewport v) { /* render in update() so that tiles cannot vanish in between. */ } diff --git a/vtm/src/org/oscim/layers/tile/VectorTileRenderer.java b/vtm/src/org/oscim/layers/tile/VectorTileRenderer.java index daa16e2e..e3a291de 100644 --- a/vtm/src/org/oscim/layers/tile/VectorTileRenderer.java +++ b/vtm/src/org/oscim/layers/tile/VectorTileRenderer.java @@ -45,7 +45,7 @@ public class VectorTileRenderer extends TileRenderer { protected int mDrawSerial; @Override - protected synchronized void update(GLViewport v) { + public synchronized void update(GLViewport v) { super.update(v); /* discard depth projection from tilt, depth buffer diff --git a/vtm/src/org/oscim/layers/tile/buildings/BuildingRenderer.java b/vtm/src/org/oscim/layers/tile/buildings/BuildingRenderer.java index 6aec91fb..4104eefa 100644 --- a/vtm/src/org/oscim/layers/tile/buildings/BuildingRenderer.java +++ b/vtm/src/org/oscim/layers/tile/buildings/BuildingRenderer.java @@ -20,7 +20,7 @@ import org.slf4j.LoggerFactory; public class BuildingRenderer extends ExtrusionRenderer { static final Logger log = LoggerFactory.getLogger(BuildingRenderer.class); - private final TileRenderer mTileLayer; + private final TileRenderer mTileRenderer; private final TileSet mTileSet; private final int mZoomMin; @@ -32,18 +32,18 @@ public class BuildingRenderer extends ExtrusionRenderer { private long mAnimTime; private boolean mShow; - public BuildingRenderer(TileRenderer tileRenderLayer, int zoomMin, int zoomMax, + public BuildingRenderer(TileRenderer tileRenderer, int zoomMin, int zoomMax, boolean mesh, boolean alpha) { super(mesh, alpha); mZoomMax = zoomMax; mZoomMin = zoomMin; - mTileLayer = tileRenderLayer; + mTileRenderer = tileRenderer; mTileSet = new TileSet(); } @Override - protected boolean setup() { + public boolean setup() { mAlpha = 0; return super.setup(); @@ -89,10 +89,10 @@ public class BuildingRenderer extends ExtrusionRenderer { return; } - mTileLayer.getVisibleTiles(mTileSet); + mTileRenderer.getVisibleTiles(mTileSet); if (mTileSet.cnt == 0) { - mTileLayer.releaseTiles(mTileSet); + mTileRenderer.releaseTiles(mTileSet); setReady(false); return; } @@ -177,7 +177,7 @@ public class BuildingRenderer extends ExtrusionRenderer { //log.debug("active tiles: {}", mExtrusionLayerCnt); if (activeTiles == 0) { - mTileLayer.releaseTiles(mTileSet); + mTileRenderer.releaseTiles(mTileSet); setReady(false); return; } @@ -189,7 +189,7 @@ public class BuildingRenderer extends ExtrusionRenderer { super.render(v); /* release lock on tile data */ - mTileLayer.releaseTiles(mTileSet); + mTileRenderer.releaseTiles(mTileSet); } private static ExtrusionBuckets getLayer(MapTile t) { diff --git a/vtm/src/org/oscim/layers/vector/AbstractVectorLayer.java b/vtm/src/org/oscim/layers/vector/AbstractVectorLayer.java index 0eecc25e..25192667 100644 --- a/vtm/src/org/oscim/layers/vector/AbstractVectorLayer.java +++ b/vtm/src/org/oscim/layers/vector/AbstractVectorLayer.java @@ -107,7 +107,7 @@ public abstract class AbstractVectorLayer extends Layer implements UpdateList MapPosition mTmpPos = new MapPosition(); @Override - protected void update(GLViewport v) { + public void update(GLViewport v) { Task t = mWorker.poll(); diff --git a/vtm/src/org/oscim/renderer/BitmapRenderer.java b/vtm/src/org/oscim/renderer/BitmapRenderer.java index 0d0325d8..ce64ee12 100644 --- a/vtm/src/org/oscim/renderer/BitmapRenderer.java +++ b/vtm/src/org/oscim/renderer/BitmapRenderer.java @@ -54,7 +54,7 @@ public class BitmapRenderer extends BucketRenderer { } @Override - protected synchronized void update(GLViewport v) { + public synchronized void update(GLViewport v) { if (!initialized) { buckets.clear(); @@ -82,7 +82,7 @@ public class BitmapRenderer extends BucketRenderer { } @Override - protected synchronized void render(GLViewport v) { + public synchronized void render(GLViewport v) { v.useScreenCoordinates(false, 8); BitmapBucket.Renderer.draw(buckets.get(), v, 1, 1); } diff --git a/vtm/src/org/oscim/renderer/BucketRenderer.java b/vtm/src/org/oscim/renderer/BucketRenderer.java index 07a1fbe1..41fd29ac 100644 --- a/vtm/src/org/oscim/renderer/BucketRenderer.java +++ b/vtm/src/org/oscim/renderer/BucketRenderer.java @@ -72,7 +72,7 @@ public class BucketRenderer extends LayerRenderer { * Copy initial Viewport position and compile buckets. */ @Override - protected void update(GLViewport v) { + public void update(GLViewport v) { if (!mInititialzed) { mMapPosition.copy(v.pos); mInititialzed = true; @@ -84,7 +84,7 @@ public class BucketRenderer extends LayerRenderer { * Render all 'buckets' */ @Override - protected synchronized void render(GLViewport v) { + public synchronized void render(GLViewport v) { MapPosition layerPos = mMapPosition; GLState.test(false, false); diff --git a/vtm/src/org/oscim/renderer/ExtrusionRenderer.java b/vtm/src/org/oscim/renderer/ExtrusionRenderer.java index 03a35a50..e66258a0 100644 --- a/vtm/src/org/oscim/renderer/ExtrusionRenderer.java +++ b/vtm/src/org/oscim/renderer/ExtrusionRenderer.java @@ -56,7 +56,7 @@ public abstract class ExtrusionRenderer extends LayerRenderer { } @Override - protected boolean setup() { + public boolean setup() { if (mMode == 0) mShader = new Shader("extrusion_layer_ext"); else diff --git a/vtm/src/org/oscim/renderer/GridRenderer.java b/vtm/src/org/oscim/renderer/GridRenderer.java index e0369038..4d6595ac 100644 --- a/vtm/src/org/oscim/renderer/GridRenderer.java +++ b/vtm/src/org/oscim/renderer/GridRenderer.java @@ -110,7 +110,7 @@ public class GridRenderer extends BucketRenderer { } @Override - protected void update(GLViewport v) { + public void update(GLViewport v) { /* scale coordinates relative to current 'zoom-level' to * get the position as the nearest tile coordinate */ int z = 1 << v.pos.zoomLevel; diff --git a/vtm/src/org/oscim/renderer/LayerRenderer.java b/vtm/src/org/oscim/renderer/LayerRenderer.java index 729c19f7..307d0c13 100644 --- a/vtm/src/org/oscim/renderer/LayerRenderer.java +++ b/vtm/src/org/oscim/renderer/LayerRenderer.java @@ -48,7 +48,7 @@ public abstract class LayerRenderer { /** * 0. Called on GL Thread before first update(). */ - protected boolean setup() { + public boolean setup() { return true; } @@ -62,7 +62,7 @@ public abstract class LayerRenderer { * @param matrices contains the current view- and projection-matrices * and 'mvp' matrix for temporary use. */ - protected abstract void update(GLViewport viewport); + public abstract void update(GLViewport viewport); /** * 2. Draw layer: called by MapRenderer when isReady == true. @@ -72,6 +72,6 @@ public abstract class LayerRenderer { * 'matrices.mvp' is for temporary use to build the model- * view-projection to set as uniform. */ - protected abstract void render(GLViewport viewport); + public abstract void render(GLViewport viewport); }