1c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams/* 2c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * Copyright (C) 2012 The Android Open Source Project 3c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * 4c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * Licensed under the Apache License, Version 2.0 (the "License"); 5c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * you may not use this file except in compliance with the License. 6c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * You may obtain a copy of the License at 7c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * 8c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * http://www.apache.org/licenses/LICENSE-2.0 9c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * 10c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * Unless required by applicable law or agreed to in writing, software 11c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * distributed under the License is distributed on an "AS IS" BASIS, 12c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * See the License for the specific language governing permissions and 14c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams * limitations under the License. 15c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams */ 16c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 17c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Samspackage com.example.android.rs.sto; 18c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 19c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 20c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Samsimport android.renderscript.RSSurfaceView; 21c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Samsimport android.renderscript.RenderScriptGL; 22c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Samsimport android.content.Context; 23c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Samsimport android.content.res.Resources; 24c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Samsimport android.graphics.SurfaceTexture; 25c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Samsimport android.util.Log; 26c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 27c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Samspublic class SurfaceTextureOpaqueView extends RSSurfaceView { 28c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 29c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams public SurfaceTextureOpaqueView(Context context) { 30c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams super(context); 31c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams } 32c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 33c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams RenderScriptGL mRS; 34c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams SurfaceTextureOpaqueRS mRender; 35c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 36c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams @Override 37c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams protected void onAttachedToWindow() { 38c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams super.onAttachedToWindow(); 39c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams } 40c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 41c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams @Override 42c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams protected void onDetachedFromWindow() { 43c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams super.onDetachedFromWindow(); 44c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams if (mRS != null) { 45c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams mRS = null; 46c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams destroyRenderScriptGL(); 47c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams } 48c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams } 49c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 50c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams SurfaceTexture getST() { 51c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams RenderScriptGL.SurfaceConfig sc = new RenderScriptGL.SurfaceConfig(); 52c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams mRS = createRenderScriptGL(sc); 53c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams mRender = new SurfaceTextureOpaqueRS(); 54c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams mRender.init(mRS, getResources()); 55c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams return mRender.getST(); 56c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams } 57c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 58c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams} 59c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 60c5f519c5ec57400f04f1d0bdc69f7bfddf47f8cbJason Sams 61