Home » openjdk-7 » java » awt » image » [javadoc | source]

    1   /*
    2    * Copyright (c) 1997, 2000, Oracle and/or its affiliates. All rights reserved.
    3    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    4    *
    5    * This code is free software; you can redistribute it and/or modify it
    6    * under the terms of the GNU General Public License version 2 only, as
    7    * published by the Free Software Foundation.  Oracle designates this
    8    * particular file as subject to the "Classpath" exception as provided
    9    * by Oracle in the LICENSE file that accompanied this code.
   10    *
   11    * This code is distributed in the hope that it will be useful, but WITHOUT
   12    * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   13    * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   14    * version 2 for more details (a copy is included in the LICENSE file that
   15    * accompanied this code).
   16    *
   17    * You should have received a copy of the GNU General Public License version
   18    * 2 along with this work; if not, write to the Free Software Foundation,
   19    * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   20    *
   21    * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
   22    * or visit www.oracle.com if you need additional information or have any
   23    * questions.
   24    */
   25   
   26   package java.awt.image;
   27   
   28   import java.awt.geom.Rectangle2D;
   29   import java.awt.geom.Point2D;
   30   import java.awt.RenderingHints;
   31   
   32   /**
   33    * This interface describes single-input/single-output
   34    * operations performed on Raster objects.  It is implemented by such
   35    * classes as AffineTransformOp, ConvolveOp, and LookupOp.  The Source
   36    * and Destination objects must contain the appropriate number
   37    * of bands for the particular classes implementing this interface.
   38    * Otherwise, an exception is thrown.  This interface cannot be used to
   39    * describe more sophisticated Ops such as ones that take multiple sources.
   40    * Each class implementing this interface will specify whether or not it
   41    * will allow an in-place filtering operation (i.e. source object equal
   42    * to the destination object).  Note that the restriction to single-input
   43    * operations means that the values of destination pixels prior to the
   44    * operation are not used as input to the filter operation.
   45    * @see AffineTransformOp
   46    * @see BandCombineOp
   47    * @see ColorConvertOp
   48    * @see ConvolveOp
   49    * @see LookupOp
   50    * @see RescaleOp
   51    */
   52   public interface RasterOp {
   53       /**
   54        * Performs a single-input/single-output operation from a source Raster
   55        * to a destination Raster.  If the destination Raster is null, a
   56        * new Raster will be created.  The IllegalArgumentException may be thrown
   57        * if the source and/or destination Raster is incompatible with the types
   58        * of Rasters allowed by the class implementing this filter.
   59        * @param src the source <code>Raster</code>
   60        * @param dest the destination <code>WritableRaster</code>
   61        * @return a <code>WritableRaster</code> that represents the result of
   62        *         the filtering operation.
   63        */
   64       public WritableRaster filter(Raster src, WritableRaster dest);
   65   
   66       /**
   67        * Returns the bounding box of the filtered destination Raster.
   68        * The IllegalArgumentException may be thrown if the source Raster
   69        * is incompatible with the types of Rasters allowed
   70        * by the class implementing this filter.
   71        * @param src the source <code>Raster</code>
   72        * @return a <code>Rectangle2D</code> that is the bounding box of
   73        *         the <code>Raster</code> resulting from the filtering
   74        *         operation.
   75        */
   76       public Rectangle2D getBounds2D(Raster src);
   77   
   78       /**
   79        * Creates a zeroed destination Raster with the correct size and number of
   80        * bands.
   81        * The IllegalArgumentException may be thrown if the source Raster
   82        * is incompatible with the types of Rasters allowed
   83        * by the class implementing this filter.
   84        * @param src the source <code>Raster</code>
   85        * @return a <code>WritableRaster</code> that is compatible with
   86        *         <code>src</code>
   87        */
   88       public WritableRaster createCompatibleDestRaster(Raster src);
   89   
   90       /**
   91        * Returns the location of the destination point given a
   92        * point in the source Raster.  If dstPt is non-null, it
   93        * will be used to hold the return value.
   94        * @param srcPt the source <code>Point2D</code>
   95        * @param dstPt the destination <code>Point2D</code>
   96        * @return the location of the destination point.
   97        */
   98       public Point2D getPoint2D(Point2D srcPt, Point2D dstPt);
   99   
  100       /**
  101        * Returns the rendering hints for this RasterOp.  Returns
  102        * null if no hints have been set.
  103        * @return the <code>RenderingHints</code> object of this
  104        *         <code>RasterOp</code>.
  105        */
  106       public RenderingHints getRenderingHints();
  107   }

Home » openjdk-7 » java » awt » image » [javadoc | source]