< prev index next >
src/java.desktop/share/classes/java/awt/image/Raster.java
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
--- 1,7 ----
/*
! * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
*** 627,637 ****
public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer,
int w, int h,
int scanlineStride,
int pixelStride,
int bandOffsets[],
! Point location) {
if (dataBuffer == null) {
throw new NullPointerException("DataBuffer cannot be null");
}
if (location == null) {
location = new Point(0, 0);
--- 627,638 ----
public static WritableRaster createInterleavedRaster(DataBuffer dataBuffer,
int w, int h,
int scanlineStride,
int pixelStride,
int bandOffsets[],
! Point location)
! {
if (dataBuffer == null) {
throw new NullPointerException("DataBuffer cannot be null");
}
if (location == null) {
location = new Point(0, 0);
*** 643,661 ****
pixelStride,
scanlineStride,
bandOffsets);
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! return new ByteInterleavedRaster(csm, dataBuffer, location);
case DataBuffer.TYPE_USHORT:
! return new ShortInterleavedRaster(csm, dataBuffer, location);
default:
throw new IllegalArgumentException("Unsupported data type " +
dataType);
}
}
/**
* Creates a Raster based on a BandedSampleModel with the
* specified DataBuffer, width, height, scanline stride, bank
--- 644,673 ----
pixelStride,
scanlineStride,
bandOffsets);
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! if (dataBuffer instanceof DataBufferByte) {
! return new ByteInterleavedRaster(csm,
! (DataBufferByte) dataBuffer, location);
! }
! break;
case DataBuffer.TYPE_USHORT:
! if (dataBuffer instanceof DataBufferUShort) {
! return new ShortInterleavedRaster(csm,
! (DataBufferUShort) dataBuffer, location);
! }
! break;
default:
throw new IllegalArgumentException("Unsupported data type " +
dataType);
}
+
+ // Create the generic raster
+ return new SunWritableRaster(csm, dataBuffer, location);
}
/**
* Creates a Raster based on a BandedSampleModel with the
* specified DataBuffer, width, height, scanline stride, bank
*** 689,699 ****
public static WritableRaster createBandedRaster(DataBuffer dataBuffer,
int w, int h,
int scanlineStride,
int bankIndices[],
int bandOffsets[],
! Point location) {
if (dataBuffer == null) {
throw new NullPointerException("DataBuffer cannot be null");
}
if (location == null) {
location = new Point(0,0);
--- 701,712 ----
public static WritableRaster createBandedRaster(DataBuffer dataBuffer,
int w, int h,
int scanlineStride,
int bankIndices[],
int bandOffsets[],
! Point location)
! {
if (dataBuffer == null) {
throw new NullPointerException("DataBuffer cannot be null");
}
if (location == null) {
location = new Point(0,0);
*** 711,732 ****
scanlineStride,
bankIndices, bandOffsets);
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! return new ByteBandedRaster(bsm, dataBuffer, location);
case DataBuffer.TYPE_USHORT:
! return new ShortBandedRaster(bsm, dataBuffer, location);
case DataBuffer.TYPE_INT:
! return new SunWritableRaster(bsm, dataBuffer, location);
default:
throw new IllegalArgumentException("Unsupported data type " +
dataType);
}
}
/**
* Creates a Raster based on a SinglePixelPackedSampleModel with
* the specified DataBuffer, width, height, scanline stride, and
--- 724,756 ----
scanlineStride,
bankIndices, bandOffsets);
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! if (dataBuffer instanceof DataBufferByte) {
! return new ByteBandedRaster(bsm,
! (DataBufferByte) dataBuffer, location);
! }
! break;
case DataBuffer.TYPE_USHORT:
! if (dataBuffer instanceof DataBufferUShort) {
! return new ShortBandedRaster(bsm,
! (DataBufferUShort) dataBuffer, location);
! }
! break;
case DataBuffer.TYPE_INT:
! break;
default:
throw new IllegalArgumentException("Unsupported data type " +
dataType);
}
+
+ // Create the generic raster
+ return new SunWritableRaster(bsm, dataBuffer, location);
}
/**
* Creates a Raster based on a SinglePixelPackedSampleModel with
* the specified DataBuffer, width, height, scanline stride, and
*** 759,769 ****
*/
public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
int w, int h,
int scanlineStride,
int bandMasks[],
! Point location) {
if (dataBuffer == null) {
throw new NullPointerException("DataBuffer cannot be null");
}
if (location == null) {
location = new Point(0,0);
--- 783,794 ----
*/
public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
int w, int h,
int scanlineStride,
int bandMasks[],
! Point location)
! {
if (dataBuffer == null) {
throw new NullPointerException("DataBuffer cannot be null");
}
if (location == null) {
location = new Point(0,0);
*** 774,795 ****
new SinglePixelPackedSampleModel(dataType, w, h, scanlineStride,
bandMasks);
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! return new ByteInterleavedRaster(sppsm, dataBuffer, location);
case DataBuffer.TYPE_USHORT:
! return new ShortInterleavedRaster(sppsm, dataBuffer, location);
case DataBuffer.TYPE_INT:
! return new IntegerInterleavedRaster(sppsm, dataBuffer, location);
default:
throw new IllegalArgumentException("Unsupported data type " +
dataType);
}
}
/**
* Creates a Raster based on a MultiPixelPackedSampleModel with the
* specified DataBuffer, width, height, and bits per pixel. The upper
--- 799,835 ----
new SinglePixelPackedSampleModel(dataType, w, h, scanlineStride,
bandMasks);
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! if (dataBuffer instanceof DataBufferByte) {
! return new ByteInterleavedRaster(sppsm,
! (DataBufferByte) dataBuffer, location);
! }
! break;
case DataBuffer.TYPE_USHORT:
! if (dataBuffer instanceof DataBufferUShort) {
! return new ShortInterleavedRaster(sppsm,
! (DataBufferUShort) dataBuffer, location);
! }
! break;
case DataBuffer.TYPE_INT:
! if (dataBuffer instanceof DataBufferInt) {
! return new IntegerInterleavedRaster(sppsm,
! (DataBufferInt) dataBuffer, location);
! }
! break;
default:
throw new IllegalArgumentException("Unsupported data type " +
dataType);
}
+
+ // Create the generic raster
+ return new SunWritableRaster(sppsm, dataBuffer, location);
}
/**
* Creates a Raster based on a MultiPixelPackedSampleModel with the
* specified DataBuffer, width, height, and bits per pixel. The upper
*** 819,829 ****
* @throws NullPointerException if {@code dataBuffer} is null
*/
public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
int w, int h,
int bitsPerPixel,
! Point location) {
if (dataBuffer == null) {
throw new NullPointerException("DataBuffer cannot be null");
}
if (location == null) {
location = new Point(0,0);
--- 859,870 ----
* @throws NullPointerException if {@code dataBuffer} is null
*/
public static WritableRaster createPackedRaster(DataBuffer dataBuffer,
int w, int h,
int bitsPerPixel,
! Point location)
! {
if (dataBuffer == null) {
throw new NullPointerException("DataBuffer cannot be null");
}
if (location == null) {
location = new Point(0,0);
*** 844,856 ****
}
MultiPixelPackedSampleModel mppsm =
new MultiPixelPackedSampleModel(dataType, w, h, bitsPerPixel);
! if (dataType == DataBuffer.TYPE_BYTE &&
! (bitsPerPixel == 1 || bitsPerPixel == 2 || bitsPerPixel == 4)) {
! return new BytePackedRaster(mppsm, dataBuffer, location);
} else {
return new SunWritableRaster(mppsm, dataBuffer, location);
}
}
--- 885,898 ----
}
MultiPixelPackedSampleModel mppsm =
new MultiPixelPackedSampleModel(dataType, w, h, bitsPerPixel);
! if (dataBuffer instanceof DataBufferByte &&
! (bitsPerPixel == 1 || bitsPerPixel == 2 || bitsPerPixel == 4))
! {
! return new BytePackedRaster(mppsm, (DataBufferByte) dataBuffer, location);
} else {
return new SunWritableRaster(mppsm, dataBuffer, location);
}
}
*** 876,886 ****
* @throws NullPointerException if either SampleModel or DataBuffer is
* null
*/
public static Raster createRaster(SampleModel sm,
DataBuffer db,
! Point location) {
if ((sm == null) || (db == null)) {
throw new NullPointerException("SampleModel and DataBuffer cannot be null");
}
if (location == null) {
--- 918,929 ----
* @throws NullPointerException if either SampleModel or DataBuffer is
* null
*/
public static Raster createRaster(SampleModel sm,
DataBuffer db,
! Point location)
! {
if ((sm == null) || (db == null)) {
throw new NullPointerException("SampleModel and DataBuffer cannot be null");
}
if (location == null) {
*** 889,923 ****
int dataType = sm.getDataType();
if (sm instanceof PixelInterleavedSampleModel) {
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! return new ByteInterleavedRaster(sm, db, location);
case DataBuffer.TYPE_USHORT:
! return new ShortInterleavedRaster(sm, db, location);
}
} else if (sm instanceof SinglePixelPackedSampleModel) {
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! return new ByteInterleavedRaster(sm, db, location);
case DataBuffer.TYPE_USHORT:
! return new ShortInterleavedRaster(sm, db, location);
case DataBuffer.TYPE_INT:
! return new IntegerInterleavedRaster(sm, db, location);
}
} else if (sm instanceof MultiPixelPackedSampleModel &&
dataType == DataBuffer.TYPE_BYTE &&
! sm.getSampleSize(0) < 8) {
! return new BytePackedRaster(sm, db, location);
}
// we couldn't do anything special - do the generic thing
!
! return new Raster(sm,db,location);
}
/**
* Creates a WritableRaster with the specified SampleModel.
* The upper left corner of the Raster is given by the location argument.
--- 932,987 ----
int dataType = sm.getDataType();
if (sm instanceof PixelInterleavedSampleModel) {
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! if (db instanceof DataBufferByte) {
! return new ByteInterleavedRaster(sm,
! (DataBufferByte) db, location);
! }
! break;
case DataBuffer.TYPE_USHORT:
! if (db instanceof DataBufferUShort) {
! return new ShortInterleavedRaster(sm,
! (DataBufferUShort) db, location);
! }
! break;
}
} else if (sm instanceof SinglePixelPackedSampleModel) {
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! if (db instanceof DataBufferByte) {
! return new ByteInterleavedRaster(sm,
! (DataBufferByte) db, location);
! }
! break;
case DataBuffer.TYPE_USHORT:
! if (db instanceof DataBufferUShort) {
! return new ShortInterleavedRaster(sm,
! (DataBufferUShort) db, location);
! }
! break;
case DataBuffer.TYPE_INT:
! if (db instanceof DataBufferInt) {
! return new IntegerInterleavedRaster(sm,
! (DataBufferInt) db, location);
! }
! break;
}
} else if (sm instanceof MultiPixelPackedSampleModel &&
dataType == DataBuffer.TYPE_BYTE &&
! db instanceof DataBufferByte &&
! sm.getSampleSize(0) < 8)
! {
! return new BytePackedRaster(sm, (DataBufferByte) db, location);
}
// we couldn't do anything special - do the generic thing
! return new Raster(sm, db, location);
}
/**
* Creates a WritableRaster with the specified SampleModel.
* The upper left corner of the Raster is given by the location argument.
*** 962,972 ****
* or MultiPixelPackedSampleModel.
* @throws NullPointerException if either SampleModel or DataBuffer is null
*/
public static WritableRaster createWritableRaster(SampleModel sm,
DataBuffer db,
! Point location) {
if ((sm == null) || (db == null)) {
throw new NullPointerException("SampleModel and DataBuffer cannot be null");
}
if (location == null) {
location = new Point(0,0);
--- 1026,1037 ----
* or MultiPixelPackedSampleModel.
* @throws NullPointerException if either SampleModel or DataBuffer is null
*/
public static WritableRaster createWritableRaster(SampleModel sm,
DataBuffer db,
! Point location)
! {
if ((sm == null) || (db == null)) {
throw new NullPointerException("SampleModel and DataBuffer cannot be null");
}
if (location == null) {
location = new Point(0,0);
*** 975,1009 ****
int dataType = sm.getDataType();
if (sm instanceof PixelInterleavedSampleModel) {
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! return new ByteInterleavedRaster(sm, db, location);
case DataBuffer.TYPE_USHORT:
! return new ShortInterleavedRaster(sm, db, location);
}
} else if (sm instanceof SinglePixelPackedSampleModel) {
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! return new ByteInterleavedRaster(sm, db, location);
case DataBuffer.TYPE_USHORT:
! return new ShortInterleavedRaster(sm, db, location);
case DataBuffer.TYPE_INT:
! return new IntegerInterleavedRaster(sm, db, location);
}
} else if (sm instanceof MultiPixelPackedSampleModel &&
dataType == DataBuffer.TYPE_BYTE &&
! sm.getSampleSize(0) < 8) {
! return new BytePackedRaster(sm, db, location);
}
// we couldn't do anything special - do the generic thing
!
! return new SunWritableRaster(sm,db,location);
}
/**
* Constructs a Raster with the given SampleModel. The Raster's
* upper left corner is origin and it is the same size as the
--- 1040,1095 ----
int dataType = sm.getDataType();
if (sm instanceof PixelInterleavedSampleModel) {
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! if (db instanceof DataBufferByte) {
! return new ByteInterleavedRaster(sm,
! (DataBufferByte) db, location);
! }
! break;
case DataBuffer.TYPE_USHORT:
! if (db instanceof DataBufferUShort) {
! return new ShortInterleavedRaster(sm,
! (DataBufferUShort) db, location);
! }
! break;
}
} else if (sm instanceof SinglePixelPackedSampleModel) {
switch(dataType) {
case DataBuffer.TYPE_BYTE:
! if (db instanceof DataBufferByte) {
! return new ByteInterleavedRaster(sm,
! (DataBufferByte) db, location);
! }
! break;
case DataBuffer.TYPE_USHORT:
! if (db instanceof DataBufferUShort) {
! return new ShortInterleavedRaster(sm,
! (DataBufferUShort) db, location);
! }
! break;
case DataBuffer.TYPE_INT:
! if (db instanceof DataBufferInt) {
! return new IntegerInterleavedRaster(sm,
! (DataBufferInt) db, location);
! }
! break;
}
} else if (sm instanceof MultiPixelPackedSampleModel &&
dataType == DataBuffer.TYPE_BYTE &&
! db instanceof DataBufferByte &&
! sm.getSampleSize(0) < 8)
! {
! return new BytePackedRaster(sm, (DataBufferByte) db, location);
}
// we couldn't do anything special - do the generic thing
! return new SunWritableRaster(sm, db, location);
}
/**
* Constructs a Raster with the given SampleModel. The Raster's
* upper left corner is origin and it is the same size as the
< prev index next >