summaryrefslogtreecommitdiffstats
path: root/awt/java/awt/image/DataBuffer.java
diff options
context:
space:
mode:
Diffstat (limited to 'awt/java/awt/image/DataBuffer.java')
-rw-r--r--awt/java/awt/image/DataBuffer.java481
1 files changed, 0 insertions, 481 deletions
diff --git a/awt/java/awt/image/DataBuffer.java b/awt/java/awt/image/DataBuffer.java
deleted file mode 100644
index 92f900f..0000000
--- a/awt/java/awt/image/DataBuffer.java
+++ /dev/null
@@ -1,481 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You 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.
- */
-/**
- * @author Igor V. Stolyarov
- * @version $Revision$
- */
-
-package java.awt.image;
-
-import org.apache.harmony.awt.gl.image.DataBufferListener;
-import org.apache.harmony.awt.internal.nls.Messages;
-
-/**
- * The Class DataBuffer is a wrapper class for a data array to be used for the
- * situation where a suite of functionality acts on a set of data in a
- * consistent way even though the primitive type of the data may vary from one
- * use to the next.
- *
- * @since Android 1.0
- */
-public abstract class DataBuffer {
-
- /**
- * The Constant TYPE_BYTE.
- */
- public static final int TYPE_BYTE = 0;
-
- /**
- * The Constant TYPE_USHORT.
- */
- public static final int TYPE_USHORT = 1;
-
- /**
- * The Constant TYPE_SHORT.
- */
- public static final int TYPE_SHORT = 2;
-
- /**
- * The Constant TYPE_INT.
- */
- public static final int TYPE_INT = 3;
-
- /**
- * The Constant TYPE_FLOAT.
- */
- public static final int TYPE_FLOAT = 4;
-
- /**
- * The Constant TYPE_DOUBLE.
- */
- public static final int TYPE_DOUBLE = 5;
-
- /**
- * The Constant TYPE_UNDEFINED.
- */
- public static final int TYPE_UNDEFINED = 32;
-
- /**
- * The data type indicates the primitive type of the data in this
- * DataBuffer.
- */
- protected int dataType;
-
- /**
- * The number of data arrays in this DataBuffer.
- */
- protected int banks;
-
- /**
- * The starting index for reading the data from the first (or only) internal
- * data array.
- */
- protected int offset;
-
- /**
- * The length (number of elements) of the data arrays.
- */
- protected int size;
-
- /**
- * The starting indices for reading the data from the internal data arrays.
- */
- protected int offsets[];
-
- /**
- * The data changed.
- */
- boolean dataChanged = true;
-
- /**
- * The data taken.
- */
- boolean dataTaken = false;
-
- /**
- * The listener.
- */
- DataBufferListener listener;
-
- static {
- AwtImageBackdoorAccessorImpl.init();
- }
-
- /**
- * Instantiates a new data buffer.
- *
- * @param dataType
- * the data type.
- * @param size
- * the length (number of elements) of the data arrays.
- * @param numBanks
- * the number of data arrays to create.
- * @param offsets
- * the starting indices for reading the data from the internal
- * data arrays.
- */
- protected DataBuffer(int dataType, int size, int numBanks, int[] offsets) {
- this.dataType = dataType;
- this.size = size;
- this.banks = numBanks;
- this.offsets = offsets.clone();
- this.offset = offsets[0];
- }
-
- /**
- * Instantiates a new data buffer with all of the data arrays starting at
- * the same index.
- *
- * @param dataType
- * the data type.
- * @param size
- * the length (number of elements) of the data arrays.
- * @param numBanks
- * the number of data arrays to create.
- * @param offset
- * the offset to use for all of the data arrays.
- */
- protected DataBuffer(int dataType, int size, int numBanks, int offset) {
- this.dataType = dataType;
- this.size = size;
- this.banks = numBanks;
- this.offset = offset;
- this.offsets = new int[numBanks];
- int i = 0;
- while (i < numBanks) {
- offsets[i++] = offset;
- }
- }
-
- /**
- * Instantiates a new data buffer with all of the data arrays read from the
- * beginning (at offset zero).
- *
- * @param dataType
- * the data type.
- * @param size
- * the length (number of elements) of the data arrays.
- * @param numBanks
- * the number of data arrays to create.
- */
- protected DataBuffer(int dataType, int size, int numBanks) {
- this.dataType = dataType;
- this.size = size;
- this.banks = numBanks;
- this.offset = 0;
- this.offsets = new int[numBanks];
- }
-
- /**
- * Instantiates a new data buffer with one internal data array read from the
- * beginning (at offset zero).
- *
- * @param dataType
- * the data type.
- * @param size
- * the length (number of elements) of the data arrays.
- */
- protected DataBuffer(int dataType, int size) {
- this.dataType = dataType;
- this.size = size;
- this.banks = 1;
- this.offset = 0;
- this.offsets = new int[1];
- }
-
- /**
- * Sets the data value in the specified array at the specified index.
- *
- * @param bank
- * the internal array to the data to.
- * @param i
- * the index within the array where the data should be written.
- * @param val
- * the value to write into the array.
- */
- public abstract void setElem(int bank, int i, int val);
-
- /**
- * Sets the float data value in the specified array at the specified index.
- *
- * @param bank
- * the internal array to the data to.
- * @param i
- * the index within the array where the data should be written.
- * @param val
- * the value to write into the array.
- */
- public void setElemFloat(int bank, int i, float val) {
- setElem(bank, i, (int)val);
- }
-
- /**
- * Sets the double data value in the specified array at the specified index.
- *
- * @param bank
- * the internal array to the data to.
- * @param i
- * the index within the array where the data should be written.
- * @param val
- * the value to write into the array.
- */
- public void setElemDouble(int bank, int i, double val) {
- setElem(bank, i, (int)val);
- }
-
- /**
- * Sets the data value in the first array at the specified index.
- *
- * @param i
- * the index within the array where the data should be written.
- * @param val
- * the value to write into the array.
- */
- public void setElem(int i, int val) {
- setElem(0, i, val);
- }
-
- /**
- * Gets the data value from the specified data array at the specified index.
- *
- * @param bank
- * the data array to read from.
- * @param i
- * the index within the array where the data should be read.
- * @return the data element.
- */
- public abstract int getElem(int bank, int i);
-
- /**
- * Gets the float-type data value from the specified data array at the
- * specified index.
- *
- * @param bank
- * the data array to read from.
- * @param i
- * the index within the array where the data should be read.
- * @return the data element.
- */
- public float getElemFloat(int bank, int i) {
- return getElem(bank, i);
- }
-
- /**
- * Gets the double-type data value from the specified data array at the
- * specified index.
- *
- * @param bank
- * the data array to read from.
- * @param i
- * the index within the array where the data should be read.
- * @return the data element.
- */
- public double getElemDouble(int bank, int i) {
- return getElem(bank, i);
- }
-
- /**
- * Sets the float data value in the first array at the specified index.
- *
- * @param i
- * the index within the array where the data should be written.
- * @param val
- * the value to write into the array.
- */
- public void setElemFloat(int i, float val) {
- setElemFloat(0, i, val);
- }
-
- /**
- * Sets the double data value in the first array at the specified index.
- *
- * @param i
- * the index within the array where the data should be written.
- * @param val
- * the value to write into the array.
- */
- public void setElemDouble(int i, double val) {
- setElemDouble(0, i, val);
- }
-
- /**
- * Gets the data value from the first data array at the specified index and
- * returns it as an integer.
- *
- * @param i
- * the index within the array where the data should be read.
- * @return the data element.
- */
- public int getElem(int i) {
- return getElem(0, i);
- }
-
- /**
- * Gets the data value from the first data array at the specified index and
- * returns it as a float.
- *
- * @param i
- * the index within the array where the data should be read.
- * @return the data element.
- */
- public float getElemFloat(int i) {
- return getElem(0, i);
- }
-
- /**
- * Gets the data value from the first data array at the specified index and
- * returns it as a double.
- *
- * @param i
- * the index within the array where the data should be read.
- * @return the data element.
- */
- public double getElemDouble(int i) {
- return getElem(i);
- }
-
- /**
- * Gets the array giving the offsets corresponding to the internal data
- * arrays.
- *
- * @return the array of offsets.
- */
- public int[] getOffsets() {
- return offsets;
- }
-
- /**
- * Gets the size in bits of the primitive data type.
- *
- * @return the size in bits of the primitive data type.
- */
- public int getSize() {
- return size;
- }
-
- /**
- * Gets the offset corresponding to the first internal data array.
- *
- * @return the offset.
- */
- public int getOffset() {
- return offset;
- }
-
- /**
- * Gets the number of data arrays in this DataBuffer.
- *
- * @return the number of data arrays.
- */
- public int getNumBanks() {
- return banks;
- }
-
- /**
- * Gets the primitive type of this buffer's data.
- *
- * @return the data type.
- */
- public int getDataType() {
- return this.dataType;
- }
-
- /**
- * Gets the size in bits of the primitive data type.
- *
- * @param type
- * the primitive type.
- * @return the size in bits of the primitive data type.
- */
- public static int getDataTypeSize(int type) {
- switch (type) {
-
- case TYPE_BYTE:
- return 8;
-
- case TYPE_USHORT:
- case TYPE_SHORT:
- return 16;
-
- case TYPE_INT:
- case TYPE_FLOAT:
- return 32;
-
- case TYPE_DOUBLE:
- return 64;
-
- default:
- // awt.22C=Unknown data type {0}
- throw new IllegalArgumentException(Messages.getString("awt.22C", type)); //$NON-NLS-1$
- }
- }
-
- /**
- * Notifies the listener that the data has changed.
- */
- void notifyChanged() {
- if (listener != null && !dataChanged) {
- dataChanged = true;
- listener.dataChanged();
- }
- }
-
- /**
- * Notifies the listener that the data has been released.
- */
- void notifyTaken() {
- if (listener != null && !dataTaken) {
- dataTaken = true;
- listener.dataTaken();
- }
- }
-
- /**
- * Release the data.
- */
- void releaseData() {
- if (listener != null && dataTaken) {
- dataTaken = false;
- listener.dataReleased();
- }
- }
-
- /**
- * Adds the data buffer listener.
- *
- * @param listener
- * the listener.
- */
- void addDataBufferListener(DataBufferListener listener) {
- this.listener = listener;
- }
-
- /**
- * Removes the data buffer listener.
- */
- void removeDataBufferListener() {
- listener = null;
- }
-
- /**
- * Validate.
- */
- void validate() {
- dataChanged = false;
- }
-
-}