move 'simple' layer renderers to renderer.layer
This commit is contained in:
parent
82227900d8
commit
7d767ec2e4
@ -22,10 +22,10 @@ import org.oscim.core.MapPosition;
|
|||||||
import org.oscim.core.Tile;
|
import org.oscim.core.Tile;
|
||||||
import org.oscim.renderer.GLRenderer;
|
import org.oscim.renderer.GLRenderer;
|
||||||
import org.oscim.renderer.GLRenderer.Matrices;
|
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.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.FastMath;
|
||||||
import org.oscim.utils.Matrix4;
|
import org.oscim.utils.Matrix4;
|
||||||
import org.oscim.utils.quadtree.QuadTree;
|
import org.oscim.utils.quadtree.QuadTree;
|
||||||
|
|||||||
@ -31,7 +31,6 @@ import org.oscim.core.MapPosition;
|
|||||||
import org.oscim.core.Tile;
|
import org.oscim.core.Tile;
|
||||||
import org.oscim.layers.tile.MapTile;
|
import org.oscim.layers.tile.MapTile;
|
||||||
import org.oscim.renderer.layer.Layers;
|
import org.oscim.renderer.layer.Layers;
|
||||||
import org.oscim.renderer.layer.TextureItem;
|
|
||||||
import org.oscim.renderer.overlays.RenderOverlay;
|
import org.oscim.renderer.overlays.RenderOverlay;
|
||||||
import org.oscim.theme.RenderTheme;
|
import org.oscim.theme.RenderTheme;
|
||||||
import org.oscim.utils.GlUtils;
|
import org.oscim.utils.GlUtils;
|
||||||
@ -380,21 +379,13 @@ public class GLRenderer implements GLSurfaceView.Renderer {
|
|||||||
|
|
||||||
mMapView.redrawMap(true);
|
mMapView.redrawMap(true);
|
||||||
}
|
}
|
||||||
public static void initRenderer() {
|
|
||||||
LineRenderer.init();
|
|
||||||
LineTexRenderer.init();
|
|
||||||
PolygonRenderer.init();
|
|
||||||
TextureRenderer.init();
|
|
||||||
|
|
||||||
TextureItem.init(10);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
|
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
|
||||||
// Log.d(TAG, GLES20.glGetString(GLES20.GL_EXTENSIONS));
|
// Log.d(TAG, GLES20.glGetString(GLES20.GL_EXTENSIONS));
|
||||||
|
|
||||||
// classes that require GL context for initialization
|
// classes that require GL context for initialization
|
||||||
initRenderer();
|
Layers.initRenderer();
|
||||||
|
|
||||||
mNewSurface = true;
|
mNewSurface = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,6 +23,14 @@ import android.util.Log;
|
|||||||
public class Layers {
|
public class Layers {
|
||||||
private final static String TAG = Layers.class.getName();
|
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
|
// mixed Polygon- and LineLayer
|
||||||
public Layer baseLayers;
|
public Layer baseLayers;
|
||||||
|
|||||||
@ -12,7 +12,7 @@
|
|||||||
* You should have received a copy of the GNU Lesser General License along with
|
* You should have received a copy of the GNU Lesser General License along with
|
||||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package org.oscim.renderer;
|
package org.oscim.renderer.layer;
|
||||||
|
|
||||||
import static android.opengl.GLES20.GL_SHORT;
|
import static android.opengl.GLES20.GL_SHORT;
|
||||||
import static android.opengl.GLES20.GL_TRIANGLE_STRIP;
|
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 static android.opengl.GLES20.glVertexAttribPointer;
|
||||||
|
|
||||||
import org.oscim.core.MapPosition;
|
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.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.theme.renderinstruction.Line;
|
||||||
import org.oscim.utils.GlUtils;
|
import org.oscim.utils.GlUtils;
|
||||||
|
|
||||||
@ -12,17 +12,15 @@
|
|||||||
* You should have received a copy of the GNU Lesser General Public License along with
|
* You should have received a copy of the GNU Lesser General Public License along with
|
||||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package org.oscim.renderer;
|
package org.oscim.renderer.layer;
|
||||||
|
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.nio.ByteOrder;
|
import java.nio.ByteOrder;
|
||||||
|
|
||||||
import org.oscim.core.MapPosition;
|
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.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.theme.renderinstruction.Line;
|
||||||
import org.oscim.utils.GlUtils;
|
import org.oscim.utils.GlUtils;
|
||||||
|
|
||||||
@ -12,7 +12,7 @@
|
|||||||
* You should have received a copy of the GNU Lesser General License along with
|
* You should have received a copy of the GNU Lesser General License along with
|
||||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
package org.oscim.renderer;
|
package org.oscim.renderer.layer;
|
||||||
|
|
||||||
import static android.opengl.GLES20.GL_ALWAYS;
|
import static android.opengl.GLES20.GL_ALWAYS;
|
||||||
import static android.opengl.GLES20.GL_EQUAL;
|
import static android.opengl.GLES20.GL_EQUAL;
|
||||||
@ -36,9 +36,9 @@ import java.nio.ByteOrder;
|
|||||||
import java.nio.FloatBuffer;
|
import java.nio.FloatBuffer;
|
||||||
|
|
||||||
import org.oscim.core.MapPosition;
|
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.GLRenderer.Matrices;
|
||||||
import org.oscim.renderer.layer.Layer;
|
|
||||||
import org.oscim.renderer.layer.PolygonLayer;
|
|
||||||
import org.oscim.theme.renderinstruction.Area;
|
import org.oscim.theme.renderinstruction.Area;
|
||||||
import org.oscim.utils.GlUtils;
|
import org.oscim.utils.GlUtils;
|
||||||
import org.oscim.utils.Matrix4;
|
import org.oscim.utils.Matrix4;
|
||||||
@ -14,7 +14,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.oscim.renderer.layer;
|
package org.oscim.renderer.layer;
|
||||||
|
|
||||||
import org.oscim.renderer.TextureRenderer;
|
|
||||||
|
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
import android.graphics.Rect;
|
import android.graphics.Rect;
|
||||||
|
|||||||
@ -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_HEIGHT;
|
||||||
import static org.oscim.renderer.layer.TextureItem.TEXTURE_WIDTH;
|
import static org.oscim.renderer.layer.TextureItem.TEXTURE_WIDTH;
|
||||||
|
|
||||||
import org.oscim.renderer.TextureRenderer;
|
|
||||||
|
|
||||||
import android.graphics.Canvas;
|
import android.graphics.Canvas;
|
||||||
public final class TextLayer extends TextureLayer {
|
public final class TextLayer extends TextureLayer {
|
||||||
|
|||||||
@ -57,7 +57,7 @@
|
|||||||
*
|
*
|
||||||
* ============================================================================
|
* ============================================================================
|
||||||
*/
|
*/
|
||||||
package org.oscim.renderer;
|
package org.oscim.renderer.layer;
|
||||||
|
|
||||||
import org.oscim.utils.pool.Inlist;
|
import org.oscim.utils.pool.Inlist;
|
||||||
|
|
||||||
@ -16,7 +16,6 @@ package org.oscim.renderer.layer;
|
|||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import org.oscim.renderer.TextureRenderer;
|
|
||||||
import org.oscim.utils.pool.Inlist;
|
import org.oscim.utils.pool.Inlist;
|
||||||
import org.oscim.utils.pool.SyncPool;
|
import org.oscim.utils.pool.SyncPool;
|
||||||
|
|
||||||
@ -88,7 +87,7 @@ public class TextureItem extends Inlist<TextureItem> {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
private static ArrayList<Bitmap> mBitmaps = new ArrayList<Bitmap>(10);;
|
private static ArrayList<Bitmap> mBitmaps = new ArrayList<Bitmap>(10);
|
||||||
|
|
||||||
public final static int TEXTURE_WIDTH = 512;
|
public final static int TEXTURE_WIDTH = 512;
|
||||||
public final static int TEXTURE_HEIGHT = 256;
|
public final static int TEXTURE_HEIGHT = 256;
|
||||||
@ -152,7 +151,7 @@ public class TextureItem extends Inlist<TextureItem> {
|
|||||||
GLES20.GL_CLAMP_TO_EDGE); // Set V Wrapping
|
GLES20.GL_CLAMP_TO_EDGE); // Set V Wrapping
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void init(int num) {
|
static void init(int num) {
|
||||||
pool.init(num);
|
pool.init(num);
|
||||||
|
|
||||||
mBitmaps = new ArrayList<Bitmap>(10);
|
mBitmaps = new ArrayList<Bitmap>(10);
|
||||||
|
|||||||
@ -13,16 +13,15 @@
|
|||||||
* this program. If not, see <http://www.gnu.org/licenses/>.
|
* this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package org.oscim.renderer;
|
package org.oscim.renderer.layer;
|
||||||
|
|
||||||
import static org.oscim.renderer.GLRenderer.COORD_SCALE;
|
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_HEIGHT;
|
||||||
import static org.oscim.renderer.layer.TextureItem.TEXTURE_WIDTH;
|
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.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 org.oscim.utils.GlUtils;
|
||||||
|
|
||||||
import android.opengl.GLES20;
|
import android.opengl.GLES20;
|
||||||
@ -6,12 +6,12 @@ import org.oscim.core.MapPosition;
|
|||||||
import org.oscim.graphics.Color;
|
import org.oscim.graphics.Color;
|
||||||
import org.oscim.graphics.Paint.Cap;
|
import org.oscim.graphics.Paint.Cap;
|
||||||
import org.oscim.renderer.GLRenderer.Matrices;
|
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.LineLayer;
|
||||||
import org.oscim.renderer.layer.TextItem;
|
import org.oscim.renderer.layer.TextItem;
|
||||||
import org.oscim.renderer.layer.TextLayer;
|
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.Line;
|
||||||
import org.oscim.theme.renderinstruction.Text;
|
import org.oscim.theme.renderinstruction.Text;
|
||||||
import org.oscim.view.MapView;
|
import org.oscim.view.MapView;
|
||||||
|
|||||||
@ -19,12 +19,12 @@ import org.oscim.renderer.BufferObject;
|
|||||||
import org.oscim.renderer.GLRenderer;
|
import org.oscim.renderer.GLRenderer;
|
||||||
import org.oscim.renderer.GLRenderer.Matrices;
|
import org.oscim.renderer.GLRenderer.Matrices;
|
||||||
import org.oscim.renderer.GLState;
|
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.Layer;
|
||||||
import org.oscim.renderer.layer.Layers;
|
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.utils.FastMath;
|
||||||
import org.oscim.view.MapView;
|
import org.oscim.view.MapView;
|
||||||
|
|
||||||
|
|||||||
@ -42,14 +42,14 @@ import org.oscim.renderer.BufferObject;
|
|||||||
import org.oscim.renderer.GLRenderer;
|
import org.oscim.renderer.GLRenderer;
|
||||||
import org.oscim.renderer.GLRenderer.Matrices;
|
import org.oscim.renderer.GLRenderer.Matrices;
|
||||||
import org.oscim.renderer.GLState;
|
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.Layer;
|
||||||
import org.oscim.renderer.layer.Layers;
|
import org.oscim.renderer.layer.Layers;
|
||||||
import org.oscim.renderer.layer.LineLayer;
|
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.TextItem;
|
||||||
import org.oscim.renderer.layer.TextLayer;
|
import org.oscim.renderer.layer.TextLayer;
|
||||||
|
import org.oscim.renderer.layer.TextureRenderer;
|
||||||
import org.oscim.theme.renderinstruction.Line;
|
import org.oscim.theme.renderinstruction.Line;
|
||||||
import org.oscim.utils.FastMath;
|
import org.oscim.utils.FastMath;
|
||||||
import org.oscim.utils.OBB2D;
|
import org.oscim.utils.OBB2D;
|
||||||
|
|||||||
44
src/org/oscim/renderer/overlays/ViewOverlay.java
Normal file
44
src/org/oscim/renderer/overlays/ViewOverlay.java
Normal file
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
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) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user