diff options
author | Ivo van Dongen <info@ivovandongen.nl> | 2017-10-02 15:41:02 +0300 |
---|---|---|
committer | Ivo van Dongen <ivovandongen@users.noreply.github.com> | 2017-11-02 19:55:46 +0200 |
commit | efc776e4f9ff25989b9357536487c539c15bbf47 (patch) | |
tree | c85037a96c8a9f5f00be0edd6f263581c44e6be8 /platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java | |
parent | 0fb2629a378e089cbf595c3d2dbc343914f9dafc (diff) | |
download | qtlocation-mapboxgl-efc776e4f9ff25989b9357536487c539c15bbf47.tar.gz |
[android] texture view map renderer
Diffstat (limited to 'platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java')
-rw-r--r-- | platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java new file mode 100644 index 0000000000..8cd724a828 --- /dev/null +++ b/platform/android/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/maps/renderer/textureview/TextureViewMapRenderer.java @@ -0,0 +1,96 @@ +package com.mapbox.mapboxsdk.maps.renderer.textureview; + +import android.content.Context; +import android.support.annotation.NonNull; +import android.view.TextureView; + +import com.mapbox.mapboxsdk.maps.renderer.MapRenderer; + +import javax.microedition.khronos.egl.EGLConfig; +import javax.microedition.khronos.opengles.GL10; + +/** + * The {@link TextureViewMapRenderer} encapsulates the GL thread and + * {@link TextureView} specifics to render the map. + * + * @see MapRenderer + */ +public class TextureViewMapRenderer extends MapRenderer { + private TextureViewRenderThread renderThread; + + /** + * Create a {@link MapRenderer} for the given {@link TextureView} + * + * @param context the current Context + * @param textureView the TextureView + */ + public TextureViewMapRenderer(@NonNull Context context, @NonNull TextureView textureView) { + super(context); + renderThread = new TextureViewRenderThread(textureView, this); + renderThread.start(); + } + + /** + * Overridden to provide package access + */ + @Override + protected void onSurfaceCreated(GL10 gl, EGLConfig config) { + super.onSurfaceCreated(gl, config); + } + + /** + * Overridden to provide package access + */ + @Override + protected void onSurfaceChanged(GL10 gl, int width, int height) { + super.onSurfaceChanged(gl, width, height); + } + + /** + * Overridden to provide package access + */ + @Override + protected void onDrawFrame(GL10 gl) { + super.onDrawFrame(gl); + } + + /** + * {@inheritDoc} + */ + @Override + public void requestRender() { + renderThread.requestRender(); + } + + /** + * {@inheritDoc} + */ + @Override + public void queueEvent(Runnable runnable) { + renderThread.queueEvent(runnable); + } + + /** + * {@inheritDoc} + */ + @Override + public void onPause() { + renderThread.onPause(); + } + + /** + * {@inheritDoc} + */ + @Override + public void onResume() { + renderThread.onResume(); + } + + /** + * {@inheritDoc} + */ + @Override + public void onDestroy() { + renderThread.onDestroy(); + } +} |