Class DataBufferByte

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

public final classDataBufferByteextendsDataBuffer
This class extendsDataBuffer and stores data internally as bytes. Values stored in the byte array(s) of thisDataBuffer are treated as unsigned values.

Note that some implementations may function more efficiently if they can maintain control over how the data for an image is stored. For example, optimizations such as caching an image in video memory require that the implementation track all modifications to that data. Other implementations may operate better if they can store the data in locations other than a Java array. To maintain optimum compatibility with various optimizations it is best to avoid constructors and methods which expose the underlying storage as a Java array, as noted below in the documentation for those methods.

  • Constructor Details

    • DataBufferByte

      public DataBufferByte(int size)
      Constructs a byte-basedDataBuffer with a single bank and the specified size.
      Parameters:
      size - The size of theDataBuffer.
    • DataBufferByte

      public DataBufferByte(int size, int numBanks)
      Constructs a byte basedDataBuffer with the specified number of banks all of which are the specified size.
      Parameters:
      size - The size of the banks in theDataBuffer.
      numBanks - The number of banks in theDataBuffer.
    • DataBufferByte

      public DataBufferByte(byte[] dataArray, int size)
      Constructs a byte-basedDataBuffer with a single bank using the specified array. Only the firstsize elements should be used by accessors of thisDataBuffer.dataArray must be large enough to holdsize elements.

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

      Parameters:
      dataArray - The byte array for theDataBuffer.
      size - The size of theDataBuffer bank.
    • DataBufferByte

      public DataBufferByte(byte[] dataArray, int size, int offset)
      Constructs a byte-basedDataBuffer with a single bank using the specified array, size, and offset.dataArray must have at leastoffset +size elements. Only elementsoffset throughoffset +size - 1 should be used by accessors of thisDataBuffer.

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

      Parameters:
      dataArray - The byte array for theDataBuffer.
      size - The size of theDataBuffer bank.
      offset - The offset into thedataArray.dataArray must have at leastoffset +size elements.
    • DataBufferByte

      public DataBufferByte(byte[][] dataArray, int size)
      Constructs a byte-basedDataBuffer with the specified arrays. The number of banks is equal todataArray.length. Only the firstsize elements of each array should be used by accessors of thisDataBuffer.

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

      Parameters:
      dataArray - The byte arrays for theDataBuffer.
      size - The size of the banks in theDataBuffer.
    • DataBufferByte

      public DataBufferByte(byte[][] dataArray, int size, int[] offsets)
      Constructs a byte-basedDataBuffer with the specified arrays, size, and offsets. The number of banks is equal todataArray.length. Each array must be at least as large assize + the correspondingoffset. There must be an entry in theoffset array for eachdataArray entry. For each bank, only elementsoffset throughoffset +size - 1 should be used by accessors of thisDataBuffer.

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

      Parameters:
      dataArray - The byte arrays for theDataBuffer.
      size - The size of the banks in theDataBuffer.
      offsets - The offsets into each array.
  • Method Details

    • getData

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

      Note that calling this method may cause thisDataBuffer object to be incompatible withperformance 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 thisDataBuffer object to be incompatible withperformance 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.
    • getBankData

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

      Note that calling this method may cause thisDataBuffer object to be incompatible withperformance 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.
      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.
      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.
      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.
      See Also: