diff --git a/src/org/oscim/layers/tile/TileRenderLayer.java b/src/org/oscim/layers/tile/TileRenderLayer.java index 5243f8da..ebaa66d0 100644 --- a/src/org/oscim/layers/tile/TileRenderLayer.java +++ b/src/org/oscim/layers/tile/TileRenderLayer.java @@ -20,13 +20,13 @@ import static org.oscim.layers.tile.MapTile.STATE_READY; import org.oscim.core.MapPosition; import org.oscim.renderer.BufferObject; import org.oscim.renderer.GLRenderer; +import org.oscim.renderer.RenderLayer; import org.oscim.renderer.GLRenderer.Matrices; -import org.oscim.renderer.overlays.RenderOverlay; import org.oscim.utils.ScanBox; import org.oscim.view.MapView; import android.util.Log; -public class TileRenderLayer extends RenderOverlay { +public class TileRenderLayer extends RenderLayer { private final static String TAG = TileRenderLayer.class.getName(); private final float[] mBoxCoords; diff --git a/src/org/oscim/overlay/GenericOverlay.java b/src/org/oscim/overlay/GenericOverlay.java index f5cc45f7..0148ad5f 100644 --- a/src/org/oscim/overlay/GenericOverlay.java +++ b/src/org/oscim/overlay/GenericOverlay.java @@ -14,7 +14,7 @@ */ package org.oscim.overlay; -import org.oscim.renderer.overlays.RenderOverlay; +import org.oscim.renderer.RenderLayer; import org.oscim.view.MapView; public class GenericOverlay extends Overlay { @@ -24,7 +24,7 @@ public class GenericOverlay extends Overlay { * @param renderer * ... */ - public GenericOverlay(MapView mapView, RenderOverlay renderer) { + public GenericOverlay(MapView mapView, RenderLayer renderer) { super(mapView); mLayer = renderer; } diff --git a/src/org/oscim/renderer/GLRenderer.java b/src/org/oscim/renderer/GLRenderer.java index fad51c04..270a5d34 100644 --- a/src/org/oscim/renderer/GLRenderer.java +++ b/src/org/oscim/renderer/GLRenderer.java @@ -31,7 +31,6 @@ import org.oscim.core.MapPosition; import org.oscim.core.Tile; import org.oscim.layers.tile.MapTile; import org.oscim.renderer.layer.Layers; -import org.oscim.renderer.overlays.RenderOverlay; import org.oscim.theme.IRenderTheme; import org.oscim.utils.GlUtils; import org.oscim.utils.Matrix4; @@ -266,20 +265,21 @@ public class GLRenderer implements GLSurfaceView.Renderer { } } - /* update overlays */ - RenderOverlay[] overlays = mMapView.getOverlayManager().getRenderLayers(); + /* update layers*/ + RenderLayer[] overlays = mMapView.getOverlayManager().getRenderLayers(); for (int i = 0, n = overlays.length; i < n; i++) overlays[i].update(mMapPosition, positionChanged, tilesChanged, mMatrices); - /* draw overlays */ + /* draw layers */ for (int i = 0, n = overlays.length; i < n; i++) { - RenderOverlay renderLayer = overlays[i]; + RenderLayer renderLayer = overlays[i]; if (renderLayer.newData) { renderLayer.compile(); renderLayer.newData = false; } + if (renderLayer.isReady) renderLayer.render(mMapPosition, mMatrices); } diff --git a/src/org/oscim/renderer/overlays/RenderOverlay.java b/src/org/oscim/renderer/RenderLayer.java similarity index 95% rename from src/org/oscim/renderer/overlays/RenderOverlay.java rename to src/org/oscim/renderer/RenderLayer.java index dda6fcc4..90702f3b 100644 --- a/src/org/oscim/renderer/overlays/RenderOverlay.java +++ b/src/org/oscim/renderer/RenderLayer.java @@ -12,15 +12,14 @@ * You should have received a copy of the GNU Lesser General Public License along with * this program. If not, see . */ -package org.oscim.renderer.overlays; +package org.oscim.renderer; import org.oscim.core.MapPosition; import org.oscim.core.Tile; -import org.oscim.renderer.GLRenderer; import org.oscim.renderer.GLRenderer.Matrices; import org.oscim.view.MapView; -public abstract class RenderOverlay { +public abstract class RenderLayer { protected final MapView mMapView; // keep the Position for which the Overlay is rendered @@ -32,7 +31,7 @@ public abstract class RenderOverlay { // flag set by GLRenderer when data is compiled public boolean isReady; - public RenderOverlay(MapView mapView) { + public RenderLayer(MapView mapView) { mMapView = mapView; mMapPosition = new MapPosition(); } diff --git a/src/org/oscim/renderer/overlays/BasicOverlay.java b/src/org/oscim/renderer/overlays/BasicOverlay.java index 9c793881..efdfeab8 100644 --- a/src/org/oscim/renderer/overlays/BasicOverlay.java +++ b/src/org/oscim/renderer/overlays/BasicOverlay.java @@ -17,6 +17,7 @@ package org.oscim.renderer.overlays; import org.oscim.core.MapPosition; import org.oscim.renderer.BufferObject; import org.oscim.renderer.GLRenderer; +import org.oscim.renderer.RenderLayer; import org.oscim.renderer.GLRenderer.Matrices; import org.oscim.renderer.GLState; import org.oscim.renderer.layer.Layer; @@ -31,7 +32,7 @@ import org.oscim.view.MapView; import android.opengl.GLES20; // Base class to use the Layers drawing 'API' -public abstract class BasicOverlay extends RenderOverlay { +public abstract class BasicOverlay extends RenderLayer { public final Layers layers; diff --git a/src/org/oscim/renderer/overlays/CustomOverlay.java b/src/org/oscim/renderer/overlays/CustomOverlay.java index d075c2e2..8ff2efff 100644 --- a/src/org/oscim/renderer/overlays/CustomOverlay.java +++ b/src/org/oscim/renderer/overlays/CustomOverlay.java @@ -21,6 +21,7 @@ import java.nio.FloatBuffer; import org.oscim.core.MapPosition; import org.oscim.renderer.GLRenderer.Matrices; import org.oscim.renderer.GLState; +import org.oscim.renderer.RenderLayer; import org.oscim.utils.GlUtils; import org.oscim.view.MapView; @@ -33,7 +34,7 @@ import android.opengl.GLES20; * https://github.com/dalinaum/opengl-es-book-samples/tree/master/Android * */ -public class CustomOverlay extends RenderOverlay { +public class CustomOverlay extends RenderLayer { private int mProgramObject; private int hVertexPosition; diff --git a/src/org/oscim/renderer/overlays/ExtrusionOverlay.java b/src/org/oscim/renderer/overlays/ExtrusionOverlay.java index 13af2ada..8847081c 100644 --- a/src/org/oscim/renderer/overlays/ExtrusionOverlay.java +++ b/src/org/oscim/renderer/overlays/ExtrusionOverlay.java @@ -25,6 +25,7 @@ import org.oscim.layers.tile.MapTile; import org.oscim.layers.tile.TileRenderLayer; import org.oscim.layers.tile.TileSet; import org.oscim.renderer.GLRenderer; +import org.oscim.renderer.RenderLayer; import org.oscim.renderer.GLRenderer.Matrices; import org.oscim.renderer.GLState; import org.oscim.renderer.layer.ExtrusionLayer; @@ -37,7 +38,7 @@ import android.util.Log; /** * @author Hannes Janetzek */ -public class ExtrusionOverlay extends RenderOverlay { +public class ExtrusionOverlay extends RenderLayer { private final static String TAG = ExtrusionOverlay.class.getName(); private final TileRenderLayer mTileLayer; diff --git a/src/org/oscim/renderer/overlays/ViewOverlay.java b/src/org/oscim/renderer/overlays/ViewOverlay.java index 9bf6a317..19366761 100644 --- a/src/org/oscim/renderer/overlays/ViewOverlay.java +++ b/src/org/oscim/renderer/overlays/ViewOverlay.java @@ -15,10 +15,11 @@ package org.oscim.renderer.overlays; import org.oscim.core.MapPosition; +import org.oscim.renderer.RenderLayer; import org.oscim.renderer.GLRenderer.Matrices; import org.oscim.view.MapView; -public class ViewOverlay extends RenderOverlay { +public class ViewOverlay extends RenderLayer { public ViewOverlay(MapView mapView) { diff --git a/src/org/oscim/view/LayerManager.java b/src/org/oscim/view/LayerManager.java index d5b8df54..4e57dae4 100644 --- a/src/org/oscim/view/LayerManager.java +++ b/src/org/oscim/view/LayerManager.java @@ -24,7 +24,7 @@ import org.oscim.core.PointF; import org.oscim.layers.InputLayer; import org.oscim.layers.Layer; import org.oscim.overlay.Overlay.Snappable; -import org.oscim.renderer.overlays.RenderOverlay; +import org.oscim.renderer.RenderLayer; import android.content.Context; import android.util.Log; @@ -78,9 +78,9 @@ public class LayerManager extends AbstractList implements OnGestureListen } private boolean mDirtyLayers; - private RenderOverlay[] mDrawLayers; + private RenderLayer[] mDrawLayers; - public RenderOverlay[] getRenderLayers() { + public RenderLayer[] getRenderLayers() { if (mDirtyLayers) updateLayers(); @@ -123,12 +123,12 @@ public class LayerManager extends AbstractList implements OnGestureListen mLayers[i] = o; } - mDrawLayers = new RenderOverlay[numRenderLayers]; + mDrawLayers = new RenderLayer[numRenderLayers]; mInputLayer = new InputLayer[numInputLayers]; for (int i = 0, cntR = 0, cntI = 1, n = mLayerList.size(); i < n; i++) { Layer o = mLayerList.get(i); - RenderOverlay l = o.getLayer(); + RenderLayer l = o.getLayer(); if (l != null) mDrawLayers[cntR++] = l;