jdk/src/share/classes/java/awt/image/RenderedImage.java
author prr
Thu, 10 Apr 2008 16:28:45 -0700
changeset 539 7952521a4ad3
child 715 f16baef3a20e
permissions -rw-r--r--
6662775: Move imaging and color classes from closed to open Reviewed-by: tdv, campbell
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
539
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
     1
/*
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
     2
 * Portions Copyright 1997-2000 Sun Microsystems, Inc.  All Rights Reserved.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
     4
 *
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
     7
 * published by the Free Software Foundation.  Sun designates this
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
     9
 * by Sun in the LICENSE file that accompanied this code.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    10
 *
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    15
 * accompanied this code).
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    16
 *
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    20
 *
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    21
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    22
 * CA 95054 USA or visit www.sun.com if you need additional information or
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    23
 * have any questions.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    24
 */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    25
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    26
/* ****************************************************************
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    27
 ******************************************************************
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    28
 ******************************************************************
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    29
 *** COPYRIGHT (c) Eastman Kodak Company, 1997
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    30
 *** As  an unpublished  work pursuant to Title 17 of the United
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    31
 *** States Code.  All rights reserved.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    32
 ******************************************************************
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    33
 ******************************************************************
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    34
 ******************************************************************/
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    35
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    36
package java.awt.image;
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    37
import java.awt.Rectangle;
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    38
import java.util.Dictionary;
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    39
import java.util.Vector;
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    40
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    41
/**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    42
 * RenderedImage is a common interface for objects which contain
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    43
 * or can produce image data in the form of Rasters.  The image
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    44
 * data may be stored/produced as a single tile or a regular array
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    45
 * of tiles.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    46
 */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    47
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    48
public interface RenderedImage {
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    49
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    50
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    51
     * Returns a vector of RenderedImages that are the immediate sources of
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    52
     * image data for this RenderedImage.  This method returns null if
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    53
     * the RenderedImage object has no information about its immediate
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    54
     * sources.  It returns an empty Vector if the RenderedImage object has
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    55
     * no immediate sources.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    56
     * @return a Vector of <code>RenderedImage</code> objects.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    57
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    58
    Vector<RenderedImage> getSources();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    59
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    60
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    61
     * Gets a property from the property set of this image.  The set of
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    62
     * properties and whether it is immutable is determined by the
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    63
     * implementing class.  This method returns
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    64
     * java.awt.Image.UndefinedProperty if the specified property is
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    65
     * not defined for this RenderedImage.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    66
     * @param name the name of the property
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    67
     * @return the property indicated by the specified name.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    68
     * @see java.awt.Image#UndefinedProperty
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    69
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    70
    Object getProperty(String name);
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    71
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    72
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    73
      * Returns an array of names recognized by
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    74
      * {@link #getProperty(String) getProperty(String)}
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    75
      * or <code>null</code>, if no property names are recognized.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    76
      * @return a <code>String</code> array containing all of the
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    77
      * property names that <code>getProperty(String)</code> recognizes;
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    78
      * or <code>null</code> if no property names are recognized.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    79
      */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    80
    String[] getPropertyNames();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    81
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    82
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    83
     * Returns the ColorModel associated with this image.  All Rasters
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    84
     * returned from this image will have this as their ColorModel.  This
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    85
     * can return null.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    86
     * @return the <code>ColorModel</code> of this image.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    87
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    88
    ColorModel getColorModel();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    89
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    90
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    91
     * Returns the SampleModel associated with this image.  All Rasters
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    92
     * returned from this image will have this as their SampleModel.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    93
     * @return the <code>SampleModel</code> of this image.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    94
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    95
    SampleModel getSampleModel();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    96
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    97
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    98
     * Returns the width of the RenderedImage.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
    99
     * @return the width of this <code>RenderedImage</code>.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   100
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   101
    int getWidth();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   102
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   103
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   104
     * Returns the height of the RenderedImage.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   105
     * @return the height of this <code>RenderedImage</code>.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   106
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   107
    int getHeight();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   108
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   109
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   110
     * Returns the minimum X coordinate (inclusive) of the RenderedImage.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   111
     * @return the X coordinate of this <code>RenderedImage</code>.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   112
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   113
    int getMinX();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   114
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   115
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   116
     * Returns the minimum Y coordinate (inclusive) of the RenderedImage.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   117
     * @return the Y coordinate of this <code>RenderedImage</code>.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   118
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   119
    int getMinY();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   120
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   121
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   122
     * Returns the number of tiles in the X direction.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   123
     * @return the number of tiles in the X direction.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   124
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   125
    int getNumXTiles();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   126
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   127
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   128
     * Returns the number of tiles in the Y direction.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   129
     * @return the number of tiles in the Y direction.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   130
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   131
    int getNumYTiles();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   132
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   133
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   134
     *  Returns the minimum tile index in the X direction.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   135
     *  @return the minimum tile index in the X direction.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   136
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   137
    int getMinTileX();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   138
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   139
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   140
     *  Returns the minimum tile index in the Y direction.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   141
     *  @return the minimum tile index in the X direction.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   142
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   143
    int getMinTileY();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   144
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   145
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   146
     *  Returns the tile width in pixels.  All tiles must have the same
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   147
     *  width.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   148
     *  @return the tile width in pixels.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   149
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   150
    int getTileWidth();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   151
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   152
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   153
     *  Returns the tile height in pixels.  All tiles must have the same
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   154
     *  height.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   155
     *  @return the tile height in pixels.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   156
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   157
    int getTileHeight();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   158
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   159
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   160
     * Returns the X offset of the tile grid relative to the origin,
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   161
     * i.e., the X coordinate of the upper-left pixel of tile (0, 0).
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   162
     * (Note that tile (0, 0) may not actually exist.)
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   163
     * @return the X offset of the tile grid relative to the origin.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   164
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   165
    int getTileGridXOffset();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   166
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   167
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   168
     * Returns the Y offset of the tile grid relative to the origin,
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   169
     * i.e., the Y coordinate of the upper-left pixel of tile (0, 0).
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   170
     * (Note that tile (0, 0) may not actually exist.)
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   171
     * @return the Y offset of the tile grid relative to the origin.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   172
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   173
    int getTileGridYOffset();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   174
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   175
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   176
     * Returns tile (tileX, tileY).  Note that tileX and tileY are indices
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   177
     * into the tile array, not pixel locations.  The Raster that is returned
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   178
     * is live and will be updated if the image is changed.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   179
     * @param tileX the X index of the requested tile in the tile array
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   180
     * @param tileY the Y index of the requested tile in the tile array
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   181
     * @return the tile given the specified indices.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   182
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   183
   Raster getTile(int tileX, int tileY);
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   184
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   185
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   186
     * Returns the image as one large tile (for tile based
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   187
     * images this will require fetching the whole image
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   188
     * and copying the image data over).  The Raster returned is
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   189
     * a copy of the image data and will not be updated if the image
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   190
     * is changed.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   191
     * @return the image as one large tile.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   192
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   193
    Raster getData();
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   194
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   195
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   196
     * Computes and returns an arbitrary region of the RenderedImage.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   197
     * The Raster returned is a copy of the image data and will not
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   198
     * be updated if the image is changed.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   199
     * @param rect the region of the RenderedImage to be returned.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   200
     * @return the region of the <code>RenderedImage</code>
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   201
     * indicated by the specified <code>Rectangle</code>.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   202
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   203
    Raster getData(Rectangle rect);
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   204
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   205
    /**
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   206
     * Computes an arbitrary rectangular region of the RenderedImage
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   207
     * and copies it into a caller-supplied WritableRaster.  The region
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   208
     * to be computed is determined from the bounds of the supplied
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   209
     * WritableRaster.  The supplied WritableRaster must have a
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   210
     * SampleModel that is compatible with this image.  If raster is null,
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   211
     * an appropriate WritableRaster is created.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   212
     * @param raster a WritableRaster to hold the returned portion of the
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   213
     *               image, or null.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   214
     * @return a reference to the supplied or created WritableRaster.
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   215
     */
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   216
    WritableRaster copyData(WritableRaster raster);
7952521a4ad3 6662775: Move imaging and color classes from closed to open
prr
parents:
diff changeset
   217
}