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