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   
   29   /**
   30    * This abstract class defines a lookup table object.  ByteLookupTable
   31    * and ShortLookupTable are subclasses, which
   32    * contain byte and short data, respectively.  A lookup table
   33    * contains data arrays for one or more bands (or components) of an image
   34    * (for example, separate arrays for R, G, and B),
   35    * and it contains an offset which will be subtracted from the
   36    * input values before indexing into the arrays.  This allows an array
   37    * smaller than the native data size to be provided for a
   38    * constrained input.  If there is only one array in the lookup
   39    * table, it will be applied to all bands.  All arrays must be the
   40    * same size.
   41    *
   42    * @see ByteLookupTable
   43    * @see ShortLookupTable
   44    * @see LookupOp
   45    */
   46   public abstract class LookupTable extends Object{
   47   
   48       /**
   49        * Constants
   50        */
   51   
   52       int  numComponents;
   53       int  offset;
   54       int  numEntries;
   55   
   56       /**
   57        * Constructs a new LookupTable from the number of components and an offset
   58        * into the lookup table.
   59        * @param offset the offset to subtract from input values before indexing
   60        *        into the data arrays for this <code>LookupTable</code>
   61        * @param numComponents the number of data arrays in this
   62        *        <code>LookupTable</code>
   63        * @throws IllegalArgumentException if <code>offset</code> is less than 0
   64        *         or if <code>numComponents</code> is less than 1
   65        */
   66       protected LookupTable(int offset, int numComponents) {
   67           if (offset < 0) {
   68               throw new
   69                   IllegalArgumentException("Offset must be greater than 0");
   70           }
   71           if (numComponents < 1) {
   72               throw new IllegalArgumentException("Number of components must "+
   73                                                  " be at least 1");
   74           }
   75           this.numComponents = numComponents;
   76           this.offset = offset;
   77       }
   78   
   79       /**
   80        * Returns the number of components in the lookup table.
   81        * @return the number of components in this <code>LookupTable</code>.
   82        */
   83       public int getNumComponents() {
   84           return numComponents;
   85       }
   86   
   87       /**
   88        * Returns the offset.
   89        * @return the offset of this <code>LookupTable</code>.
   90        */
   91       public int getOffset() {
   92           return offset;
   93       }
   94   
   95       /**
   96        * Returns an <code>int</code> array of components for
   97        * one pixel.  The <code>dest</code> array contains the
   98        * result of the lookup and is returned.  If dest is
   99        * <code>null</code>, a new array is allocated.  The
  100        * source and destination can be equal.
  101        * @param src the source array of components of one pixel
  102        * @param dest the destination array of components for one pixel,
  103        *        translated with this <code>LookupTable</code>
  104        * @return an <code>int</code> array of components for one
  105        *         pixel.
  106        */
  107       public abstract int[] lookupPixel(int[] src, int[] dest);
  108   
  109   }

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