Implement pause/resume for the RS thread.

This commit is contained in:
Jason Sams
2009-09-24 17:38:20 -07:00
parent 0d3999f788
commit 65e7aa56f5
6 changed files with 70 additions and 3 deletions

View File

@@ -36,6 +36,7 @@ import android.view.SurfaceView;
**/
public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder mSurfaceHolder;
private RenderScript mRS;
/**
* Standard View constructor. In order to render something, you
@@ -97,6 +98,9 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback
* Must not be called before a renderer has been set.
*/
public void onPause() {
if(mRS != null) {
mRS.pause();
}
Log.v(RenderScript.LOG_TAG, "onPause");
}
@@ -108,6 +112,9 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback
* Must not be called before a renderer has been set.
*/
public void onResume() {
if(mRS != null) {
mRS.resume();
}
Log.v(RenderScript.LOG_TAG, "onResume");
}
@@ -138,8 +145,8 @@ public class RSSurfaceView extends SurfaceView implements SurfaceHolder.Callback
while ((sur == null) || (mSurfaceHolder == null)) {
sur = getHolder().getSurface();
}
RenderScript rs = new RenderScript(sur, useDepth, forceSW);
return rs;
mRS = new RenderScript(sur, useDepth, forceSW);
return mRS;
}
public RenderScript createRenderScript(boolean useDepth) {