From 7d767ec2e414f3eccc8fcfd90320a36f8639539a Mon Sep 17 00:00:00 2001 From: Hannes Janetzek Date: Sun, 21 Apr 2013 23:28:01 +0200 Subject: [PATCH] move 'simple' layer renderers to renderer.layer --- src/org/oscim/layers/tile/TileRenderer.java | 6 +-- src/org/oscim/renderer/GLRenderer.java | 11 +---- src/org/oscim/renderer/layer/Layers.java | 8 ++++ .../renderer/{ => layer}/LineRenderer.java | 7 ++- .../renderer/{ => layer}/LineTexRenderer.java | 8 ++-- .../renderer/{ => layer}/PolygonRenderer.java | 6 +-- src/org/oscim/renderer/layer/SymbolLayer.java | 1 - src/org/oscim/renderer/layer/TextLayer.java | 1 - .../renderer/{ => layer}/TextureAtlas.java | 2 +- src/org/oscim/renderer/layer/TextureItem.java | 5 +-- .../renderer/{ => layer}/TextureRenderer.java | 7 ++- .../oscim/renderer/overlays/AtlasTest.java | 6 +-- .../oscim/renderer/overlays/BasicOverlay.java | 8 ++-- .../oscim/renderer/overlays/TextOverlay.java | 6 +-- .../oscim/renderer/overlays/ViewOverlay.java | 44 +++++++++++++++++++ 15 files changed, 81 insertions(+), 45 deletions(-) rename src/org/oscim/renderer/{ => layer}/LineRenderer.java (98%) rename src/org/oscim/renderer/{ => layer}/LineTexRenderer.java (98%) rename src/org/oscim/renderer/{ => layer}/PolygonRenderer.java (99%) rename src/org/oscim/renderer/{ => layer}/TextureAtlas.java (99%) rename src/org/oscim/renderer/{ => layer}/TextureRenderer.java (96%) create mode 100644 src/org/oscim/renderer/overlays/ViewOverlay.java diff --git a/src/org/oscim/layers/tile/TileRenderer.java b/src/org/oscim/layers/tile/TileRenderer.java index 2c96a76d..0427cc7e 100644 --- a/src/org/oscim/layers/tile/TileRenderer.java +++ b/src/org/oscim/layers/tile/TileRenderer.java @@ -22,10 +22,10 @@ import org.oscim.core.MapPosition; import org.oscim.core.Tile; import org.oscim.renderer.GLRenderer; import org.oscim.renderer.GLRenderer.Matrices; -import org.oscim.renderer.LineRenderer; -import org.oscim.renderer.LineTexRenderer; -import org.oscim.renderer.PolygonRenderer; import org.oscim.renderer.layer.Layer; +import org.oscim.renderer.layer.LineRenderer; +import org.oscim.renderer.layer.LineTexRenderer; +import org.oscim.renderer.layer.PolygonRenderer; import org.oscim.utils.FastMath; import org.oscim.utils.Matrix4; import org.oscim.utils.quadtree.QuadTree; diff --git a/src/org/oscim/renderer/GLRenderer.java b/src/org/oscim/renderer/GLRenderer.java index 50448d2a..7ca27c6a 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.layer.TextureItem; import org.oscim.renderer.overlays.RenderOverlay; import org.oscim.theme.RenderTheme; import org.oscim.utils.GlUtils; @@ -380,21 +379,13 @@ public class GLRenderer implements GLSurfaceView.Renderer { mMapView.redrawMap(true); } - public static void initRenderer() { - LineRenderer.init(); - LineTexRenderer.init(); - PolygonRenderer.init(); - TextureRenderer.init(); - - TextureItem.init(10); - } @Override public void onSurfaceCreated(GL10 gl, EGLConfig config) { // Log.d(TAG, GLES20.glGetString(GLES20.GL_EXTENSIONS)); // classes that require GL context for initialization - initRenderer(); + Layers.initRenderer(); mNewSurface = true; } diff --git a/src/org/oscim/renderer/layer/Layers.java b/src/org/oscim/renderer/layer/Layers.java index 78d1415e..3d032992 100644 --- a/src/org/oscim/renderer/layer/Layers.java +++ b/src/org/oscim/renderer/layer/Layers.java @@ -23,6 +23,14 @@ import android.util.Log; public class Layers { private final static String TAG = Layers.class.getName(); + public static void initRenderer() { + LineRenderer.init(); + LineTexRenderer.init(); + PolygonRenderer.init(); + TextureRenderer.init(); + + TextureItem.init(10); + } // mixed Polygon- and LineLayer public Layer baseLayers; diff --git a/src/org/oscim/renderer/LineRenderer.java b/src/org/oscim/renderer/layer/LineRenderer.java similarity index 98% rename from src/org/oscim/renderer/LineRenderer.java rename to src/org/oscim/renderer/layer/LineRenderer.java index 8f7f038a..e33a9990 100644 --- a/src/org/oscim/renderer/LineRenderer.java +++ b/src/org/oscim/renderer/layer/LineRenderer.java @@ -12,7 +12,7 @@ * You should have received a copy of the GNU Lesser General License along with * this program. If not, see . */ -package org.oscim.renderer; +package org.oscim.renderer.layer; import static android.opengl.GLES20.GL_SHORT; import static android.opengl.GLES20.GL_TRIANGLE_STRIP; @@ -23,10 +23,9 @@ import static android.opengl.GLES20.glUniform1f; import static android.opengl.GLES20.glVertexAttribPointer; import org.oscim.core.MapPosition; +import org.oscim.renderer.GLRenderer; +import org.oscim.renderer.GLState; import org.oscim.renderer.GLRenderer.Matrices; -import org.oscim.renderer.layer.Layer; -import org.oscim.renderer.layer.Layers; -import org.oscim.renderer.layer.LineLayer; import org.oscim.theme.renderinstruction.Line; import org.oscim.utils.GlUtils; diff --git a/src/org/oscim/renderer/LineTexRenderer.java b/src/org/oscim/renderer/layer/LineTexRenderer.java similarity index 98% rename from src/org/oscim/renderer/LineTexRenderer.java rename to src/org/oscim/renderer/layer/LineTexRenderer.java index 0ef0d04e..e45c569e 100644 --- a/src/org/oscim/renderer/LineTexRenderer.java +++ b/src/org/oscim/renderer/layer/LineTexRenderer.java @@ -12,17 +12,15 @@ * You should have received a copy of the GNU Lesser General Public License along with * this program. If not, see . */ -package org.oscim.renderer; +package org.oscim.renderer.layer; import java.nio.ByteBuffer; import java.nio.ByteOrder; import org.oscim.core.MapPosition; +import org.oscim.renderer.GLRenderer; +import org.oscim.renderer.GLState; import org.oscim.renderer.GLRenderer.Matrices; -import org.oscim.renderer.layer.Layer; -import org.oscim.renderer.layer.Layers; -import org.oscim.renderer.layer.LineLayer; -import org.oscim.renderer.layer.LineTexLayer; import org.oscim.theme.renderinstruction.Line; import org.oscim.utils.GlUtils; diff --git a/src/org/oscim/renderer/PolygonRenderer.java b/src/org/oscim/renderer/layer/PolygonRenderer.java similarity index 99% rename from src/org/oscim/renderer/PolygonRenderer.java rename to src/org/oscim/renderer/layer/PolygonRenderer.java index 29040075..cf070ebe 100644 --- a/src/org/oscim/renderer/PolygonRenderer.java +++ b/src/org/oscim/renderer/layer/PolygonRenderer.java @@ -12,7 +12,7 @@ * You should have received a copy of the GNU Lesser General License along with * this program. If not, see . */ -package org.oscim.renderer; +package org.oscim.renderer.layer; import static android.opengl.GLES20.GL_ALWAYS; import static android.opengl.GLES20.GL_EQUAL; @@ -36,9 +36,9 @@ import java.nio.ByteOrder; import java.nio.FloatBuffer; import org.oscim.core.MapPosition; +import org.oscim.renderer.GLRenderer; +import org.oscim.renderer.GLState; import org.oscim.renderer.GLRenderer.Matrices; -import org.oscim.renderer.layer.Layer; -import org.oscim.renderer.layer.PolygonLayer; import org.oscim.theme.renderinstruction.Area; import org.oscim.utils.GlUtils; import org.oscim.utils.Matrix4; diff --git a/src/org/oscim/renderer/layer/SymbolLayer.java b/src/org/oscim/renderer/layer/SymbolLayer.java index 0e51d04b..99fe2b03 100644 --- a/src/org/oscim/renderer/layer/SymbolLayer.java +++ b/src/org/oscim/renderer/layer/SymbolLayer.java @@ -14,7 +14,6 @@ */ package org.oscim.renderer.layer; -import org.oscim.renderer.TextureRenderer; import android.graphics.Canvas; import android.graphics.Rect; diff --git a/src/org/oscim/renderer/layer/TextLayer.java b/src/org/oscim/renderer/layer/TextLayer.java index 84ebb546..cb6a1e4c 100644 --- a/src/org/oscim/renderer/layer/TextLayer.java +++ b/src/org/oscim/renderer/layer/TextLayer.java @@ -18,7 +18,6 @@ import static org.oscim.renderer.GLRenderer.COORD_SCALE; import static org.oscim.renderer.layer.TextureItem.TEXTURE_HEIGHT; import static org.oscim.renderer.layer.TextureItem.TEXTURE_WIDTH; -import org.oscim.renderer.TextureRenderer; import android.graphics.Canvas; public final class TextLayer extends TextureLayer { diff --git a/src/org/oscim/renderer/TextureAtlas.java b/src/org/oscim/renderer/layer/TextureAtlas.java similarity index 99% rename from src/org/oscim/renderer/TextureAtlas.java rename to src/org/oscim/renderer/layer/TextureAtlas.java index 26aea2d2..323873a6 100644 --- a/src/org/oscim/renderer/TextureAtlas.java +++ b/src/org/oscim/renderer/layer/TextureAtlas.java @@ -57,7 +57,7 @@ * * ============================================================================ */ -package org.oscim.renderer; +package org.oscim.renderer.layer; import org.oscim.utils.pool.Inlist; diff --git a/src/org/oscim/renderer/layer/TextureItem.java b/src/org/oscim/renderer/layer/TextureItem.java index 84a2eaa7..4a9bff02 100644 --- a/src/org/oscim/renderer/layer/TextureItem.java +++ b/src/org/oscim/renderer/layer/TextureItem.java @@ -16,7 +16,6 @@ package org.oscim.renderer.layer; import java.util.ArrayList; -import org.oscim.renderer.TextureRenderer; import org.oscim.utils.pool.Inlist; import org.oscim.utils.pool.SyncPool; @@ -88,7 +87,7 @@ public class TextureItem extends Inlist { } }; - private static ArrayList mBitmaps = new ArrayList(10);; + private static ArrayList mBitmaps = new ArrayList(10); public final static int TEXTURE_WIDTH = 512; public final static int TEXTURE_HEIGHT = 256; @@ -152,7 +151,7 @@ public class TextureItem extends Inlist { GLES20.GL_CLAMP_TO_EDGE); // Set V Wrapping } - public static void init(int num) { + static void init(int num) { pool.init(num); mBitmaps = new ArrayList(10); diff --git a/src/org/oscim/renderer/TextureRenderer.java b/src/org/oscim/renderer/layer/TextureRenderer.java similarity index 96% rename from src/org/oscim/renderer/TextureRenderer.java rename to src/org/oscim/renderer/layer/TextureRenderer.java index 268c0081..520a3530 100644 --- a/src/org/oscim/renderer/TextureRenderer.java +++ b/src/org/oscim/renderer/layer/TextureRenderer.java @@ -13,16 +13,15 @@ * this program. If not, see . */ -package org.oscim.renderer; +package org.oscim.renderer.layer; import static org.oscim.renderer.GLRenderer.COORD_SCALE; import static org.oscim.renderer.layer.TextureItem.TEXTURE_HEIGHT; import static org.oscim.renderer.layer.TextureItem.TEXTURE_WIDTH; +import org.oscim.renderer.GLRenderer; +import org.oscim.renderer.GLState; import org.oscim.renderer.GLRenderer.Matrices; -import org.oscim.renderer.layer.Layer; -import org.oscim.renderer.layer.TextureItem; -import org.oscim.renderer.layer.TextureLayer; import org.oscim.utils.GlUtils; import android.opengl.GLES20; diff --git a/src/org/oscim/renderer/overlays/AtlasTest.java b/src/org/oscim/renderer/overlays/AtlasTest.java index ed330b62..6d5c35d1 100644 --- a/src/org/oscim/renderer/overlays/AtlasTest.java +++ b/src/org/oscim/renderer/overlays/AtlasTest.java @@ -6,12 +6,12 @@ import org.oscim.core.MapPosition; import org.oscim.graphics.Color; import org.oscim.graphics.Paint.Cap; import org.oscim.renderer.GLRenderer.Matrices; -import org.oscim.renderer.TextureAtlas; -import org.oscim.renderer.TextureAtlas.Rect; -import org.oscim.renderer.TextureAtlas.Slot; import org.oscim.renderer.layer.LineLayer; import org.oscim.renderer.layer.TextItem; import org.oscim.renderer.layer.TextLayer; +import org.oscim.renderer.layer.TextureAtlas; +import org.oscim.renderer.layer.TextureAtlas.Rect; +import org.oscim.renderer.layer.TextureAtlas.Slot; import org.oscim.theme.renderinstruction.Line; import org.oscim.theme.renderinstruction.Text; import org.oscim.view.MapView; diff --git a/src/org/oscim/renderer/overlays/BasicOverlay.java b/src/org/oscim/renderer/overlays/BasicOverlay.java index e85d5e19..9c793881 100644 --- a/src/org/oscim/renderer/overlays/BasicOverlay.java +++ b/src/org/oscim/renderer/overlays/BasicOverlay.java @@ -19,12 +19,12 @@ import org.oscim.renderer.BufferObject; import org.oscim.renderer.GLRenderer; import org.oscim.renderer.GLRenderer.Matrices; import org.oscim.renderer.GLState; -import org.oscim.renderer.LineRenderer; -import org.oscim.renderer.LineTexRenderer; -import org.oscim.renderer.PolygonRenderer; -import org.oscim.renderer.TextureRenderer; import org.oscim.renderer.layer.Layer; import org.oscim.renderer.layer.Layers; +import org.oscim.renderer.layer.LineRenderer; +import org.oscim.renderer.layer.LineTexRenderer; +import org.oscim.renderer.layer.PolygonRenderer; +import org.oscim.renderer.layer.TextureRenderer; import org.oscim.utils.FastMath; import org.oscim.view.MapView; diff --git a/src/org/oscim/renderer/overlays/TextOverlay.java b/src/org/oscim/renderer/overlays/TextOverlay.java index 25ada767..9caa0245 100644 --- a/src/org/oscim/renderer/overlays/TextOverlay.java +++ b/src/org/oscim/renderer/overlays/TextOverlay.java @@ -42,14 +42,14 @@ import org.oscim.renderer.BufferObject; import org.oscim.renderer.GLRenderer; import org.oscim.renderer.GLRenderer.Matrices; import org.oscim.renderer.GLState; -import org.oscim.renderer.LineRenderer; -import org.oscim.renderer.PolygonRenderer; -import org.oscim.renderer.TextureRenderer; import org.oscim.renderer.layer.Layer; import org.oscim.renderer.layer.Layers; import org.oscim.renderer.layer.LineLayer; +import org.oscim.renderer.layer.LineRenderer; +import org.oscim.renderer.layer.PolygonRenderer; import org.oscim.renderer.layer.TextItem; import org.oscim.renderer.layer.TextLayer; +import org.oscim.renderer.layer.TextureRenderer; import org.oscim.theme.renderinstruction.Line; import org.oscim.utils.FastMath; import org.oscim.utils.OBB2D; diff --git a/src/org/oscim/renderer/overlays/ViewOverlay.java b/src/org/oscim/renderer/overlays/ViewOverlay.java new file mode 100644 index 00000000..9bf6a317 --- /dev/null +++ b/src/org/oscim/renderer/overlays/ViewOverlay.java @@ -0,0 +1,44 @@ +/* + * Copyright 2013 Hannes Janetzek + * + * This program is free software: you can redistribute it and/or modify it under the + * terms of the GNU Lesser General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT ANY + * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A + * PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. + * + * 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; + +import org.oscim.core.MapPosition; +import org.oscim.renderer.GLRenderer.Matrices; +import org.oscim.view.MapView; + +public class ViewOverlay extends RenderOverlay { + + + public ViewOverlay(MapView mapView) { + super(mapView); + } + + @Override + public void update(MapPosition curPos, boolean positionChanged, boolean tilesChanged, + Matrices matrices) { + + } + + @Override + public void compile() { + + } + + @Override + public void render(MapPosition pos, Matrices m) { + + } + +}