< prev index next >
src/java.desktop/share/classes/java/awt/image/DataBufferByte.java
Print this page
*** 36,47 ****
package java.awt.image;
import static sun.java2d.StateTrackable.State.*;
/**
! * This class extends <CODE>DataBuffer</CODE> and stores data internally as bytes.
! * Values stored in the byte array(s) of this <CODE>DataBuffer</CODE> are treated as
* unsigned values.
* <p>
* <a name="optimizations">
* Note that some implementations may function more efficiently
* if they can maintain control over how the data for an image is
--- 36,47 ----
package java.awt.image;
import static sun.java2d.StateTrackable.State.*;
/**
! * This class extends {@code DataBuffer} and stores data internally as bytes.
! * Values stored in the byte array(s) of this {@code DataBuffer} are treated as
* unsigned values.
* <p>
* <a name="optimizations">
* Note that some implementations may function more efficiently
* if they can maintain control over how the data for an image is
*** 64,91 ****
/** All data banks */
byte bankdata[][];
/**
! * Constructs a byte-based <CODE>DataBuffer</CODE> with a single bank and the
* specified size.
*
! * @param size The size of the <CODE>DataBuffer</CODE>.
*/
public DataBufferByte(int size) {
super(STABLE, TYPE_BYTE, size);
data = new byte[size];
bankdata = new byte[1][];
bankdata[0] = data;
}
/**
! * Constructs a byte based <CODE>DataBuffer</CODE> with the specified number of
* banks all of which are the specified size.
*
! * @param size The size of the banks in the <CODE>DataBuffer</CODE>.
! * @param numBanks The number of banks in the a<CODE>DataBuffer</CODE>.
*/
public DataBufferByte(int size, int numBanks) {
super(STABLE, TYPE_BYTE, size, numBanks);
bankdata = new byte[numBanks][];
for (int i= 0; i < numBanks; i++) {
--- 64,91 ----
/** All data banks */
byte bankdata[][];
/**
! * Constructs a byte-based {@code DataBuffer} with a single bank and the
* specified size.
*
! * @param size The size of the {@code DataBuffer}.
*/
public DataBufferByte(int size) {
super(STABLE, TYPE_BYTE, size);
data = new byte[size];
bankdata = new byte[1][];
bankdata[0] = data;
}
/**
! * Constructs a byte based {@code DataBuffer} with the specified number of
* banks all of which are the specified size.
*
! * @param size The size of the banks in the {@code DataBuffer}.
! * @param numBanks The number of banks in the a {@code DataBuffer}.
*/
public DataBufferByte(int size, int numBanks) {
super(STABLE, TYPE_BYTE, size, numBanks);
bankdata = new byte[numBanks][];
for (int i= 0; i < numBanks; i++) {
*** 93,184 ****
}
data = bankdata[0];
}
/**
! * Constructs a byte-based <CODE>DataBuffer</CODE> with a single bank using the
* specified array.
! * Only the first <CODE>size</CODE> elements should be used by accessors of
! * this <CODE>DataBuffer</CODE>. <CODE>dataArray</CODE> must be large enough to
! * hold <CODE>size</CODE> elements.
* <p>
* Note that {@code DataBuffer} objects created by this constructor
* may be incompatible with <a href="#optimizations">performance
* optimizations</a> used by some implementations (such as caching
* an associated image in video memory).
*
! * @param dataArray The byte array for the <CODE>DataBuffer</CODE>.
! * @param size The size of the <CODE>DataBuffer</CODE> bank.
*/
public DataBufferByte(byte dataArray[], int size) {
super(UNTRACKABLE, TYPE_BYTE, size);
data = dataArray;
bankdata = new byte[1][];
bankdata[0] = data;
}
/**
! * Constructs a byte-based <CODE>DataBuffer</CODE> with a single bank using the
! * specified array, size, and offset. <CODE>dataArray</CODE> must have at least
! * <CODE>offset</CODE> + <CODE>size</CODE> elements. Only elements <CODE>offset</CODE>
! * through <CODE>offset</CODE> + <CODE>size</CODE> - 1
! * should be used by accessors of this <CODE>DataBuffer</CODE>.
* <p>
* Note that {@code DataBuffer} objects created by this constructor
* may be incompatible with <a href="#optimizations">performance
* optimizations</a> used by some implementations (such as caching
* an associated image in video memory).
*
! * @param dataArray The byte array for the <CODE>DataBuffer</CODE>.
! * @param size The size of the <CODE>DataBuffer</CODE> bank.
! * @param offset The offset into the <CODE>dataArray</CODE>. <CODE>dataArray</CODE>
! * must have at least <CODE>offset</CODE> + <CODE>size</CODE> elements.
*/
public DataBufferByte(byte dataArray[], int size, int offset){
super(UNTRACKABLE, TYPE_BYTE, size, 1, offset);
data = dataArray;
bankdata = new byte[1][];
bankdata[0] = data;
}
/**
! * Constructs a byte-based <CODE>DataBuffer</CODE> with the specified arrays.
! * The number of banks is equal to <CODE>dataArray.length</CODE>.
! * Only the first <CODE>size</CODE> elements of each array should be used by
! * accessors of this <CODE>DataBuffer</CODE>.
* <p>
* Note that {@code DataBuffer} objects created by this constructor
* may be incompatible with <a href="#optimizations">performance
* optimizations</a> used by some implementations (such as caching
* an associated image in video memory).
*
! * @param dataArray The byte arrays for the <CODE>DataBuffer</CODE>.
! * @param size The size of the banks in the <CODE>DataBuffer</CODE>.
*/
public DataBufferByte(byte dataArray[][], int size) {
super(UNTRACKABLE, TYPE_BYTE, size, dataArray.length);
bankdata = dataArray.clone();
data = bankdata[0];
}
/**
! * Constructs a byte-based <CODE>DataBuffer</CODE> with the specified arrays, size,
* and offsets.
! * The number of banks is equal to <CODE>dataArray.length</CODE>. Each array must
! * be at least as large as <CODE>size</CODE> + the corresponding <CODE>offset</CODE>.
! * There must be an entry in the <CODE>offset</CODE> array for each <CODE>dataArray</CODE>
! * entry. For each bank, only elements <CODE>offset</CODE> through
! * <CODE>offset</CODE> + <CODE>size</CODE> - 1 should be used by accessors of this
! * <CODE>DataBuffer</CODE>.
* <p>
* Note that {@code DataBuffer} objects created by this constructor
* may be incompatible with <a href="#optimizations">performance
* optimizations</a> used by some implementations (such as caching
* an associated image in video memory).
*
! * @param dataArray The byte arrays for the <CODE>DataBuffer</CODE>.
! * @param size The size of the banks in the <CODE>DataBuffer</CODE>.
* @param offsets The offsets into each array.
*/
public DataBufferByte(byte dataArray[][], int size, int offsets[]) {
super(UNTRACKABLE, TYPE_BYTE, size, dataArray.length, offsets);
bankdata = dataArray.clone();
--- 93,184 ----
}
data = bankdata[0];
}
/**
! * Constructs a byte-based {@code DataBuffer} with a single bank using the
* specified array.
! * Only the first {@code size} elements should be used by accessors of
! * this {@code DataBuffer}. {@code dataArray} must be large enough to
! * hold {@code size} elements.
* <p>
* Note that {@code DataBuffer} objects created by this constructor
* may be incompatible with <a href="#optimizations">performance
* optimizations</a> used by some implementations (such as caching
* an associated image in video memory).
*
! * @param dataArray The byte array for the {@code DataBuffer}.
! * @param size The size of the {@code DataBuffer} bank.
*/
public DataBufferByte(byte dataArray[], int size) {
super(UNTRACKABLE, TYPE_BYTE, size);
data = dataArray;
bankdata = new byte[1][];
bankdata[0] = data;
}
/**
! * Constructs a byte-based {@code DataBuffer} with a single bank using the
! * specified array, size, and offset. {@code dataArray} must have at least
! * {@code offset} + {@code size} elements. Only elements {@code offset}
! * through {@code offset} + {@code size} - 1
! * should be used by accessors of this {@code DataBuffer}.
* <p>
* Note that {@code DataBuffer} objects created by this constructor
* may be incompatible with <a href="#optimizations">performance
* optimizations</a> used by some implementations (such as caching
* an associated image in video memory).
*
! * @param dataArray The byte array for the {@code DataBuffer}.
! * @param size The size of the {@code DataBuffer} bank.
! * @param offset The offset into the {@code dataArray}. {@code dataArray}
! * must have at least {@code offset} + {@code size} elements.
*/
public DataBufferByte(byte dataArray[], int size, int offset){
super(UNTRACKABLE, TYPE_BYTE, size, 1, offset);
data = dataArray;
bankdata = new byte[1][];
bankdata[0] = data;
}
/**
! * Constructs a byte-based {@code DataBuffer} with the specified arrays.
! * The number of banks is equal to {@code dataArray.length}.
! * Only the first {@code size} elements of each array should be used by
! * accessors of this {@code DataBuffer}.
* <p>
* Note that {@code DataBuffer} objects created by this constructor
* may be incompatible with <a href="#optimizations">performance
* optimizations</a> used by some implementations (such as caching
* an associated image in video memory).
*
! * @param dataArray The byte arrays for the {@code DataBuffer}.
! * @param size The size of the banks in the {@code DataBuffer}.
*/
public DataBufferByte(byte dataArray[][], int size) {
super(UNTRACKABLE, TYPE_BYTE, size, dataArray.length);
bankdata = dataArray.clone();
data = bankdata[0];
}
/**
! * Constructs a byte-based {@code DataBuffer} with the specified arrays, size,
* and offsets.
! * The number of banks is equal to {@code dataArray.length}. Each array must
! * be at least as large as {@code size} + the corresponding {@code offset}.
! * There must be an entry in the {@code offset} array for each {@code dataArray}
! * entry. For each bank, only elements {@code offset} through
! * {@code offset} + {@code size} - 1 should be used by accessors of this
! * {@code DataBuffer}.
* <p>
* Note that {@code DataBuffer} objects created by this constructor
* may be incompatible with <a href="#optimizations">performance
* optimizations</a> used by some implementations (such as caching
* an associated image in video memory).
*
! * @param dataArray The byte arrays for the {@code DataBuffer}.
! * @param size The size of the banks in the {@code DataBuffer}.
* @param offsets The offsets into each array.
*/
public DataBufferByte(byte dataArray[][], int size, int offsets[]) {
super(UNTRACKABLE, TYPE_BYTE, size, dataArray.length, offsets);
bankdata = dataArray.clone();
< prev index next >