FileDocCategorySizeDatePackage
DataBufferUShort.javaAPI DocAndroid 1.5 API5879Wed May 06 22:41:54 BST 2009java.awt.image

DataBufferUShort

public final class DataBufferUShort extends DataBuffer
The Class DataBufferUShort is the subclass of DataBuffer for the case where the underlying data is unsigned short.
since
Android 1.0

Fields Summary
short[]
data
The data.
Constructors Summary
public DataBufferUShort(short[] dataArrays, int size, int[] offsets)
Instantiates a new data buffer of type unsigned short.

param
dataArrays the data arrays to copy the data from.
param
size the length (number of elements) to use from the data arrays.
param
offsets the starting indices for reading the data from the internal data arrays.

        super(TYPE_USHORT, size, dataArrays.length, offsets);
        for (int i = 0; i < dataArrays.length; i++) {
            if (dataArrays[i].length < offsets[i] + size) {
                // awt.28d=Length of dataArray[{0}] is less than size +
                // offset[{1}]
                throw new IllegalArgumentException(Messages.getString("awt.28D", i, i)); //$NON-NLS-1$
            }
        }
        data = dataArrays.clone();
    
public DataBufferUShort(short[] dataArrays, int size)
Instantiates a new data buffer of type unsigned short.

param
dataArrays the data arrays to copy the data from.
param
size the length (number of elements) to use from the data arrays.

        super(TYPE_USHORT, size, dataArrays.length);
        data = dataArrays.clone();
    
public DataBufferUShort(short[] dataArray, int size, int offset)
Instantiates a new data buffer of type unsigned short with a single underlying array of data.

param
dataArray the data array to copy the data from.
param
size the length (number of elements) to use.
param
offset the starting index to use when reading the data.

        super(TYPE_USHORT, size, 1, offset);
        if (dataArray.length < size + offset) {
            // awt.28E=Length of dataArray is less than size + offset
            throw new IllegalArgumentException(Messages.getString("awt.28E")); //$NON-NLS-1$
        }
        data = new short[1][];
        data[0] = dataArray;
    
public DataBufferUShort(short[] dataArray, int size)
Instantiates a new data buffer of type unsigned short with a single underlying array of data starting at index 0.

param
dataArray the data array to copy the data from.
param
size the length (number of elements) to use.

        super(TYPE_USHORT, size);
        data = new short[1][];
        data[0] = dataArray;
    
public DataBufferUShort(int size, int numBanks)
Instantiates a new empty data buffer of type unsigned short with offsets equal to zero.

param
size the length (number of elements) to use from the data arrays.
param
numBanks the number of data arrays to create.

        super(TYPE_USHORT, size, numBanks);
        data = new short[numBanks][];
        int i = 0;
        while (i < numBanks) {
            data[i++] = new short[size];
        }
    
public DataBufferUShort(int size)
Instantiates a new empty data buffer of type unsigned short with a single underlying array of data starting at index 0.

param
size the length (number of elements) to use.

        super(TYPE_USHORT, size);
        data = new short[1][];
        data[0] = new short[size];
    
Methods Summary
public short[][]getBankData()
Gets the bank data.

return
the bank data.

        notifyTaken();
        return data.clone();
    
public short[]getData(int bank)
Gets the data of the specified internal data array.

param
bank the index of the desired data array.
return
the data.

        notifyTaken();
        return data[bank];
    
public short[]getData()
Gets the data of the first data array.

return
the data.

        notifyTaken();
        return data[0];
    
public intgetElem(int i)

        return (data[0][offset + i]) & 0xffff;
    
public intgetElem(int bank, int i)

        return (data[bank][offsets[bank] + i]) & 0xffff;
    
public voidsetElem(int bank, int i, int val)

        data[bank][offsets[bank] + i] = (short)val;
        notifyChanged();
    
public voidsetElem(int i, int val)

        data[0][offset + i] = (short)val;
        notifyChanged();