diff options
Diffstat (limited to 'awt/java/awt/image/DataBuffer.java')
-rw-r--r-- | awt/java/awt/image/DataBuffer.java | 481 |
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; - } - -} |