diff --git a/contrib/mobile/Android/src/org/geuz/onelab/GLESRender.java b/contrib/mobile/Android/src/org/geuz/onelab/GLESRender.java index ec3e64cb71f7283f434cad1d140933953b121ded..2b618a18b0e9068f7b7c863ac0d51298c4bb75d4 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/GLESRender.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/GLESRender.java @@ -13,13 +13,9 @@ import android.opengl.GLSurfaceView.Renderer; public class GLESRender implements Renderer{ private Gmsh mGModel; private int _width, _height; - private Bitmap _screenshot; - private boolean _needScreenshot; - public GLESRender(Gmsh model) { this.mGModel = model; - _needScreenshot = false; } public void load(String filename){ mGModel.load(filename); } public void startInteraction(float x, float y) { mGModel.startEvent(x, y); } @@ -36,7 +32,6 @@ public class GLESRender implements Renderer{ public void onDrawFrame(GL10 gl) { mGModel.viewDraw(); - if(_needScreenshot) this.screenshot(gl); } public void onSurfaceChanged(GL10 gl, int width, int height) { @@ -45,29 +40,4 @@ public class GLESRender implements Renderer{ _height = height; } public void onSurfaceCreated(GL10 gl, EGLConfig config) { } - public void needScreenshot() { _screenshot = null; _needScreenshot = true; } - public Bitmap getScreenshot(){ return _screenshot; } - private void screenshot(GL10 gl) - { - _needScreenshot = false; - int bitmapBuffer[] = new int[_width * _height]; - int bitmapSource[] = new int[_width * _height]; - IntBuffer intBuffer = IntBuffer.wrap(bitmapBuffer); - intBuffer.position(0); - - gl.glReadPixels(0, 0, _width, _height, GL10.GL_RGBA, GL10.GL_UNSIGNED_BYTE, - intBuffer); - int offset1, offset2; - for (int i = 0; i < _height; i++) { - offset1 = i * _width; - offset2 = (_height - i - 1) * _width; - for (int j = 0; j < _width; j++) { - int pixel = bitmapBuffer[offset1 + j]; - bitmapSource[offset2 + j] = (pixel & 0xFF00FF00) | - (pixel << 16) & 0x00FF0000 | (pixel >> 16) & 0x000000FF; - } - } - _screenshot = Bitmap.createBitmap(bitmapSource, _width, _height, - Bitmap.Config.ARGB_8888); - } } diff --git a/contrib/mobile/Android/src/org/geuz/onelab/ModelFragment.java b/contrib/mobile/Android/src/org/geuz/onelab/ModelFragment.java index e74feb0c6c7ae548467bcd9dff0ca3269a8f1cc5..9c1057ca2f53620dce83e6b31768e6b73bfa9c47 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/ModelFragment.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/ModelFragment.java @@ -264,17 +264,4 @@ public class ModelFragment extends Fragment{ { _glView.requestRender(); } - public void takeScreenshot(File out) - { - Bitmap screenshot = _glView.getScreenshot(); - try { - FileOutputStream f = new FileOutputStream(out); - screenshot.compress(Bitmap.CompressFormat.PNG, 85, f); - } catch (FileNotFoundException e) { - e.printStackTrace(); - } - finally { - _glView.setDrawingCacheEnabled(false); - } - } } diff --git a/contrib/mobile/Android/src/org/geuz/onelab/mGLSurfaceView.java b/contrib/mobile/Android/src/org/geuz/onelab/mGLSurfaceView.java index d7bf51ce1037033212854200cdae86d72cb4a9c1..3b35244adb2745ace3757cdc6935a4662f44eb43 100644 --- a/contrib/mobile/Android/src/org/geuz/onelab/mGLSurfaceView.java +++ b/contrib/mobile/Android/src/org/geuz/onelab/mGLSurfaceView.java @@ -97,11 +97,4 @@ class mGLSurfaceView extends GLSurfaceView { scaleFactor = 1f; _renderer.scaleModel(scaleFactor); } - public Bitmap getScreenshot() - { - _renderer.needScreenshot(); - this.requestRender(); - while(_renderer.getScreenshot() == null); - return _renderer.getScreenshot(); - } }