1e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams/*
2e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * Copyright (C) 2011 The Android Open Source Project
3e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams *
4e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * Licensed under the Apache License, Version 2.0 (the "License");
5e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * you may not use this file except in compliance with the License.
6e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * You may obtain a copy of the License at
7e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams *
8e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams *      http://www.apache.org/licenses/LICENSE-2.0
9e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams *
10e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * Unless required by applicable law or agreed to in writing, software
11e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * distributed under the License is distributed on an "AS IS" BASIS,
12e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * See the License for the specific language governing permissions and
14e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams * limitations under the License.
15e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams */
16e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
17e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samspackage com.example.android.rs.helloworld;
18e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
19e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.content.res.Resources;
20e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samsimport android.renderscript.*;
21e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
22e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams// This is the renderer for the HelloWorldView
23e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Samspublic class HelloWorldRS {
24e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    private Resources mRes;
25e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    private RenderScriptGL mRS;
26e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
27e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    private ScriptC_helloworld mScript;
28e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
29e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    public HelloWorldRS() {
30e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    }
31e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
32e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    // This provides us with the renderscript context and resources that
33e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    // allow us to create the script that does rendering
34e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    public void init(RenderScriptGL rs, Resources res) {
35e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams        mRS = rs;
36e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams        mRes = res;
37e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams        initRS();
38e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    }
39e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
40e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    public void onActionDown(int x, int y) {
41e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams        mScript.set_gTouchX(x);
42e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams        mScript.set_gTouchY(y);
43e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    }
44e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
45e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    private void initRS() {
46e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams        mScript = new ScriptC_helloworld(mRS, mRes, R.raw.helloworld);
47e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams        mRS.bindRootScript(mScript);
48e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams    }
49e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams}
50e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
51e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
52e5f2f66f8c802d64ecf869081036ae13d4e9e19cJason Sams
53