Beispiel #1
0
 protected WritableRaster(SampleModel sampleModel, Point origin)
     : this(sampleModel, sampleModel.createDataBuffer(), new Rectangle(
             origin.x, origin.y, sampleModel.width, sampleModel.height),
             origin, null)
 {
     ;
 }
Beispiel #2
0
        protected Raster(SampleModel sampleModel, DataBuffer dataBuffer,
            Rectangle aRegion, Point sampleModelTranslate, Raster parent)
        {
            if (sampleModel == null || dataBuffer == null || aRegion == null
                || sampleModelTranslate == null) {
            // awt.281=sampleModel, dataBuffer, aRegion or sampleModelTranslate is null
            throw new java.lang.NullPointerException("sampleModel, dataBuffer, aRegion or sampleModelTranslate is null"); //$NON-NLS-1$
            }

            if (aRegion.width <= 0 || aRegion.height <= 0) {
            // awt.282=aRegion has width or height less than or equal to zero
            throw new RasterFormatException("aRegion has width or height less than or equal to zero"); //$NON-NLS-1$
            }

            if ((long) aRegion.x + (long) aRegion.width > java.lang.Integer.MAX_VALUE) {
            // awt.283=Overflow X coordinate of Raster
            throw new RasterFormatException("Overflow X coordinate of Raster"); //$NON-NLS-1$
            }

            if ((long) aRegion.y + (long) aRegion.height > java.lang.Integer.MAX_VALUE) {
            // awt.284=Overflow Y coordinate of Raster
            throw new RasterFormatException("Overflow Y coordinate of Raster"); //$NON-NLS-1$
            }

            validateDataBuffer(dataBuffer, aRegion.width, aRegion.height,
                sampleModel);

            this.sampleModel = sampleModel;
            this.dataBuffer = dataBuffer;
            this.minX = aRegion.x;
            this.minY = aRegion.y;
            this.width = aRegion.width;
            this.height = aRegion.height;
            this.sampleModelTranslateX = sampleModelTranslate.x;
            this.sampleModelTranslateY = sampleModelTranslate.y;
            this.parent = parent;
            this.numBands = sampleModel.getNumBands();
            this.numDataElements = sampleModel.getNumDataElements();
        }
Beispiel #3
0
 public bool isCompatibleSampleModel(SampleModel sm)
 {
     throw new java.lang.UnsupportedOperationException("This method is not " + //$NON-NLS-1$
             "supported by this ColorModel"); //$NON-NLS-1$
 }
Beispiel #4
0
        private static void validateDataBuffer(DataBuffer dataBuffer, int w,
                                               int h, SampleModel sampleModel)
        {
            int size = 0;

            if (sampleModel is ComponentSampleModel)
            {
                ComponentSampleModel csm = (ComponentSampleModel)sampleModel;
                int [] offsets           = csm.getBandOffsets();
                int    maxOffset         = offsets[0];
                for (int i = 1; i < offsets.Length; i++)
                {
                    if (offsets[i] > maxOffset)
                    {
                        maxOffset = offsets[i];
                    }
                }
                int scanlineStride = csm.getScanlineStride();
                int pixelStride    = csm.getPixelStride();

                size = (h - 1) * scanlineStride +
                       (w - 1) * pixelStride + maxOffset + 1;
            }
            else if (sampleModel is MultiPixelPackedSampleModel)
            {
                MultiPixelPackedSampleModel mppsm =
                    (MultiPixelPackedSampleModel)sampleModel;

                int scanlineStride = mppsm.getScanlineStride();
                int dataBitOffset  = mppsm.getDataBitOffset();
                int dataType       = dataBuffer.getDataType();

                size = scanlineStride * h;

                switch (dataType)
                {
                case DataBuffer.TYPE_BYTE:
                    size += (dataBitOffset + 7) / 8;
                    break;

                case DataBuffer.TYPE_USHORT:
                    size += (dataBitOffset + 15) / 16;
                    break;

                case DataBuffer.TYPE_INT:
                    size += (dataBitOffset + 31) / 32;
                    break;
                }
            }
            else if (sampleModel is SinglePixelPackedSampleModel)
            {
                SinglePixelPackedSampleModel sppsm =
                    (SinglePixelPackedSampleModel)sampleModel;

                int scanlineStride = sppsm.getScanlineStride();
                size = (h - 1) * scanlineStride + w;
            }
            if (dataBuffer.getSize() < size)
            {
                // awt.298=dataBuffer is too small
                throw new RasterFormatException("dataBuffer is too small"); //$NON-NLS-1$
            }
        }
