Class DataBufferByte

java.lang.Object
java.awt.image.DataBuffer
java.awt.image.DataBufferByte

  • Field Summary

    Fields declared in class DataBuffer

    banks, dataType, offset, offsets, size, TYPE_BYTE, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INT, TYPE_SHORT, TYPE_UNDEFINED, TYPE_USHORT
    Modifier and Type
    Field
    Description
    protected int
    The number of banks in this DataBuffer.
    protected int
    The data type of this DataBuffer.
    protected int
    Offset into default (first) bank from which to get the first element.
    protected int[]
    Offsets into all banks.
    protected int
    Usable size of all banks.
    static final int
    Tag for unsigned byte data.
    static final int
    Tag for double data.
    static final int
    Tag for float data.
    static final int
    Tag for int data.
    static final int
    Tag for signed short data.
    static final int
    Tag for undefined data.
    static final int
    Tag for unsigned short data.
  • Constructor Summary

    Constructors
    Constructor
    Description
    DataBufferByte(byte[][] dataArray, int size)
    Constructs a byte-based DataBuffer with the specified arrays.
    DataBufferByte(byte[][] dataArray, int size, int[] offsets)
    Constructs a byte-based DataBuffer with the specified arrays, size, and offsets.
    DataBufferByte(byte[] dataArray, int size)
    Constructs a byte-based DataBuffer with a single bank using the specified array.
    DataBufferByte(byte[] dataArray, int size, int offset)
    Constructs a byte-based DataBuffer with a single bank using the specified array, size, and offset.
    DataBufferByte(int size)
    Constructs a byte-based DataBuffer with a single bank and the specified size.
    DataBufferByte(int size, int numBanks)
    Constructs a byte based DataBuffer with the specified number of banks all of which are the specified size.
  • Method Summary

    Modifier and Type
    Method
    Description
    byte[][]
    Returns the data arrays for all banks.
    byte[]
    Returns the default (first) byte data array.
    byte[]
    getData(int bank)
    Returns the data array for the specified bank.
    int
    getElem(int i)
    Returns the requested data array element from the first (default) bank.
    int
    getElem(int bank, int i)
    Returns the requested data array element from the specified bank.
    void
    setElem(int i, int val)
    Sets the requested data array element in the first (default) bank to the specified value.
    void
    setElem(int bank, int i, int val)
    Sets the requested data array element in the specified bank from the given integer.

    Methods declared in class DataBuffer

    getDataType, getDataTypeSize, getElemDouble, getElemDouble, getElemFloat, getElemFloat, getNumBanks, getOffset, getOffsets, getSize, setElemDouble, setElemDouble, setElemFloat, setElemFloat
    Modifier and Type
    Method
    Description
    int
    Returns the data type of this DataBuffer.
    static int
    getDataTypeSize(int type)
    Returns the size (in bits) of the data type, given a datatype tag.
    double
    Returns the requested data array element from the first (default) bank as a double.
    double
    getElemDouble(int bank, int i)
    Returns the requested data array element from the specified bank as a double.
    float
    getElemFloat(int i)
    Returns the requested data array element from the first (default) bank as a float.
    float
    getElemFloat(int bank, int i)
    Returns the requested data array element from the specified bank as a float.
    int
    Returns the number of banks in this DataBuffer.
    int
    Returns the offset of the default bank in array elements.
    int[]
    Returns the offsets (in array elements) of all the banks.
    int
    Returns the size (in array elements) of all banks.
    void
    setElemDouble(int i, double val)
    Sets the requested data array element in the first (default) bank from the given double.
    void
    setElemDouble(int bank, int i, double val)
    Sets the requested data array element in the specified bank from the given double.
    void
    setElemFloat(int i, float val)
    Sets the requested data array element in the first (default) bank from the given float.
    void
    setElemFloat(int bank, int i, float val)
    Sets the requested data array element in the specified bank from the given float.

    Methods declared in class Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    Modifier and Type
    Method
    Description
    protected Object
    Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.
    boolean
    Compares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.
    protected void
    Deprecated, for removal: This API element is subject to removal in a future version.
    May cause performance issues, deadlocks and hangs.
    final Class<? extends Object>
    Answers the unique instance of java.lang.Class which represents the class of the receiver.
    int
    Answers an integer hash code for the receiver.
    final void
    Causes one thread which is waiting on the receiver to be made ready to run.
    final void
    Causes all threads which are waiting on the receiver to be made ready to run.
    Answers a string containing a concise, human-readable description of the receiver.
    final void
    Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated by notify or notifyAll).
    final void
    wait(long time)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
    final void
    wait(long time, int frac)
    Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated by notify or notifyAll) or the expiration of the timeout.
  • Constructor Details

    • DataBufferByte

      public DataBufferByte(int size)
      Constructs a byte-based DataBuffer with a single bank and the specified size.
      Parameters:
      size - The size of the DataBuffer.
      Throws:
      IllegalArgumentException - if size is less than or equal to zero.
    • DataBufferByte

      public DataBufferByte(int size, int numBanks)
      Constructs a byte based DataBuffer with the specified number of banks all of which are the specified size.
      Parameters:
      size - The size of the banks in the DataBuffer.
      numBanks - The number of banks in the DataBuffer.
      Throws:
      IllegalArgumentException - if size or numBanks is less than or equal to zero.
    • DataBufferByte

      public DataBufferByte(byte[] dataArray, int size)
      Constructs a byte-based DataBuffer with a single bank using the specified array. Only the first size elements should be used by accessors of this DataBuffer. dataArray must be large enough to hold size elements.

      Note that DataBuffer objects created by this constructor may be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).

      Parameters:
      dataArray - The byte array for the DataBuffer.
      size - The size of the DataBuffer bank.
      Throws:
      NullPointerException - if dataArray is null.
      IllegalArgumentException - if size is less than or equal to zero, or is greater than the length of dataArray.
    • DataBufferByte

      public DataBufferByte(byte[] dataArray, int size, int offset)
      Constructs a byte-based DataBuffer with a single bank using the specified array, size, and offset. dataArray must have at least offset + size elements. Only elements offset through offset + size - 1 should be used by accessors of this DataBuffer.

      Note that DataBuffer objects created by this constructor may be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).

      Parameters:
      dataArray - The byte array for the DataBuffer.
      size - The size of the DataBuffer bank.
      offset - The offset into the dataArray. dataArray must have at least offset + size elements.
      Throws:
      NullPointerException - if dataArray is null.
      IllegalArgumentException - if size is less than or equal to zero, or offset is less than zero, or (offset + size) is greater than the length of dataArray.
    • DataBufferByte

      public DataBufferByte(byte[][] dataArray, int size)
      Constructs a byte-based DataBuffer with the specified arrays. The number of banks is equal to dataArray.length. Only the first size elements of each array should be used by accessors of this DataBuffer.

      Note that DataBuffer objects created by this constructor may be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).

      Parameters:
      dataArray - The byte arrays for the DataBuffer.
      size - The size of the banks in the DataBuffer.
      Throws:
      NullPointerException - if dataArray is null.
      IllegalArgumentException - if size is less than or equal to zero.
      IllegalArgumentException - if dataArray does not have at least one bank.
      NullPointerException - if any bank of dataArray is null.
      IllegalArgumentException - if the length of any bank of dataArray is less than size.
    • DataBufferByte

      public DataBufferByte(byte[][] dataArray, int size, int[] offsets)
      Constructs a byte-based DataBuffer with the specified arrays, size, and offsets. The number of banks is equal to dataArray.length. Each array must be at least as large as size + the corresponding offset. There must be an entry in the offset array for each dataArray entry. For each bank, only elements offset through offset + size - 1 should be used by accessors of this DataBuffer.

      Note that DataBuffer objects created by this constructor may be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).

      Parameters:
      dataArray - The byte arrays for the DataBuffer.
      size - The size of the banks in the DataBuffer.
      offsets - The offsets into each array.
      Throws:
      IllegalArgumentException - if size is less than or equal to zero.
      NullPointerException - if dataArray is null.
      NullPointerException - if any bank of dataArray is null.
      IllegalArgumentException - if dataArray does not have at least one bank.
      NullPointerException - if offsets is null.
      IllegalArgumentException - if any element of offsets is less than zero.
      ArrayIndexOutOfBoundsException - if the lengths of dataArray and offsets differ.
      IllegalArgumentException - if the length of any bank of dataArray is less than (size + offsets[bankIndex]).
  • Method Details

    • getData

      public byte[] getData()
      Returns the default (first) byte data array.

      Note that calling this method may cause this DataBuffer object to be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).

      Returns:
      The first byte data array.
    • getData

      public byte[] getData(int bank)
      Returns the data array for the specified bank.

      Note that calling this method may cause this DataBuffer object to be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).

      Parameters:
      bank - The bank whose data array you want to get.
      Returns:
      The data array for the specified bank.
      Throws:
      ArrayIndexOutOfBoundsException - if bank is not a valid bank index.
    • getBankData

      public byte[][] getBankData()
      Returns the data arrays for all banks.

      Note that calling this method may cause this DataBuffer object to be incompatible with performance optimizations used by some implementations (such as caching an associated image in video memory).

      Returns:
      All of the data arrays.
    • getElem

      public int getElem(int i)
      Returns the requested data array element from the first (default) bank.
      Overrides:
      getElem in class DataBuffer
      Parameters:
      i - The data array element you want to get.
      Returns:
      The requested data array element as an integer.
      Throws:
      ArrayIndexOutOfBoundsException - if (i + getOffset()) is not a valid index.
      See Also:
    • getElem

      public int getElem(int bank, int i)
      Returns the requested data array element from the specified bank.
      Specified by:
      getElem in class DataBuffer
      Parameters:
      bank - The bank from which you want to get a data array element.
      i - The data array element you want to get.
      Returns:
      The requested data array element as an integer.
      Throws:
      ArrayIndexOutOfBoundsException - if bank is not a valid bank index, or (i + getOffsets()[bank]) is not a valid index into the bank.
      See Also:
    • setElem

      public void setElem(int i, int val)
      Sets the requested data array element in the first (default) bank to the specified value.
      Overrides:
      setElem in class DataBuffer
      Parameters:
      i - The data array element you want to set.
      val - The integer value to which you want to set the data array element.
      Throws:
      ArrayIndexOutOfBoundsException - if (i + getOffset()) is not a valid index.
      See Also:
    • setElem

      public void setElem(int bank, int i, int val)
      Sets the requested data array element in the specified bank from the given integer.
      Specified by:
      setElem in class DataBuffer
      Parameters:
      bank - The bank in which you want to set the data array element.
      i - The data array element you want to set.
      val - The integer value to which you want to set the specified data array element.
      Throws:
      ArrayIndexOutOfBoundsException - if bank is not a valid bank index, or (i + getOffsets()[bank]) is not a valid index into the bank.
      See Also: