diff options
Diffstat (limited to 'libjava/java/awt/image/DirectColorModel.java')
| -rw-r--r-- | libjava/java/awt/image/DirectColorModel.java | 91 |
1 files changed, 80 insertions, 11 deletions
diff --git a/libjava/java/awt/image/DirectColorModel.java b/libjava/java/awt/image/DirectColorModel.java index b79c0af1cc6..5931e25a528 100644 --- a/libjava/java/awt/image/DirectColorModel.java +++ b/libjava/java/awt/image/DirectColorModel.java @@ -1,23 +1,56 @@ -/* Copyright (C) 2000 Free Software Foundation +/* Copyright (C) 1999, 2000, 2002 Free Software Foundation - This file is part of libgcj. +This file is part of GNU Classpath. + +GNU Classpath is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +GNU Classpath is distributed in the hope that it will be useful, but +WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with GNU Classpath; see the file COPYING. If not, write to the +Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA +02111-1307 USA. + +As a special exception, if you link this library with other files to +produce an executable, this library does not by itself cause the +resulting executable to be covered by the GNU General Public License. +This exception does not however invalidate any other reasons why the +executable file might be covered by the GNU General Public License. */ -This software is copyrighted work licensed under the terms of the -Libgcj License. Please consult the file "LIBGCJ_LICENSE" for -details. */ package java.awt.image; import java.awt.Point; import java.awt.Transparency; import java.awt.color.ColorSpace; -import gnu.gcj.awt.Buffers; +import gnu.java.awt.Buffers; /** * @author Rolf W. Rasmussen <rolfwr@ii.uib.no> + * @author C. Brian Jones (cbj@gnu.org) + * @author Mark Benvenuto (mcb54@columbia.edu) */ public class DirectColorModel extends PackedColorModel { + /** + * For the color model created with this constructor the pixels + * will have fully opaque alpha components with a value of 255. + * Each mask should describe a fully contiguous set of bits in the + * most likely order of alpha, red, green, blue from the most significant + * byte to the least significant byte. + * + * @param bits the number of bits wide used for bit size of pixel values + * @param rmask the bits describing the red component of a pixel + * @param gmask the bits describing the green component of a pixel + * @param bmask the bits describing the blue component of a pixel + * @param amask the bits describing the alpha component of a pixel + */ public DirectColorModel(int pixelBits, int rmask, int gmask, int bmask) { this(ColorSpace.getInstance(ColorSpace.CS_sRGB), pixelBits, @@ -27,6 +60,18 @@ public class DirectColorModel extends PackedColorModel ); } + /** + * For the color model created with this constructor the pixels + * will have fully opaque alpha components with a value of 255. + * Each mask should describe a fully contiguous set of bits in the + * most likely order of red, green, blue from the most significant + * byte to the least significant byte. + * + * @param bits the number of bits wide used for bit size of pixel values + * @param rmask the bits describing the red component of a pixel + * @param gmask the bits describing the green component of a pixel + * @param bmask the bits describing the blue component of a pixel + */ public DirectColorModel(int pixelBits, int rmask, int gmask, int bmask, int amask) { @@ -68,24 +113,41 @@ public class DirectColorModel extends PackedColorModel return hasAlpha() ? getMask(3) : 0; } + /** + * Get the red component of the given pixel. + * <br> + */ public final int getRed(int pixel) { return extractAndNormalizeSample(pixel, 0); } + /** + * Get the green component of the given pixel. + * <br> + */ public final int getGreen(int pixel) { return extractAndNormalizeSample(pixel, 1); } + /** + * Get the blue component of the given pixel. + * <br> + */ public final int getBlue(int pixel) { return extractAndNormalizeSample(pixel, 2); } + /** + * Get the alpha component of the given pixel. + * <br> + */ public final int getAlpha(int pixel) { - if (!hasAlpha()) return 0; + if (!hasAlpha()) + return 0; return extractAndScaleSample(pixel, 3); } @@ -106,15 +168,22 @@ public class DirectColorModel extends PackedColorModel (field << to8BitShift) : (field >>> (-to8BitShift)); } - - /* FIXME: The Sun docs show that this method is overridden, but I don't - see any way to improve on the superclass implementation. */ + /** + * Get the RGB color value of the given pixel using the default + * RGB color model. + * <br> + * + * @param pixel a pixel value + */ public final int getRGB(int pixel) { + /* FIXME: The Sun docs show that this method is overridden, but I + don't see any way to improve on the superclass + implementation. */ return super.getRGB(pixel); } - + public int getRed(Object inData) { return getRed(getPixelFromArray(inData)); |
