diff options
author | Jason Sams <rjsams@android.com> | 2009-11-17 14:24:45 -0800 |
---|---|---|
committer | Jason Sams <rjsams@android.com> | 2009-11-17 18:50:09 -0800 |
commit | 948415fdd9bfee77aa46deae76f8602788befe6d (patch) | |
tree | 2ea38e1596a79700b78e519dfef3393d80c410b4 /libs | |
parent | 0c2fcf7230b5cc563ce3b902da83346bab8b3875 (diff) | |
download | frameworks_base-948415fdd9bfee77aa46deae76f8602788befe6d.zip frameworks_base-948415fdd9bfee77aa46deae76f8602788befe6d.tar.gz frameworks_base-948415fdd9bfee77aa46deae76f8602788befe6d.tar.bz2 |
Delete the old rollo sample which is obsolete.
Diffstat (limited to 'libs')
27 files changed, 0 insertions, 999 deletions
diff --git a/libs/rs/java/Rollo/Android.mk b/libs/rs/java/Rollo/Android.mk deleted file mode 100644 index 5a4957c..0000000 --- a/libs/rs/java/Rollo/Android.mk +++ /dev/null @@ -1,25 +0,0 @@ -# -# Copyright (C) 2008 The Android Open Source Project -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -LOCAL_PATH := $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_SRC_FILES := $(call all-java-files-under, src) -#LOCAL_STATIC_JAVA_LIBRARIES := android.renderscript - -LOCAL_PACKAGE_NAME := Rollo - -include $(BUILD_PACKAGE) diff --git a/libs/rs/java/Rollo/AndroidManifest.xml b/libs/rs/java/Rollo/AndroidManifest.xml deleted file mode 100644 index 12cb28f..0000000 --- a/libs/rs/java/Rollo/AndroidManifest.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<manifest xmlns:android="http://schemas.android.com/apk/res/android" - package="com.android.rollo"> - <application - android:label="Rollo" - android:icon="@drawable/test_pattern"> - <activity android:name="Rollo" - android:theme="@android:style/Theme.Translucent" - android:icon="@drawable/test_pattern"> - <intent-filter> - <action android:name="android.intent.action.MAIN" /> - <category android:name="android.intent.category.LAUNCHER" /> - </intent-filter> - </activity> - </application> -</manifest> diff --git a/libs/rs/java/Rollo/res/drawable/test_pattern.png b/libs/rs/java/Rollo/res/drawable/test_pattern.png Binary files differdeleted file mode 100644 index e7d1455..0000000 --- a/libs/rs/java/Rollo/res/drawable/test_pattern.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/browser.png b/libs/rs/java/Rollo/res/raw/browser.png Binary files differdeleted file mode 100644 index 513f0be..0000000 --- a/libs/rs/java/Rollo/res/raw/browser.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/calendar.png b/libs/rs/java/Rollo/res/raw/calendar.png Binary files differdeleted file mode 100644 index 030ae73..0000000 --- a/libs/rs/java/Rollo/res/raw/calendar.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/g1155.png b/libs/rs/java/Rollo/res/raw/g1155.png Binary files differdeleted file mode 100644 index 68e1843..0000000 --- a/libs/rs/java/Rollo/res/raw/g1155.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/g2140.png b/libs/rs/java/Rollo/res/raw/g2140.png Binary files differdeleted file mode 100644 index 8c4e853..0000000 --- a/libs/rs/java/Rollo/res/raw/g2140.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/maps.png b/libs/rs/java/Rollo/res/raw/maps.png Binary files differdeleted file mode 100644 index fd5fc39..0000000 --- a/libs/rs/java/Rollo/res/raw/maps.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/market.png b/libs/rs/java/Rollo/res/raw/market.png Binary files differdeleted file mode 100644 index 83b6910..0000000 --- a/libs/rs/java/Rollo/res/raw/market.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/path1920.png b/libs/rs/java/Rollo/res/raw/path1920.png Binary files differdeleted file mode 100644 index 3510665..0000000 --- a/libs/rs/java/Rollo/res/raw/path1920.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/path1927.png b/libs/rs/java/Rollo/res/raw/path1927.png Binary files differdeleted file mode 100644 index fccc846..0000000 --- a/libs/rs/java/Rollo/res/raw/path1927.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/path3099.png b/libs/rs/java/Rollo/res/raw/path3099.png Binary files differdeleted file mode 100644 index 527ebf6..0000000 --- a/libs/rs/java/Rollo/res/raw/path3099.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/path3950.png b/libs/rs/java/Rollo/res/raw/path3950.png Binary files differdeleted file mode 100644 index 59a646a..0000000 --- a/libs/rs/java/Rollo/res/raw/path3950.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/path431.png b/libs/rs/java/Rollo/res/raw/path431.png Binary files differdeleted file mode 100644 index 5d2ed75..0000000 --- a/libs/rs/java/Rollo/res/raw/path431.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/path4481.png b/libs/rs/java/Rollo/res/raw/path4481.png Binary files differdeleted file mode 100644 index 78be0fc..0000000 --- a/libs/rs/java/Rollo/res/raw/path4481.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/path5168.png b/libs/rs/java/Rollo/res/raw/path5168.png Binary files differdeleted file mode 100644 index a7c3a19..0000000 --- a/libs/rs/java/Rollo/res/raw/path5168.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/path676.png b/libs/rs/java/Rollo/res/raw/path676.png Binary files differdeleted file mode 100644 index 2099690..0000000 --- a/libs/rs/java/Rollo/res/raw/path676.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/path754.png b/libs/rs/java/Rollo/res/raw/path754.png Binary files differdeleted file mode 100644 index 88aed5b..0000000 --- a/libs/rs/java/Rollo/res/raw/path754.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/path815.png b/libs/rs/java/Rollo/res/raw/path815.png Binary files differdeleted file mode 100644 index 407570f..0000000 --- a/libs/rs/java/Rollo/res/raw/path815.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/photos.png b/libs/rs/java/Rollo/res/raw/photos.png Binary files differdeleted file mode 100644 index 1ed8f1e..0000000 --- a/libs/rs/java/Rollo/res/raw/photos.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/polygon2408.png b/libs/rs/java/Rollo/res/raw/polygon2408.png Binary files differdeleted file mode 100644 index 4413954..0000000 --- a/libs/rs/java/Rollo/res/raw/polygon2408.png +++ /dev/null diff --git a/libs/rs/java/Rollo/res/raw/rollo.c b/libs/rs/java/Rollo/res/raw/rollo.c deleted file mode 100644 index b31be81..0000000 --- a/libs/rs/java/Rollo/res/raw/rollo.c +++ /dev/null @@ -1,184 +0,0 @@ -#pragma version(1) -#pragma stateVertex(PV) -#pragma stateFragment(PF) -#pragma stateStore(PFS) - -// Scratch buffer layout -#define SCRATCH_FADE 0 -#define SCRATCH_ZOOM 1 -#define SCRATCH_ROT 2 - -//#define STATE_POS_X 0 -#define STATE_DONE 1 -//#define STATE_PRESSURE 2 -#define STATE_ZOOM 3 -//#define STATE_WARP 4 -#define STATE_ORIENTATION 5 -#define STATE_SELECTION 6 -#define STATE_FIRST_VISIBLE 7 -#define STATE_COUNT 8 -#define STATE_TOUCH 9 - - -float filter(float val, float target, float str) -{ - float delta = (target - val); - return val + delta * str; -} - -int main(void* con, int ft, int launchID) -{ - int rowCount; - int row; - int col; - int imageID; - int done = loadI32(0, STATE_DONE); - int selectedID = loadI32(0, STATE_SELECTION); - - float f = loadF(2, 0); - - pfClearColor(0.0f, 0.0f, 0.0f, f); - if (done) { - if (f > 0.02f) { - //f = f - 0.02f; - //storeF(2, 0, f); - } - } else { - if (f < 0.8f) { - f = f + 0.02f; - storeF(2, 0, f); - } - } - - float touchCut = 1.f; - if (loadI32(0, STATE_TOUCH)) { - touchCut = 4.f; - } - - - float targetZoom = ((float)loadI32(0, STATE_ZOOM)) / 1000.f; - float zoom = filter(loadF(2, SCRATCH_ZOOM), targetZoom, 0.15 * touchCut); - storeF(2, SCRATCH_ZOOM, zoom); - - float targetRot = loadI32(0, STATE_FIRST_VISIBLE) / 180.0f * 3.14f; - targetRot = targetRot * 0.80f - .12f; - float drawRot = filter(loadF(2, SCRATCH_ROT), targetRot, 0.1f * touchCut); - storeF(2, SCRATCH_ROT, drawRot); - - float diam = 8.f; - float scale = 1.0f / zoom; - - // Bug makes 1.0f alpha fail. - color(1.0f, 1.0f, 1.0f, 0.99f); - - float rot = drawRot * scale; - float rotStep = 16.0f / 180.0f * 3.14f * scale; - rowCount = 4; - int index = 0; - int iconCount = loadI32(0, STATE_COUNT); - while (iconCount) { - float tmpSin = sinf(rot); - float tmpCos = cosf(rot); - //debugF("rot", rot); - - float tx1 = tmpSin * diam - (tmpCos * scale * 0.9f); - float tx2 = tx1 + (tmpCos * scale * 1.8f); - float tz1 = tmpCos * diam + (tmpSin * scale * 0.9f); - float tz2 = tz1 - (tmpSin * scale * 1.8f); - - int y; - for (y = rowCount -1; (y >= 0) && iconCount; y--) { - float ty1 = ((y * 3.1f) - 5.f) * scale; - float ty2 = ty1 + scale * 1.8f; - bindTexture(NAMED_PF, 0, loadI32(1, index)); - drawQuad(tx1, ty1, tz1, - tx2, ty1, tz2, - tx2, ty2, tz2, - tx1, ty2, tz1); - - iconCount--; - index++; - } - rot = rot + rotStep; - } - - if ((zoom < 1.1f) && (zoom > 0.9f)) { - bindProgramVertex(NAMED_PVOrtho); - bindProgramFragment(NAMED_PFText); - bindProgramStore(NAMED_PFSText); - - rot = drawRot * scale; - index = 0; - iconCount = loadI32(0, STATE_COUNT); - while (iconCount) { - int y; - - float tx = 240.f + floorf(sinf(rot) * 430.f) - 64.f + 16.f; - - float alpha = 2.4f - (fabsf(tx - 240.f + 48.f) / 76.f); - if (alpha > 0.99f) { - alpha = 0.99f; - } - alpha = alpha * (1.f - (fabsf(zoom - 1.f) * 10.f)); - - tx = tx + 0.25f; - - for (y = rowCount -1; (y >= 0) && iconCount; y--) { - - if (alpha > 0) { - color(1.0f, 1.0f, 1.0f, alpha); - - float ty = 605.f - y * 150.f; - - ty = ty + 0.25f; - - bindTexture(NAMED_PFText, 0, loadI32(3, index)); - drawRect(tx, ty, tx + 128.f, ty + 32.f, 0.5f); - } - iconCount--; - index++; - } - rot = rot + rotStep; - } - - - bindProgramVertex(NAMED_PV); - bindProgramFragment(NAMED_PF); - bindProgramStore(NAMED_PFS); - } - - // Draw the selected icon - color(1.0f, 1.0f, 1.0f, 0.9f); - rot = drawRot * scale; - index = 0; - iconCount = loadI32(0, STATE_COUNT); - while (iconCount) { - int y; - for (y = rowCount -1; (y >= 0) && iconCount; y--) { - if (index == selectedID) { - - float tmpSin = sinf(rot) * scale; - float tmpCos = cosf(rot) * scale; - float tx1 = tmpSin * diam * 0.9f - tmpCos * 2.f; - float tx2 = tx1 + (tmpCos * 4.f); - float tz1 = tmpCos * diam * 0.9f + tmpSin * 2.f; - float tz2 = tz1 - (tmpSin * 4.f); - - float ty1 = ((y * 3.1f) - 4.5f) * scale; - float ty2 = ty1 + scale * 4.f; - bindTexture(NAMED_PF, 0, loadI32(1, index)); - drawQuad(tx1, ty1, tz1, - tx2, ty1, tz2, - tx2, ty2, tz2, - tx1, ty2, tz1); - } - iconCount--; - index++; - } - rot = rot + rotStep; - } - - return 1; -} - - diff --git a/libs/rs/java/Rollo/res/raw/rollo2.c b/libs/rs/java/Rollo/res/raw/rollo2.c deleted file mode 100644 index 5b5cb2d..0000000 --- a/libs/rs/java/Rollo/res/raw/rollo2.c +++ /dev/null @@ -1,155 +0,0 @@ -#pragma version(1) -#pragma stateVertex(PV) -#pragma stateFragment(PF) -#pragma stateStore(PFS) - -// Scratch buffer layout -#define SCRATCH_FADE 0 -#define SCRATCH_ZOOM 1 -#define SCRATCH_ROT 2 - -//#define STATE_POS_X 0 -#define STATE_DONE 1 -//#define STATE_PRESSURE 2 -#define STATE_ZOOM 3 -//#define STATE_WARP 4 -#define STATE_ORIENTATION 5 -#define STATE_SELECTION 6 -#define STATE_FIRST_VISIBLE 7 -#define STATE_COUNT 8 -#define STATE_TOUCH 9 - -float filter(float val, float target, float str) -{ - float delta = (target - val); - return val + delta * str; -} - - -int main(void* con, int ft, int launchID) -{ - int rowCount; - int imageID; - int done = loadI32(0, STATE_DONE); - int selectedID = loadI32(0, STATE_SELECTION); - int iconCount = loadI32(0, STATE_COUNT); - - float f = loadF(2, 0); - - float iconSize = 1.f; - float iconSpacing = 0.2f; - float z = 4.f; - - pfClearColor(0.0f, 0.0f, 0.0f, f); - if (done) { - } else { - if (f < 0.8f) { - f = f + 0.02f; - storeF(2, 0, f); - } - } - - float touchCut = 1.f; - if (loadI32(0, STATE_TOUCH)) { - touchCut = 5.f; - } - - - float targetZoom = ((float)loadI32(0, STATE_ZOOM)) / 1000.f; - float zoom = filter(loadF(2, SCRATCH_ZOOM), targetZoom, 0.15 * touchCut); - storeF(2, SCRATCH_ZOOM, zoom); - - float targetPos = loadI32(0, STATE_FIRST_VISIBLE) / (-20.0f); - float pos = filter(loadF(2, SCRATCH_ROT), targetPos, 0.1f * touchCut); - storeF(2, SCRATCH_ROT, pos); - pos = pos - 1.f; - - color(1.0f, 1.0f, 1.0f, 1.0f); - - - // Draw flat icons first - int index = ((int)pos) * 4; - int row; - int col; - float xoffset = -0.3f; - float gridSize = iconSize * 4.f + iconSpacing * 3.f; - float yoffset = (pos - ((int)pos)); - for (row = 0; row < 4; row ++) { - float ty1 = (gridSize / 2.f) - ((float)row - yoffset) * (iconSize + iconSpacing) - iconSize; - float ty2 = ty1 + iconSize; - - for (col = 0; (col < 4) && (index < iconCount); col ++) { - if (index >= 0) { - bindTexture(NAMED_PF, 0, loadI32(1, index)); - float fcol = col; - float tx1 = xoffset + (-gridSize / 2.f) + (fcol * (iconSize + iconSpacing)); - float tx2 = tx1 + iconSize; - - drawQuad(tx1, ty1, z, - tx2, ty1, z, - tx2, ty2, z, - tx1, ty2, z); - } - index++; - } - } - - // bottom roller - { - float roll = (1.f - yoffset) * 0.5f * 3.14f; - float tmpSin = sinf(roll); - float tmpCos = cosf(roll); - - for (col = 0; (col < 4) && (index < iconCount) && (index >= 0); col ++) { - float ty2 = (gridSize / 2.f) - ((float)row - yoffset) * (iconSize + iconSpacing); - float ty1 = ty2 - tmpCos * iconSize; - - float tz1 = z + tmpSin * iconSize; - float tz2 = z; - - float tx1 = xoffset + (-gridSize / 2.f) + ((float)col * (iconSize + iconSpacing)); - float tx2 = tx1 + iconSize; - - bindTexture(NAMED_PF, 0, loadI32(1, index)); - drawQuad(tx1, ty1, tz1, - tx2, ty1, tz1, - tx2, ty2, tz2, - tx1, ty2, tz2); - index++; - } - } - - // Top roller - { - index = (((int)pos) * 4) - 4; - float roll = yoffset * 0.5f * 3.14f; - float tmpSin = sinf(roll); - float tmpCos = cosf(roll); - - for (col = 0; (col < 4) && (index < iconCount) && (index >= 0); col ++) { - float ty1 = (gridSize / 2.f) - ((float)-1.f - yoffset) * (iconSize + iconSpacing) - iconSize; - float ty2 = ty1 + tmpCos * iconSize; - - float tz1 = z; - float tz2 = z + tmpSin * iconSize; - - float tx1 = xoffset + (-gridSize / 2.f) + ((float)col * (iconSize + iconSpacing)); - float tx2 = tx1 + iconSize; - - bindTexture(NAMED_PF, 0, loadI32(1, index)); - drawQuad(tx1, ty1, tz1, - tx2, ty1, tz1, - tx2, ty2, tz2, - tx1, ty2, tz2); - index++; - } - } - - - - - return 1; -} - - - diff --git a/libs/rs/java/Rollo/res/raw/settings.png b/libs/rs/java/Rollo/res/raw/settings.png Binary files differdeleted file mode 100644 index dd2cd95..0000000 --- a/libs/rs/java/Rollo/res/raw/settings.png +++ /dev/null diff --git a/libs/rs/java/Rollo/src/com/android/rollo/Rollo.java b/libs/rs/java/Rollo/src/com/android/rollo/Rollo.java deleted file mode 100644 index 400d801..0000000 --- a/libs/rs/java/Rollo/src/com/android/rollo/Rollo.java +++ /dev/null @@ -1,90 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.rollo; - -import android.renderscript.RSSurfaceView; -import android.renderscript.RenderScript; - -import android.app.Activity; -import android.content.res.Configuration; -import android.os.Bundle; -import android.os.Handler; -import android.os.Looper; -import android.os.Message; -import android.provider.Settings.System; -import android.util.Config; -import android.util.Log; -import android.view.Menu; -import android.view.MenuItem; -import android.view.View; -import android.view.Window; -import android.widget.Button; -import android.widget.ListView; - -import java.lang.Runtime; - -public class Rollo extends Activity { - //EventListener mListener = new EventListener(); - - private static final String LOG_TAG = "libRS_jni"; - private static final boolean DEBUG = false; - private static final boolean LOG_ENABLED = DEBUG ? Config.LOGD : Config.LOGV; - - private RolloView mView; - - // get the current looper (from your Activity UI thread for instance - - - - @Override - public void onCreate(Bundle icicle) { - super.onCreate(icicle); - - // Create our Preview view and set it as the content of our - // Activity - mView = new RolloView(this); - setContentView(mView); - } - - @Override - protected void onResume() { - // Ideally a game should implement onResume() and onPause() - // to take appropriate action when the activity looses focus - super.onResume(); - mView.onResume(); - } - - @Override - protected void onPause() { - // Ideally a game should implement onResume() and onPause() - // to take appropriate action when the activity looses focus - super.onPause(); - mView.onPause(); - - Runtime.getRuntime().exit(0); - } - - - static void log(String message) { - if (LOG_ENABLED) { - Log.v(LOG_TAG, message); - } - } - - -} - diff --git a/libs/rs/java/Rollo/src/com/android/rollo/RolloRS.java b/libs/rs/java/Rollo/src/com/android/rollo/RolloRS.java deleted file mode 100644 index ff89bc3..0000000 --- a/libs/rs/java/Rollo/src/com/android/rollo/RolloRS.java +++ /dev/null @@ -1,315 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.rollo; - -import java.io.Writer; - -import android.renderscript.RenderScript; -import android.renderscript.ProgramVertex; -import android.renderscript.Element; -import android.renderscript.Allocation; -import android.renderscript.Script; -import android.renderscript.ScriptC; -import android.renderscript.ProgramFragment; -import android.renderscript.ProgramStore; -import android.renderscript.Sampler; - -import android.graphics.Bitmap; -import android.graphics.BitmapFactory; -import android.graphics.Canvas; -import android.graphics.Paint; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.graphics.Typeface; - -import android.content.Context; -import android.content.res.Resources; -import android.util.Log; - -public class RolloRS { - //public static final int STATE_SELECTED_ID = 0; - public static final int STATE_DONE = 1; - //public static final int STATE_PRESSURE = 2; - public static final int STATE_ZOOM = 3; - //public static final int STATE_WARP = 4; - public static final int STATE_ORIENTATION = 5; - public static final int STATE_SELECTION = 6; - public static final int STATE_FIRST_VISIBLE = 7; - public static final int STATE_COUNT = 8; - public static final int STATE_TOUCH = 9; - - - public RolloRS() { - } - - public void init(RenderScript rs, Resources res, int width, int height) { - mRS = rs; - mRes = res; - mWidth = width; - mHeight = height; - initNamed(); - initRS(); - } - - public void setPosition(float column) { - mAllocStateBuf[STATE_FIRST_VISIBLE] = (int)(column * (-20)); - mAllocState.data(mAllocStateBuf); - } - - public void setTouch(boolean touch) { - mAllocStateBuf[STATE_TOUCH] = touch ? 1 : 0; - mAllocState.data(mAllocStateBuf); - } - - public void setZoom(float z) { - //Log.e("rs", "zoom " + Float.toString(z)); - - mAllocStateBuf[STATE_ZOOM] = (int)(z * 1000.f); - mAllocState.data(mAllocStateBuf); - } - - public void setSelected(int index) { - //Log.e("rs", "setSelected " + Integer.toString(index)); - - mAllocStateBuf[STATE_SELECTION] = index; - mAllocStateBuf[STATE_DONE] = 1; - mAllocState.data(mAllocStateBuf); - } - - private int mWidth; - private int mHeight; - - private Resources mRes; - private RenderScript mRS; - private Script mScript; - private Sampler mSampler; - private Sampler mSamplerText; - private ProgramStore mPSBackground; - private ProgramStore mPSText; - private ProgramFragment mPFImages; - private ProgramFragment mPFText; - private ProgramVertex mPV; - private ProgramVertex.MatrixAllocation mPVAlloc; - private ProgramVertex mPVOrtho; - private ProgramVertex.MatrixAllocation mPVOrthoAlloc; - private Allocation[] mIcons; - private Allocation[] mLabels; - - private int[] mAllocStateBuf; - private Allocation mAllocState; - - private int[] mAllocIconIDBuf; - private Allocation mAllocIconID; - - private int[] mAllocLabelIDBuf; - private Allocation mAllocLabelID; - - private int[] mAllocScratchBuf; - private Allocation mAllocScratch; - - private void initNamed() { - Sampler.Builder sb = new Sampler.Builder(mRS); - sb.setMin(Sampler.Value.LINEAR);//_MIP_LINEAR); - sb.setMag(Sampler.Value.LINEAR); - sb.setWrapS(Sampler.Value.CLAMP); - sb.setWrapT(Sampler.Value.CLAMP); - mSampler = sb.create(); - - sb.setMin(Sampler.Value.NEAREST); - sb.setMag(Sampler.Value.NEAREST); - mSamplerText = sb.create(); - - - ProgramFragment.Builder bf = new ProgramFragment.Builder(mRS, null, null); - bf.setTexEnable(true, 0); - bf.setTexEnvMode(ProgramFragment.EnvMode.MODULATE, 0); - mPFImages = bf.create(); - mPFImages.setName("PF"); - mPFImages.bindSampler(mSampler, 0); - - bf.setTexEnvMode(ProgramFragment.EnvMode.MODULATE, 0); - mPFText = bf.create(); - mPFText.setName("PFText"); - mPFText.bindSampler(mSamplerText, 0); - - ProgramStore.Builder bs = new ProgramStore.Builder(mRS, null, null); - bs.setDepthFunc(ProgramStore.DepthFunc.LESS); - bs.setDitherEnable(false); - bs.setDepthMask(true); - bs.setBlendFunc(ProgramStore.BlendSrcFunc.SRC_ALPHA, - ProgramStore.BlendDstFunc.ONE_MINUS_SRC_ALPHA); - mPSBackground = bs.create(); - mPSBackground.setName("PFS"); - - bs.setDepthFunc(ProgramStore.DepthFunc.ALWAYS); - bs.setDepthMask(false); - bs.setBlendFunc(ProgramStore.BlendSrcFunc.SRC_ALPHA, - ProgramStore.BlendDstFunc.ONE_MINUS_SRC_ALPHA); - mPSText = bs.create(); - mPSText.setName("PFSText"); - - mPVAlloc = new ProgramVertex.MatrixAllocation(mRS); - mPVAlloc.setupProjectionNormalized(mWidth, mHeight); - - ProgramVertex.Builder pvb = new ProgramVertex.Builder(mRS, null, null); - mPV = pvb.create(); - mPV.setName("PV"); - mPV.bindAllocation(mPVAlloc); - - mPVOrthoAlloc = new ProgramVertex.MatrixAllocation(mRS); - mPVOrthoAlloc.setupOrthoWindow(mWidth, mHeight); - - pvb.setTextureMatrixEnable(true); - mPVOrtho = pvb.create(); - mPVOrtho.setName("PVOrtho"); - mPVOrtho.bindAllocation(mPVOrthoAlloc); - - mRS.contextBindProgramVertex(mPV); - - mAllocScratchBuf = new int[32]; - mAllocScratch = Allocation.createSized(mRS, - Element.USER_I32(mRS), mAllocScratchBuf.length); - mAllocScratch.data(mAllocScratchBuf); - - Log.e("rs", "Done loading named"); - - - - { - mIcons = new Allocation[29]; - mAllocIconIDBuf = new int[mIcons.length]; - mAllocIconID = Allocation.createSized(mRS, - Element.USER_I32(mRS), mAllocIconIDBuf.length); - - mLabels = new Allocation[29]; - mAllocLabelIDBuf = new int[mLabels.length]; - mAllocLabelID = Allocation.createSized(mRS, - Element.USER_I32(mRS), mLabels.length); - - Element ie8888 = Element.RGBA_8888(mRS); - - mIcons[0] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.browser, ie8888, true); - mIcons[1] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.market, ie8888, true); - mIcons[2] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.photos, ie8888, true); - mIcons[3] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.settings, ie8888, true); - mIcons[4] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.calendar, ie8888, true); - mIcons[5] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.g1155, ie8888, true); - mIcons[6] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.g2140, ie8888, true); - mIcons[7] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.maps, ie8888, true); - mIcons[8] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.path431, ie8888, true); - mIcons[9] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.path676, ie8888, true); - mIcons[10] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.path754, ie8888, true); - mIcons[11] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.path815, ie8888, true); - mIcons[12] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.path1920, ie8888, true); - mIcons[13] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.path1927, ie8888, true); - mIcons[14] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.path3099, ie8888, true); - mIcons[15] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.path3950, ie8888, true); - mIcons[16] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.path4481, ie8888, true); - mIcons[17] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.path5168, ie8888, true); - mIcons[18] = Allocation.createFromBitmapResource(mRS, mRes, R.raw.polygon2408, ie8888, true); - - mLabels[0] = makeTextBitmap("browser"); - mLabels[1] = makeTextBitmap("market"); - mLabels[2] = makeTextBitmap("photos"); - mLabels[3] = makeTextBitmap("settings"); - mLabels[4] = makeTextBitmap("calendar"); - mLabels[5] = makeTextBitmap("g1155"); - mLabels[6] = makeTextBitmap("g2140"); - mLabels[7] = makeTextBitmap("maps"); - mLabels[8] = makeTextBitmap("path431"); - mLabels[9] = makeTextBitmap("path676"); - mLabels[10] = makeTextBitmap("path754"); - mLabels[11] = makeTextBitmap("path815"); - mLabels[12] = makeTextBitmap("path1920"); - mLabels[13] = makeTextBitmap("path1927"); - mLabels[14] = makeTextBitmap("path3099"); - mLabels[15] = makeTextBitmap("path3950"); - mLabels[16] = makeTextBitmap("path4481"); - mLabels[17] = makeTextBitmap("path5168"); - mLabels[18] = makeTextBitmap("polygon2408"); - - mIcons[19] = mIcons[0]; - mIcons[20] = mIcons[1]; - mIcons[21] = mIcons[2]; - mIcons[22] = mIcons[3]; - mIcons[23] = mIcons[4]; - mIcons[24] = mIcons[5]; - mIcons[25] = mIcons[6]; - mIcons[26] = mIcons[7]; - mIcons[27] = mIcons[8]; - mIcons[28] = mIcons[9]; - - mLabels[19] = mLabels[0]; - mLabels[20] = mLabels[1]; - mLabels[21] = mLabels[2]; - mLabels[22] = mLabels[3]; - mLabels[23] = mLabels[4]; - mLabels[24] = mLabels[5]; - mLabels[25] = mLabels[6]; - mLabels[26] = mLabels[7]; - mLabels[27] = mLabels[8]; - mLabels[28] = mLabels[9]; - - for(int ct=0; ct < mIcons.length; ct++) { - mIcons[ct].uploadToTexture(0); - mLabels[ct].uploadToTexture(0); - mAllocIconIDBuf[ct] = mIcons[ct].getID(); - mAllocLabelIDBuf[ct] = mLabels[ct].getID(); - } - mAllocIconID.data(mAllocIconIDBuf); - mAllocLabelID.data(mAllocLabelIDBuf); - } - - } - - Allocation makeTextBitmap(String t) { - Bitmap b = Bitmap.createBitmap(128, 32, Bitmap.Config.ARGB_8888); - Canvas c = new Canvas(b); - Paint p = new Paint(); - p.setTypeface(Typeface.DEFAULT_BOLD); - p.setTextSize(20); - p.setColor(0xffffffff); - c.drawText(t, 2, 26, p); - return Allocation.createFromBitmap(mRS, b, Element.RGBA_8888(mRS), true); - } - - - private void initRS() { - ScriptC.Builder sb = new ScriptC.Builder(mRS); - sb.setScript(mRes, R.raw.rollo); - //sb.setScript(mRes, R.raw.rollo2); - sb.setRoot(true); - mScript = sb.create(); - mScript.setClearColor(0.0f, 0.0f, 0.0f, 0.0f); - - mAllocStateBuf = new int[] {0, 0, 0, 8, 0, 0, -1, 0, mAllocIconIDBuf.length, 0, 0}; - mAllocState = Allocation.createSized(mRS, - Element.USER_I32(mRS), mAllocStateBuf.length); - mScript.bindAllocation(mAllocState, 0); - mScript.bindAllocation(mAllocIconID, 1); - mScript.bindAllocation(mAllocScratch, 2); - mScript.bindAllocation(mAllocLabelID, 3); - setPosition(0); - setZoom(1); - - //RenderScript.File f = mRS.fileOpen("/sdcard/test.a3d"); - - mRS.contextBindRootScript(mScript); - } -} - - diff --git a/libs/rs/java/Rollo/src/com/android/rollo/RolloView.java b/libs/rs/java/Rollo/src/com/android/rollo/RolloView.java deleted file mode 100644 index 7524a0e..0000000 --- a/libs/rs/java/Rollo/src/com/android/rollo/RolloView.java +++ /dev/null @@ -1,214 +0,0 @@ -/* - * Copyright (C) 2008 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.rollo; - -import java.io.Writer; -import java.util.ArrayList; -import java.util.concurrent.Semaphore; -import java.lang.Float; - -import android.renderscript.RSSurfaceView; -import android.renderscript.RenderScript; - -import android.content.Context; -import android.content.res.Resources; -import android.graphics.Bitmap; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.os.Handler; -import android.os.Message; -import android.util.AttributeSet; -import android.util.Log; -import android.view.Surface; -import android.view.SurfaceHolder; -import android.view.SurfaceView; -import android.view.KeyEvent; -import android.view.MotionEvent; -import android.graphics.PixelFormat; - - -public class RolloView extends RSSurfaceView { - public RolloView(Context context) { - super(context); - setFocusable(true); - getHolder().setFormat(PixelFormat.TRANSLUCENT); - } - - private RenderScript mRS; - private RolloRS mRender; - - public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) { - super.surfaceChanged(holder, format, w, h); - - mRS = createRenderScript(false); - mRender = new RolloRS(); - mRender.init(mRS, getResources(), w, h); - } - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) - { - // break point at here - // this method doesn't work when 'extends View' include 'extends ScrollView'. - return super.onKeyDown(keyCode, event); - } - - boolean mControlMode = false; - boolean mZoomMode = false; - boolean mFlingMode = false; - float mFlingX = 0; - float mFlingY = 0; - float mColumn = -1; - float mOldColumn; - float mZoom = 1; - - int mIconCount = 29; - int mRows = 4; - int mColumns = (mIconCount + mRows - 1) / mRows; - - float mMaxZoom = ((float)mColumns) / 3.f; - - - void setColumn(boolean clamp) - { - //Log.e("rs", " col = " + Float.toString(mColumn)); - float c = mColumn; - if(c > (mColumns -2)) { - c = (mColumns -2); - } - if(c < 0) { - c = 0; - } - mRender.setPosition(c); - if(clamp) { - mColumn = c; - } - } - - void computeSelection(float x, float y) - { - float col = mColumn + (x - 0.5f) * 4 + 1.25f; - int iCol = (int)(col + 0.25f); - - float row = (y / 0.8f) * mRows; - int iRow = (int)(row - 0.5f); - - mRender.setSelected(iCol * mRows + iRow); - } - - @Override - public boolean onTouchEvent(MotionEvent ev) - { - boolean ret = true; - int act = ev.getAction(); - if (act == ev.ACTION_UP) { - ret = false; - } - - float nx = ev.getX() / getWidth(); - float ny = ev.getY() / getHeight(); - - //Log.e("rs", "width=" + Float.toString(getWidth())); - //Log.e("rs", "height=" + Float.toString(getHeight())); - - mRender.setTouch(ret); - - if((ny > 0.85f) || mControlMode) { - mFlingMode = false; - - // Projector control - if((nx > 0.2f) && (nx < 0.8f) || mControlMode) { - if(act != ev.ACTION_UP) { - float zoom = mMaxZoom; - if(mControlMode) { - if(!mZoomMode) { - zoom = 1.f; - } - float dx = nx - mFlingX; - - if((ny < 0.9) && mZoomMode) { - zoom = mMaxZoom - ((0.9f - ny) * 10.f); - if(zoom < 1) { - zoom = 1; - mZoomMode = false; - } - mOldColumn = mColumn; - } - mColumn += dx * 4;// * zoom; - if(zoom > 1.01f) { - mColumn += (mZoom - zoom) * (nx - 0.5f) * 4 * zoom; - } - } else { - mOldColumn = mColumn; - mColumn = ((float)mColumns) / 2; - mControlMode = true; - mZoomMode = true; - } - mZoom = zoom; - mFlingX = nx; - mRender.setZoom(zoom); - if(mZoom < 1.01f) { - computeSelection(nx, ny); - } - } else { - mControlMode = false; - mColumn = mOldColumn; - mRender.setZoom(1.f); - mRender.setSelected(-1); - } - } else { - // Do something with corners here.... - } - setColumn(true); - - } else { - // icon control - if(act != ev.ACTION_UP) { - if(mFlingMode) { - mColumn += (mFlingX - nx) * 4; - setColumn(true); - } - mFlingMode = true; - mFlingX = nx; - mFlingY = ny; - } else { - mFlingMode = false; - mColumn = (float)(java.lang.Math.floor(mColumn * 0.25f + 0.3f) * 4.f) + 1.f; - setColumn(true); - } - } - - - return ret; - } - - @Override - public boolean onTrackballEvent(MotionEvent ev) - { - float x = ev.getX(); - float y = ev.getY(); - //Float tx = new Float(x); - //Float ty = new Float(y); - //Log.e("rs", "tbe " + tx.toString() + ", " + ty.toString()); - - - return true; - } - -} - - |