Beispiel #5
0
 protected Raster(SampleModel sampleModel, Point origin) :
     this(sampleModel, sampleModel.createDataBuffer(), new Rectangle(
              origin.x, origin.y, sampleModel.getWidth(), sampleModel
              .getHeight()), origin, null)
 {
 }
Beispiel #6
0
 protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer,
                          Point origin) :
     this(sampleModel, dataBuffer, new Rectangle(origin.x, origin.y,
                                                 sampleModel.width, sampleModel.height), origin, null)
 {
 }
Beispiel #7
0
 protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer,
                          Rectangle aRegion, Point sampleModelTranslate,
                          WritableRaster parent) :
     base(sampleModel, dataBuffer, aRegion, sampleModelTranslate, parent)
 {
 }
Beispiel #8
0
 protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer,
         Rectangle aRegion, Point sampleModelTranslate,
         WritableRaster parent)
     : base(sampleModel, dataBuffer, aRegion, sampleModelTranslate, parent)
 {
 }
Beispiel #9
0
        private static void validateDataBuffer(DataBuffer dataBuffer, int w,
            int h, SampleModel sampleModel)
        {
            int size = 0;

            if (sampleModel is ComponentSampleModel) {
            ComponentSampleModel csm = (ComponentSampleModel) sampleModel;
            int [] offsets = csm.getBandOffsets();
            int maxOffset = offsets[0];
            for (int i = 1; i < offsets.Length; i++) {
                if (offsets[i] > maxOffset) {
                    maxOffset = offsets[i];
                }
            }
            int scanlineStride = csm.getScanlineStride();
            int pixelStride = csm.getPixelStride();

            size = (h - 1) * scanlineStride +
            (w - 1) * pixelStride + maxOffset + 1;

            } else if (sampleModel is MultiPixelPackedSampleModel) {
            MultiPixelPackedSampleModel mppsm =
                (MultiPixelPackedSampleModel) sampleModel;

            int scanlineStride = mppsm.getScanlineStride();
            int dataBitOffset = mppsm.getDataBitOffset();
            int dataType = dataBuffer.getDataType();

            size = scanlineStride * h;

            switch (dataType) {
            case DataBuffer.TYPE_BYTE:
                size += (dataBitOffset + 7) / 8;
                break;
            case DataBuffer.TYPE_USHORT:
                size += (dataBitOffset + 15) / 16;
                break;
            case DataBuffer.TYPE_INT:
                size += (dataBitOffset + 31) / 32;
                break;
            }
            } else if (sampleModel is SinglePixelPackedSampleModel) {
            SinglePixelPackedSampleModel sppsm =
                (SinglePixelPackedSampleModel) sampleModel;

            int scanlineStride = sppsm.getScanlineStride();
            size = (h - 1) * scanlineStride + w;
            }
            if (dataBuffer.getSize() < size) {
            // awt.298=dataBuffer is too small
            throw new RasterFormatException("dataBuffer is too small"); //$NON-NLS-1$
            }
        }
Beispiel #10
0
 protected Raster(SampleModel sampleModel, Point origin)
     : this(sampleModel, sampleModel.createDataBuffer(), new Rectangle(
         origin.x, origin.y, sampleModel.getWidth(), sampleModel
                 .getHeight()), origin, null)
 {
 }
Beispiel #11
0
        public static WritableRaster createWritableRaster(SampleModel sm,
            Point location)
        {
            if (sm == null) {
            // awt.280=SampleModel is null
            throw new java.lang.NullPointerException("SampleModel is null"); //$NON-NLS-1$
            }

            if (location == null) {
            location = new Point(0, 0);
            }

            return createWritableRaster(sm, sm.createDataBuffer(), location);
        }
Beispiel #12
0
        public static WritableRaster createWritableRaster(SampleModel sm,
            DataBuffer db, Point location)
        {
            if (sm == null || db == null) {
            // awt.27F=SampleModel or DataBuffer is null
            throw new java.lang.NullPointerException("SampleModel or DataBuffer is null"); //$NON-NLS-1$
            }

            if (location == null) {
            location = new Point(0, 0);
            }

            return new OrdinaryWritableRaster(sm, db, location);
        }
Beispiel #13
0
 public bool isCompatibleSampleModel(SampleModel sm)
 {
     throw new java.lang.UnsupportedOperationException("This method is not " +          //$NON-NLS-1$
                                                       "supported by this ColorModel"); //$NON-NLS-1$
 }