diff options
Diffstat (limited to 'graphics/java/android/renderscript/RSSurfaceView.java')
-rw-r--r-- | graphics/java/android/renderscript/RSSurfaceView.java | 71 |
1 files changed, 21 insertions, 50 deletions
diff --git a/graphics/java/android/renderscript/RSSurfaceView.java b/graphics/java/android/renderscript/RSSurfaceView.java index f05e84c4d8cb..be893bbcb0e9 100644 --- a/graphics/java/android/renderscript/RSSurfaceView.java +++ b/graphics/java/android/renderscript/RSSurfaceView.java @@ -25,22 +25,21 @@ import android.os.Handler; import android.os.Message; import android.util.AttributeSet; import android.util.Log; -import android.util.Log; import android.view.Surface; import android.view.SurfaceHolder; import android.view.SurfaceView; /** - * @hide * - **/ + */ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback { private SurfaceHolder mSurfaceHolder; private RenderScriptGL mRS; /** * Standard View constructor. In order to render something, you - * must call {@link #setRenderer} to register a renderer. + * must call {@link android.opengl.GLSurfaceView#setRenderer} to + * register a renderer. */ public RSSurfaceView(Context context) { super(context); @@ -50,7 +49,8 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback /** * Standard View constructor. In order to render something, you - * must call {@link #setRenderer} to register a renderer. + * must call {@link android.opengl.GLSurfaceView#setRenderer} to + * register a renderer. */ public RSSurfaceView(Context context, AttributeSet attrs) { super(context, attrs); @@ -70,7 +70,6 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback * not normally called or subclassed by clients of RSSurfaceView. */ public void surfaceCreated(SurfaceHolder holder) { - Log.v(RenderScript.LOG_TAG, "surfaceCreated"); mSurfaceHolder = holder; } @@ -80,9 +79,8 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback */ public void surfaceDestroyed(SurfaceHolder holder) { // Surface will be destroyed when we return - Log.v(RenderScript.LOG_TAG, "surfaceDestroyed"); if (mRS != null) { - mRS.contextSetSurface(0, 0, null); + mRS.setSurface(null, 0, 0); } } @@ -91,23 +89,21 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback * not normally called or subclassed by clients of RSSurfaceView. */ public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { - Log.v(RenderScript.LOG_TAG, "surfaceChanged"); if (mRS != null) { - mRS.contextSetSurface(w, h, holder.getSurface()); + mRS.setSurface(holder, w, h); } } - /** + /** * Inform the view that the activity is paused. The owner of this view must * call this method when the activity is paused. Calling this method will * pause the rendering thread. * Must not be called before a renderer has been set. */ - public void onPause() { + public void pause() { if(mRS != null) { mRS.pause(); } - //Log.v(RenderScript.LOG_TAG, "onPause"); } /** @@ -117,53 +113,28 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback * thread. * Must not be called before a renderer has been set. */ - public void onResume() { + public void resume() { if(mRS != null) { mRS.resume(); } - //Log.v(RenderScript.LOG_TAG, "onResume"); - } - - /** - * Queue a runnable to be run on the GL rendering thread. This can be used - * to communicate with the Renderer on the rendering thread. - * Must not be called before a renderer has been set. - * @param r the runnable to be run on the GL rendering thread. - */ - public void queueEvent(Runnable r) { - //Log.v(RenderScript.LOG_TAG, "queueEvent"); - } - - /** - * This method is used as part of the View class and is not normally - * called or subclassed by clients of RSSurfaceView. - * Must not be called before a renderer has been set. - */ - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); - } - - // ---------------------------------------------------------------------- - - public RenderScriptGL createRenderScript(boolean useDepth, boolean forceSW) { - Log.v(RenderScript.LOG_TAG, "createRenderScript"); - mRS = new RenderScriptGL(useDepth, forceSW); - return mRS; } - public RenderScriptGL createRenderScript(boolean useDepth) { - return createRenderScript(useDepth, false); + public RenderScriptGL createRenderScriptGL(RenderScriptGL.SurfaceConfig sc) { + RenderScriptGL rs = new RenderScriptGL(this.getContext(), sc); + setRenderScriptGL(rs); + return rs; } - public void destroyRenderScript() { - Log.v(RenderScript.LOG_TAG, "destroyRenderScript"); + public void destroyRenderScriptGL() { mRS.destroy(); mRS = null; } - - public void createRenderScript(RenderScriptGL rs) { + + public void setRenderScriptGL(RenderScriptGL rs) { mRS = rs; } -} + public RenderScriptGL getRenderScriptGL() { + return mRS; + } +} |