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