14fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk/* 24fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * Copyright (C) 2012 The Android Open Source Project 34fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * 44fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * Licensed under the Apache License, Version 2.0 (the "License"); 54fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * you may not use this file except in compliance with the License. 64fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * You may obtain a copy of the License at 74fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * 84fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * http://www.apache.org/licenses/LICENSE-2.0 94fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * 104fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * Unless required by applicable law or agreed to in writing, software 114fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * distributed under the License is distributed on an "AS IS" BASIS, 124fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * See the License for the specific language governing permissions and 144fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * limitations under the License. 154fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk */ 164fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk 174fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchoukpackage com.android.scenegraph; 184fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk 194fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchoukimport java.lang.Math; 204fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk 214fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchoukimport com.android.scenegraph.SceneManager; 22e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport android.os.AsyncTask; 234fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchoukimport android.content.res.Resources; 244fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchoukimport android.renderscript.*; 254fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchoukimport android.util.Log; 264fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk 274fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk/** 284fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk * @hide 294fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk */ 304fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchoukpublic abstract class TextureBase extends SceneGraphBase { 31e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 32e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk class SingleImageLoaderTask extends AsyncTask<TextureBase, Void, Boolean> { 33e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk protected Boolean doInBackground(TextureBase... objects) { 34e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk TextureBase tex = objects[0]; 35e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk tex.load(); 36e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk return new Boolean(true); 37e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 38e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk protected void onPostExecute(Boolean result) { 39e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 40e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 41e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 42e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk ScriptField_Texture_s.Item mData; 43e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk ScriptField_Texture_s mField; 44e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk TextureBase(int type) { 45e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk mData = new ScriptField_Texture_s.Item(); 46e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk mData.type = type; 47e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk } 48e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk 494fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk protected Allocation mRsTexture; 50e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk abstract ScriptField_Texture_s getRsData(boolean loadNow); 51e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk abstract void load(); 524fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk} 534fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk 544fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk 554fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk 564fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk 574fd35d8f49dbed174828da60b70c37e7a77a0d13Alex Sakhartchouk 58