1e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk/*
2e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * Copyright (C) 2012 The Android Open Source Project
3e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk *
4e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * Licensed under the Apache License, Version 2.0 (the "License");
5e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * you may not use this file except in compliance with the License.
6e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * You may obtain a copy of the License at
7e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk *
8e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk *      http://www.apache.org/licenses/LICENSE-2.0
9e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk *
10e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * Unless required by applicable law or agreed to in writing, software
11e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * distributed under the License is distributed on an "AS IS" BASIS,
12e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * See the License for the specific language governing permissions and
14e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * limitations under the License.
15e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk */
16e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
17e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukpackage com.android.scenegraph;
18e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
19e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport java.lang.Math;
20e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
21e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport com.android.scenegraph.SceneManager;
22e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
23e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport android.content.res.Resources;
24e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport android.renderscript.*;
25e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukimport android.util.Log;
26e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
27e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk/**
28e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk * @hide
29e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk */
30e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchoukpublic class TextureRenderTarget extends TextureBase {
31e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk    public TextureRenderTarget() {
32e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        super(ScriptC_export.const_TextureType_TEXTURE_RENDER_TARGET);
33e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk    }
34e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
35e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk    public TextureRenderTarget(Allocation tex) {
36e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        super(ScriptC_export.const_TextureType_TEXTURE_RENDER_TARGET);
37e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        setTexture(tex);
38e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk    }
39e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
40e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk    public void setTexture(Allocation tex) {
41e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        mData.texture = tex;
42e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        if (mField != null) {
43e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk            mField.set_texture(0, mData.texture, true);
44e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        }
45e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk    }
46e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
47e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk    void load() {
48e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk    }
49e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
50e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk    ScriptField_Texture_s getRsData(boolean loadNow) {
51e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        if (mField != null) {
52e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk            return mField;
53e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        }
54e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
55e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        RenderScriptGL rs = SceneManager.getRS();
56e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        if (rs == null) {
57e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk            return null;
58e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        }
59e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
60e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        mField = new ScriptField_Texture_s(rs, 1);
61e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        mField.set(mData, 0, true);
62e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk        return mField;
63e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk    }
64e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk}
65e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
66e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
67e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
68e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
69e8bb420a687598be9801e7ff4a0d114fa72ac5bcAlex Sakhartchouk
70