summaryrefslogtreecommitdiffstats
path: root/graphics/java/android/renderscript/RSSurfaceView.java
diff options
context:
space:
mode:
authorJason Sams <rjsams@android.com>2009-09-24 17:38:20 -0700
committerJason Sams <rjsams@android.com>2009-09-24 17:38:20 -0700
commit65e7aa56f56097418d617663683544c25b3988ea (patch)
treeb115e9b8c4467141b3e99e1afb6159e0d964fb84 /graphics/java/android/renderscript/RSSurfaceView.java
parent0d3999f788eb01baa8ba671878387761cbbbf861 (diff)
downloadframeworks_base-65e7aa56f56097418d617663683544c25b3988ea.zip
frameworks_base-65e7aa56f56097418d617663683544c25b3988ea.tar.gz
frameworks_base-65e7aa56f56097418d617663683544c25b3988ea.tar.bz2
Implement pause/resume for the RS thread.
Diffstat (limited to 'graphics/java/android/renderscript/RSSurfaceView.java')
-rw-r--r--graphics/java/android/renderscript/RSSurfaceView.java11
1 files changed, 9 insertions, 2 deletions
diff --git a/graphics/java/android/renderscript/RSSurfaceView.java b/graphics/java/android/renderscript/RSSurfaceView.java
index 3d6acc9..b46a749 100644
--- a/graphics/java/android/renderscript/RSSurfaceView.java
+++ b/graphics/java/android/renderscript/RSSurfaceView.java
@@ -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) {