summaryrefslogtreecommitdiffstats
path: root/tests/src/com/android/gallery3d/ui/PointerInfo.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/src/com/android/gallery3d/ui/PointerInfo.java')
-rw-r--r--tests/src/com/android/gallery3d/ui/PointerInfo.java222
1 files changed, 0 insertions, 222 deletions
diff --git a/tests/src/com/android/gallery3d/ui/PointerInfo.java b/tests/src/com/android/gallery3d/ui/PointerInfo.java
deleted file mode 100644
index 6c78556e1..000000000
--- a/tests/src/com/android/gallery3d/ui/PointerInfo.java
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * Copyright (C) 2010 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.gallery3d.ui;
-
-import java.nio.Buffer;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-import java.nio.CharBuffer;
-import java.nio.DoubleBuffer;
-import java.nio.FloatBuffer;
-import java.nio.IntBuffer;
-import java.nio.LongBuffer;
-import java.nio.ShortBuffer;
-
-import javax.microedition.khronos.opengles.GL10;
-
-public class PointerInfo {
-
- /**
- * The number of coordinates per vertex. 1..4
- */
- public int mSize;
-
- /**
- * The type of each coordinate.
- */
- public int mType;
-
- /**
- * The byte offset between consecutive vertices. 0 means mSize *
- * sizeof(mType)
- */
- public int mStride;
- public Buffer mPointer;
- public ByteBuffer mTempByteBuffer;
-
- public PointerInfo(int size, int type, int stride, Buffer pointer) {
- mSize = size;
- mType = type;
- mStride = stride;
- mPointer = pointer;
- }
-
- private int getStride() {
- return mStride > 0 ? mStride : sizeof(mType) * mSize;
- }
-
- public void bindByteBuffer() {
- mTempByteBuffer = mPointer == null ? null : toByteBuffer(-1, mPointer);
- }
-
- public void unbindByteBuffer() {
- mTempByteBuffer = null;
- }
-
- private static int sizeof(int type) {
- switch (type) {
- case GL10.GL_UNSIGNED_BYTE:
- return 1;
- case GL10.GL_BYTE:
- return 1;
- case GL10.GL_SHORT:
- return 2;
- case GL10.GL_FIXED:
- return 4;
- case GL10.GL_FLOAT:
- return 4;
- default:
- return 0;
- }
- }
-
- private static ByteBuffer toByteBuffer(int byteCount, Buffer input) {
- ByteBuffer result = null;
- boolean convertWholeBuffer = (byteCount < 0);
- if (input instanceof ByteBuffer) {
- ByteBuffer input2 = (ByteBuffer) input;
- int position = input2.position();
- if (convertWholeBuffer) {
- byteCount = input2.limit() - position;
- }
- result = ByteBuffer.allocate(byteCount).order(input2.order());
- for (int i = 0; i < byteCount; i++) {
- result.put(input2.get());
- }
- input2.position(position);
- } else if (input instanceof CharBuffer) {
- CharBuffer input2 = (CharBuffer) input;
- int position = input2.position();
- if (convertWholeBuffer) {
- byteCount = (input2.limit() - position) * 2;
- }
- result = ByteBuffer.allocate(byteCount).order(input2.order());
- CharBuffer result2 = result.asCharBuffer();
- for (int i = 0; i < byteCount / 2; i++) {
- result2.put(input2.get());
- }
- input2.position(position);
- } else if (input instanceof ShortBuffer) {
- ShortBuffer input2 = (ShortBuffer) input;
- int position = input2.position();
- if (convertWholeBuffer) {
- byteCount = (input2.limit() - position)* 2;
- }
- result = ByteBuffer.allocate(byteCount).order(input2.order());
- ShortBuffer result2 = result.asShortBuffer();
- for (int i = 0; i < byteCount / 2; i++) {
- result2.put(input2.get());
- }
- input2.position(position);
- } else if (input instanceof IntBuffer) {
- IntBuffer input2 = (IntBuffer) input;
- int position = input2.position();
- if (convertWholeBuffer) {
- byteCount = (input2.limit() - position) * 4;
- }
- result = ByteBuffer.allocate(byteCount).order(input2.order());
- IntBuffer result2 = result.asIntBuffer();
- for (int i = 0; i < byteCount / 4; i++) {
- result2.put(input2.get());
- }
- input2.position(position);
- } else if (input instanceof FloatBuffer) {
- FloatBuffer input2 = (FloatBuffer) input;
- int position = input2.position();
- if (convertWholeBuffer) {
- byteCount = (input2.limit() - position) * 4;
- }
- result = ByteBuffer.allocate(byteCount).order(input2.order());
- FloatBuffer result2 = result.asFloatBuffer();
- for (int i = 0; i < byteCount / 4; i++) {
- result2.put(input2.get());
- }
- input2.position(position);
- } else if (input instanceof DoubleBuffer) {
- DoubleBuffer input2 = (DoubleBuffer) input;
- int position = input2.position();
- if (convertWholeBuffer) {
- byteCount = (input2.limit() - position) * 8;
- }
- result = ByteBuffer.allocate(byteCount).order(input2.order());
- DoubleBuffer result2 = result.asDoubleBuffer();
- for (int i = 0; i < byteCount / 8; i++) {
- result2.put(input2.get());
- }
- input2.position(position);
- } else if (input instanceof LongBuffer) {
- LongBuffer input2 = (LongBuffer) input;
- int position = input2.position();
- if (convertWholeBuffer) {
- byteCount = (input2.limit() - position) * 8;
- }
- result = ByteBuffer.allocate(byteCount).order(input2.order());
- LongBuffer result2 = result.asLongBuffer();
- for (int i = 0; i < byteCount / 8; i++) {
- result2.put(input2.get());
- }
- input2.position(position);
- } else {
- throw new RuntimeException("Unimplemented Buffer subclass.");
- }
- result.rewind();
- // The OpenGL API will interpret the result in hardware byte order,
- // so we better do that as well:
- result.order(ByteOrder.nativeOrder());
- return result;
- }
-
- public void getArrayElement(int index, double[] result) {
- if (mTempByteBuffer == null) {
- throw new IllegalArgumentException("undefined pointer");
- }
- if (mStride < 0) {
- throw new IllegalArgumentException("invalid stride");
- }
-
- int stride = getStride();
- ByteBuffer byteBuffer = mTempByteBuffer;
- int size = mSize;
- int type = mType;
- int sizeofType = sizeof(type);
- int byteOffset = stride * index;
-
- for (int i = 0; i < size; i++) {
- switch (type) {
- case GL10.GL_BYTE:
- case GL10.GL_UNSIGNED_BYTE:
- result[i] = byteBuffer.get(byteOffset);
- break;
- case GL10.GL_SHORT:
- ShortBuffer shortBuffer = byteBuffer.asShortBuffer();
- result[i] = shortBuffer.get(byteOffset / 2);
- break;
- case GL10.GL_FIXED:
- IntBuffer intBuffer = byteBuffer.asIntBuffer();
- result[i] = intBuffer.get(byteOffset / 4);
- break;
- case GL10.GL_FLOAT:
- FloatBuffer floatBuffer = byteBuffer.asFloatBuffer();
- result[i] = floatBuffer.get(byteOffset / 4);
- break;
- default:
- throw new UnsupportedOperationException("unknown type");
- }
- byteOffset += sizeofType;
- }
- }
-}