summaryrefslogtreecommitdiffstats
path: root/awt/java/awt/image/WritableRaster.java
diff options
context:
space:
mode:
Diffstat (limited to 'awt/java/awt/image/WritableRaster.java')
-rw-r--r--awt/java/awt/image/WritableRaster.java592
1 files changed, 0 insertions, 592 deletions
diff --git a/awt/java/awt/image/WritableRaster.java b/awt/java/awt/image/WritableRaster.java
deleted file mode 100644
index 51366ee..0000000
--- a/awt/java/awt/image/WritableRaster.java
+++ /dev/null
@@ -1,592 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-/**
- * @author Igor V. Stolyarov
- * @version $Revision$
- */
-
-package java.awt.image;
-
-import java.awt.Point;
-import java.awt.Rectangle;
-
-import org.apache.harmony.awt.internal.nls.Messages;
-
-/**
- * The WritableRaster class provides functionality for writing samples and pixel
- * capabilities to the Raster.
- *
- * @since Android 1.0
- */
-public class WritableRaster extends Raster {
-
- /**
- * Instantiates a new WritableRaster object with the specified SampleModel,
- * DataBuffer, rectangular region and parent WritableRaster.
- *
- * @param sampleModel
- * the specified SampleModel.
- * @param dataBuffer
- * the specified DataBuffer.
- * @param aRegion
- * the rectangular region which defines the new image bounds.
- * @param sampleModelTranslate
- * this point defines the translation point from the SampleModel
- * to the new WritableRaster coordinates.
- * @param parent
- * the parent of this WritableRaster.
- */
- protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Rectangle aRegion,
- Point sampleModelTranslate, WritableRaster parent) {
- super(sampleModel, dataBuffer, aRegion, sampleModelTranslate, parent);
- }
-
- /**
- * Instantiates a new WritableRaster object with the specified SampleModel
- * which defines a layout of this WritableRaster and DataBuffer objects
- * which defines the image data.
- *
- * @param sampleModel
- * the specified SampleModel.
- * @param dataBuffer
- * the specified DataBuffer.
- * @param origin
- * the point of origin.
- */
- protected WritableRaster(SampleModel sampleModel, DataBuffer dataBuffer, Point origin) {
- this(sampleModel, dataBuffer, new Rectangle(origin.x, origin.y, sampleModel.width,
- sampleModel.height), origin, null);
- }
-
- /**
- * Instantiates a new WritableRaster with the specified SampleModel.
- *
- * @param sampleModel
- * the specified SampleModel.
- * @param origin
- * the origin.
- */
- protected WritableRaster(SampleModel sampleModel, Point origin) {
- this(sampleModel, sampleModel.createDataBuffer(), new Rectangle(origin.x, origin.y,
- sampleModel.width, sampleModel.height), origin, null);
- }
-
- /**
- * Sets the data for a single pixel from an input Object which represents an
- * array of primitive types: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
- * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or
- * DataBuffer.TYPE_DOUBLE.
- *
- * @param x
- * the X coordinate of the pixel.
- * @param y
- * the Y coordinate of the pixel.
- * @param inData
- * the input data.
- */
- public void setDataElements(int x, int y, Object inData) {
- sampleModel.setDataElements(x - sampleModelTranslateX, y - sampleModelTranslateY, inData,
- dataBuffer);
- }
-
- /**
- * Sets the data elements which represent pixel data to the specified
- * rectangle area as a primitive array. The following image data types are
- * supported: DataBuffer.TYPE_BYTE, DataBuffer.TYPE_USHORT,
- * DataBuffer.TYPE_INT, DataBuffer.TYPE_SHORT, DataBuffer.TYPE_FLOAT, or
- * DataBuffer.TYPE_DOUBLE.
- *
- * @param x
- * the X coordinate of the rectangle of pixels.
- * @param y
- * the Y coordinate of the rectangle of pixels.
- * @param w
- * the width of the rectangle of pixels.
- * @param h
- * the height of the rectangle of pixels.
- * @param inData
- * the array of primitive type data to be set to the specified
- * area.
- */
- public void setDataElements(int x, int y, int w, int h, Object inData) {
- sampleModel.setDataElements(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h,
- inData, dataBuffer);
- }
-
- /**
- * Creates the child of this WritableRaster by sharing the specified
- * rectangular area in this WritableRaster. The parentX, parentY, width and
- * height parameters specify rectangular area to be shared.
- *
- * @param parentX
- * the X coordinate of the upper left corner of the shared
- * rectangle with respect to this WritableRaster' coordinates.
- * @param parentY
- * the Y coordinate of the upper left corner of the shared
- * rectangle with respect to this WritableRaster' coordinates.
- * @param w
- * the width of the child area.
- * @param h
- * the height of the child area.
- * @param childMinX
- * the X coordinate of child area mapped to the parentX
- * coordinate.
- * @param childMinY
- * the Y coordinate of child area mapped to the parentY
- * coordinate.
- * @param bandList
- * the array of band indices.
- * @return the child WritableRaster.
- */
- public WritableRaster createWritableChild(int parentX, int parentY, int w, int h,
- int childMinX, int childMinY, int bandList[]) {
- if (w <= 0 || h <= 0) {
- // awt.244=Width or Height of child Raster is less than or equal to
- // zero
- throw new RasterFormatException(Messages.getString("awt.244")); //$NON-NLS-1$
- }
-
- if (parentX < this.minX || parentX + w > this.minX + this.width) {
- // awt.245=parentX disposes outside Raster
- throw new RasterFormatException(Messages.getString("awt.245")); //$NON-NLS-1$
- }
-
- if (parentY < this.minY || parentY + h > this.minY + this.height) {
- // awt.246=parentY disposes outside Raster
- throw new RasterFormatException(Messages.getString("awt.246")); //$NON-NLS-1$
- }
-
- if ((long)parentX + w > Integer.MAX_VALUE) {
- // awt.247=parentX + w results in integer overflow
- throw new RasterFormatException(Messages.getString("awt.247")); //$NON-NLS-1$
- }
-
- if ((long)parentY + h > Integer.MAX_VALUE) {
- // awt.248=parentY + h results in integer overflow
- throw new RasterFormatException(Messages.getString("awt.248")); //$NON-NLS-1$
- }
-
- if ((long)childMinX + w > Integer.MAX_VALUE) {
- // awt.249=childMinX + w results in integer overflow
- throw new RasterFormatException(Messages.getString("awt.249")); //$NON-NLS-1$
- }
-
- if ((long)childMinY + h > Integer.MAX_VALUE) {
- // awt.24A=childMinY + h results in integer overflow
- throw new RasterFormatException(Messages.getString("awt.24A")); //$NON-NLS-1$
- }
-
- SampleModel childModel;
-
- if (bandList == null) {
- childModel = sampleModel;
- } else {
- childModel = sampleModel.createSubsetSampleModel(bandList);
- }
-
- int childTranslateX = childMinX - parentX;
- int childTranslateY = childMinY - parentY;
-
- return new WritableRaster(childModel, dataBuffer,
- new Rectangle(childMinX, childMinY, w, h), new Point(childTranslateX
- + sampleModelTranslateX, childTranslateY + sampleModelTranslateY), this);
- }
-
- /**
- * Creates the translated child of this WritableRaster. New WritableRaster
- * object is a reference to the this WritableRaster and with different
- * location.
- *
- * @param childMinX
- * the X coordinate of the new WritableRaster.
- * @param childMinY
- * the Y coordinate of the new WritableRaster.
- * @return the WritableRaster.
- */
- public WritableRaster createWritableTranslatedChild(int childMinX, int childMinY) {
- return createWritableChild(minX, minY, width, height, childMinX, childMinY, null);
- }
-
- /**
- * Gets the parent WritableRaster for this WritableRaster object.
- *
- * @return the parent WritableRaster for this WritableRaster object.
- */
- public WritableRaster getWritableParent() {
- return (WritableRaster)parent;
- }
-
- /**
- * Sets pixels from the specified source Raster srcRaster to this
- * WritableRaster.
- *
- * @param srcRaster
- * the source Raster.
- */
- public void setRect(Raster srcRaster) {
- setRect(0, 0, srcRaster);
- }
-
- /**
- * Sets pixels from the specified source Raster srcRaster to this
- * WritableRaster. Each pixel with (x, y) coordinates from the source Raster
- * is copied to pixel with (x+dx, y+dy) coordinates in this WritableRaster.
- * The pixels with (x+dx, y+dy) coordinates which are out the bounds of this
- * raster are ignored.
- *
- * @param dx
- * the distance the pixel's X coordinate in the source Raster is
- * translated when writtien to this WritableRaster.
- * @param dy
- * the distance the pixel's Y coordinate in the source Raster is
- * translated when writtien to this WritableRaster.
- * @param srcRaster
- * the source Raster.
- */
- public void setRect(int dx, int dy, Raster srcRaster) {
- int w = srcRaster.getWidth();
- int h = srcRaster.getHeight();
-
- int srcX = srcRaster.getMinX();
- int srcY = srcRaster.getMinY();
-
- int dstX = srcX + dx;
- int dstY = srcY + dy;
-
- if (dstX < this.minX) {
- int minOffX = this.minX - dstX;
- w -= minOffX;
- dstX = this.minX;
- srcX += minOffX;
- }
-
- if (dstY < this.minY) {
- int minOffY = this.minY - dstY;
- h -= minOffY;
- dstY = this.minY;
- srcY += minOffY;
- }
-
- if (dstX + w > this.minX + this.width) {
- int maxOffX = (dstX + w) - (this.minX + this.width);
- w -= maxOffX;
- }
-
- if (dstY + h > this.minY + this.height) {
- int maxOffY = (dstY + h) - (this.minY + this.height);
- h -= maxOffY;
- }
-
- if (w <= 0 || h <= 0) {
- return;
- }
-
- switch (sampleModel.getDataType()) {
- case DataBuffer.TYPE_BYTE:
- case DataBuffer.TYPE_SHORT:
- case DataBuffer.TYPE_USHORT:
- case DataBuffer.TYPE_INT:
- int iPixelsLine[] = null;
- for (int i = 0; i < h; i++) {
- iPixelsLine = srcRaster.getPixels(srcX, srcY + i, w, 1, iPixelsLine);
- setPixels(dstX, dstY + i, w, 1, iPixelsLine);
- }
- break;
-
- case DataBuffer.TYPE_FLOAT:
- float fPixelsLine[] = null;
- for (int i = 0; i < h; i++) {
- fPixelsLine = srcRaster.getPixels(srcX, srcY + i, w, 1, fPixelsLine);
- setPixels(dstX, dstY + i, w, 1, fPixelsLine);
- }
- break;
-
- case DataBuffer.TYPE_DOUBLE:
- double dPixelsLine[] = null;
- for (int i = 0; i < h; i++) {
- dPixelsLine = srcRaster.getPixels(srcX, srcY + i, w, 1, dPixelsLine);
- setPixels(dstX, dstY + i, w, 1, dPixelsLine);
- }
- break;
- }
- }
-
- /**
- * Sets the data for a rectangle of pixels from an input Raster to this
- * WritableRaster.
- *
- * @param x
- * the X coordinate of the point where the data of the input
- * Raster is to be written.
- * @param y
- * the Y coordinate of the point where the data of the input
- * Raster is to be written.
- * @param inRaster
- * the input Raster.
- */
- public void setDataElements(int x, int y, Raster inRaster) {
- int dstX = x + inRaster.getMinX();
- int dstY = y + inRaster.getMinY();
-
- int w = inRaster.getWidth();
- int h = inRaster.getHeight();
-
- if (dstX < this.minX || dstX + w > this.minX + this.width || dstY < this.minY
- || dstY + h > this.minY + this.height) {
- // awt.63=Coordinates are not in bounds
- throw new ArrayIndexOutOfBoundsException(Messages.getString("awt.63")); //$NON-NLS-1$
- }
-
- int srcX = inRaster.getMinX();
- int srcY = inRaster.getMinY();
- Object line = null;
-
- for (int i = 0; i < h; i++) {
- line = inRaster.getDataElements(srcX, srcY + i, w, 1, line);
- setDataElements(dstX, dstY + i, w, 1, line);
- }
- }
-
- /**
- * Sets an integer array of samples for the specified pixel in this
- * WritableRaster.
- *
- * @param x
- * the pixel's X coordinate.
- * @param y
- * the pixel's Y coordinate.
- * @param iArray
- * the integer array of samples.
- */
- public void setPixel(int x, int y, int iArray[]) {
- sampleModel.setPixel(x - sampleModelTranslateX, y - sampleModelTranslateY, iArray,
- dataBuffer);
- }
-
- /**
- * Sets a float array of samples for the specified pixel in this
- * WritableRaster.
- *
- * @param x
- * the pixel's X coordinate.
- * @param y
- * the pixel's Y coordinate.
- * @param fArray
- * the float array of samples.
- */
- public void setPixel(int x, int y, float fArray[]) {
- sampleModel.setPixel(x - sampleModelTranslateX, y - sampleModelTranslateY, fArray,
- dataBuffer);
- }
-
- /**
- * Sets a double array of samples for the specified pixel in this
- * WritableRaster.
- *
- * @param x
- * the pixel's X coordinate.
- * @param y
- * the pixel's Y coordinate.
- * @param dArray
- * the double array of samples.
- */
- public void setPixel(int x, int y, double dArray[]) {
- sampleModel.setPixel(x - sampleModelTranslateX, y - sampleModelTranslateY, dArray,
- dataBuffer);
- }
-
- /**
- * Sets a integer array of samples for the specified rectangular area of
- * pixels in this WritableRaster.
- *
- * @param x
- * the X coordinate of rectangular area.
- * @param y
- * the Y coordinate of rectangular area.
- * @param w
- * the width of rectangular area.
- * @param h
- * the height of rectangular area.
- * @param iArray
- * the integer array of samples.
- */
- public void setPixels(int x, int y, int w, int h, int iArray[]) {
- sampleModel.setPixels(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, iArray,
- dataBuffer);
- }
-
- /**
- * Sets a float array of samples for the specified rectangular area of
- * pixels in this WritableRaster.
- *
- * @param x
- * the X coordinate of rectangular area.
- * @param y
- * the Y coordinate of rectangular area.
- * @param w
- * the width of rectangular area.
- * @param h
- * the height of rectangular area.
- * @param fArray
- * the float array of samples.
- */
- public void setPixels(int x, int y, int w, int h, float fArray[]) {
- sampleModel.setPixels(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, fArray,
- dataBuffer);
- }
-
- /**
- * Sets a double array of samples for the specified rectangular area of
- * pixels in this WritableRaster.
- *
- * @param x
- * the X coordinate of rectangular area.
- * @param y
- * the Y coordinate of rectangular area.
- * @param w
- * the width of rectangular area.
- * @param h
- * the height of rectangular area.
- * @param dArray
- * the double array of samples.
- */
- public void setPixels(int x, int y, int w, int h, double dArray[]) {
- sampleModel.setPixels(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, dArray,
- dataBuffer);
- }
-
- /**
- * Sets the samples for the specified band and the specified rectangular
- * area of pixels with an integer array of samples.
- *
- * @param x
- * the X coordinate of the area of pixels.
- * @param y
- * the Y coordinate of the area of pixels.
- * @param w
- * the width of the area of pixels.
- * @param h
- * the height of the area of pixels.
- * @param b
- * the specified band.
- * @param iArray
- * the integer array of samples.
- */
- public void setSamples(int x, int y, int w, int h, int b, int iArray[]) {
- sampleModel.setSamples(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, b,
- iArray, dataBuffer);
- }
-
- /**
- * Sets the samples for the specified band and the specified rectangular
- * area of pixels with a float array of samples.
- *
- * @param x
- * the X coordinate of the area of pixels.
- * @param y
- * the Y coordinate of the area of pixels.
- * @param w
- * the width of the area of pixels.
- * @param h
- * the height of the area of pixels.
- * @param b
- * the specified band.
- * @param fArray
- * the float array of samples.
- */
- public void setSamples(int x, int y, int w, int h, int b, float fArray[]) {
- sampleModel.setSamples(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, b,
- fArray, dataBuffer);
- }
-
- /**
- * Sets the samples for the specified band and the specified rectangular
- * area of pixels with a double array of samples.
- *
- * @param x
- * the X coordinate of the area of pixels.
- * @param y
- * the Y coordinate of the area of pixels.
- * @param w
- * the width of the area of pixels.
- * @param h
- * the height of the area of pixels.
- * @param b
- * the specified band.
- * @param dArray
- * the double array of samples.
- */
- public void setSamples(int x, int y, int w, int h, int b, double dArray[]) {
- sampleModel.setSamples(x - sampleModelTranslateX, y - sampleModelTranslateY, w, h, b,
- dArray, dataBuffer);
- }
-
- /**
- * Sets the sample for the specified band and the specified pixel with an
- * integer sample.
- *
- * @param x
- * the X coordinate of the pixel.
- * @param y
- * the Y coordinate of the pixel.
- * @param b
- * the specified band.
- * @param s
- * the sample to be set.
- */
- public void setSample(int x, int y, int b, int s) {
- sampleModel.setSample(x - sampleModelTranslateX, y - sampleModelTranslateY, b, s,
- dataBuffer);
- }
-
- /**
- * Sets the sample for the specified band and the specified pixel with a
- * float sample.
- *
- * @param x
- * the X coordinate of the pixel.
- * @param y
- * the Y coordinate of the pixel.
- * @param b
- * the specified band.
- * @param s
- * the sample to be set.
- */
- public void setSample(int x, int y, int b, float s) {
- sampleModel.setSample(x - sampleModelTranslateX, y - sampleModelTranslateY, b, s,
- dataBuffer);
- }
-
- /**
- * Sets the sample for the specified band and the specified pixel with an
- * integer sample.
- *
- * @param x
- * the X coordinate of the pixel.
- * @param y
- * the Y coordinate of the pixel.
- * @param b
- * the specified band.
- * @param s
- * the sample to be set.
- */
- public void setSample(int x, int y, int b, double s) {
- sampleModel.setSample(x - sampleModelTranslateX, y - sampleModelTranslateY, b, s,
- dataBuffer);
- }
-
-}