< 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 >