java.awt.image

Class DirectColorModel

Implemented Interfaces:
Transparency

public class DirectColorModel
extends PackedColorModel

Field Summary

Fields inherited from class java.awt.image.ColorModel

pixel_bits, transferType

Fields inherited from interface java.awt.Transparency

BITMASK, OPAQUE, TRANSLUCENT

Constructor Summary

DirectColorModel(int pixelBits, int rmask, int gmask, int bmask)
For the color model created with this constructor the pixels will have fully opaque alpha components with a value of 255.
DirectColorModel(int pixelBits, int rmask, int gmask, int bmask, int amask)
For the color model created with this constructor the pixels will have fully opaque alpha components with a value of 255.
DirectColorModel(ColorSpace cspace, int pixelBits, int rmask, int gmask, int bmask, int amask, boolean isAlphaPremultiplied, int transferType)

Method Summary

ColorModel
coerceData(WritableRaster raster, boolean isAlphaPremultiplied)
WritableRaster
createCompatibleWritableRaster(int w, int h)
Creates a WriteableRaster that has a SampleModel that is compatible with this ColorModel.
int
getAlpha(int pixel)
Get the alpha component of the given pixel.
int
getAlpha(Object inData)
int
getAlphaMask()
int
getBlue(int pixel)
Get the blue component of the given pixel.
int
getBlue(Object inData)
int
getBlueMask()
int[]
getComponents(int pixel, int[] components, int offset)
Fills an array with the unnormalized component samples from a pixel value.
int[]
getComponents(Object pixel, int[] components, int offset)
int
getDataElement(int[] components, int offset)
Object
getDataElements(int rgb, Object pixel)
Converts a normalized pixel int value in the sRGB color space to an array containing a single pixel of the color space of the color model.
Object
getDataElements(int[] components, int offset, Object obj)
int
getGreen(int pixel)
Get the green component of the given pixel.
int
getGreen(Object inData)
int
getGreenMask()
int
getRGB(int pixel)
Get the RGB color value of the given pixel using the default RGB color model.
int
getRGB(Object inData)
int
getRed(int pixel)
Get the red component of the given pixel.
int
getRed(Object inData)
int
getRedMask()
boolean
isCompatibleRaster(Raster raster)
String
toString()
Convert this Object to a human-readable String.

Methods inherited from class java.awt.image.PackedColorModel

createCompatibleSampleModel, equals, getAlphaRaster, getMask, getMasks, isCompatibleSampleModel

Methods inherited from class java.awt.image.ColorModel

coerceData, createCompatibleSampleModel, createCompatibleWritableRaster, equals, finalize, getAlpha, getAlpha, getAlphaRaster, getBlue, getBlue, getColorSpace, getComponentSize, getComponentSize, getComponents, getComponents, getDataElement, getDataElement, getDataElements, getDataElements, getDataElements, getGreen, getGreen, getNormalizedComponents, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRGB, getRGB, getRGBdefault, getRed, getRed, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, isAlphaPremultiplied, isCompatibleRaster, isCompatibleSampleModel, toString

Methods inherited from class java.lang.Object

clone, equals, extends Object> getClass, finalize, hashCode, notify, notifyAll, toString, wait, wait, wait

Constructor Details

DirectColorModel

public DirectColorModel(int pixelBits,
                        int rmask,
                        int gmask,
                        int bmask)
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.
Parameters:
pixelBits - the number of bits wide used for bit size of pixel values
rmask - the bits describing the red component of a pixel
gmask - the bits describing the green component of a pixel
bmask - the bits describing the blue component of a pixel

DirectColorModel

public DirectColorModel(int pixelBits,
                        int rmask,
                        int gmask,
                        int bmask,
                        int amask)
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.
Parameters:
pixelBits - the number of bits wide used for bit size of pixel values
rmask - the bits describing the red component of a pixel
gmask - the bits describing the green component of a pixel
bmask - the bits describing the blue component of a pixel
amask - the bits describing the alpha component of a pixel

DirectColorModel

public DirectColorModel(ColorSpace cspace,
                        int pixelBits,
                        int rmask,
                        int gmask,
                        int bmask,
                        int amask,
                        boolean isAlphaPremultiplied,
                        int transferType)

Method Details

coerceData

public final ColorModel coerceData(WritableRaster raster,
                                   boolean isAlphaPremultiplied)
Overrides:
coerceData in interface ColorModel

createCompatibleWritableRaster

public final WritableRaster createCompatibleWritableRaster(int w,
                                                           int h)
Creates a WriteableRaster that has a SampleModel that is compatible with this ColorModel.
Overrides:
createCompatibleWritableRaster in interface ColorModel
Parameters:
w - the width of the writeable raster to create
h - the height of the writeable raster to create
Throws:
IllegalArgumentException - if w or h is less than or equal to zero

getAlpha

public final int getAlpha(int pixel)
Get the alpha component of the given pixel.
Overrides:
getAlpha in interface ColorModel

getAlpha

public int getAlpha(Object inData)
Overrides:
getAlpha in interface ColorModel

getAlphaMask

public final int getAlphaMask()

getBlue

public final int getBlue(int pixel)
Get the blue component of the given pixel.
Overrides:
getBlue in interface ColorModel

getBlue

public int getBlue(Object inData)
Overrides:
getBlue in interface ColorModel

getBlueMask

public final int getBlueMask()

getComponents

public final int[] getComponents(int pixel,
                                 int[] components,
                                 int offset)
Fills an array with the unnormalized component samples from a pixel value. I.e. decompose the pixel, but not perform any color conversion.
Overrides:
getComponents in interface ColorModel

getComponents

public final int[] getComponents(Object pixel,
                                 int[] components,
                                 int offset)
Overrides:
getComponents in interface ColorModel

getDataElement

public int getDataElement(int[] components,
                          int offset)
Overrides:
getDataElement in interface ColorModel

getDataElements

public Object getDataElements(int rgb,
                              Object pixel)
Converts a normalized pixel int value in the sRGB color space to an array containing a single pixel of the color space of the color model.

This method performs the inverse function of getRGB(Object inData).

Overrides:
getDataElements in interface ColorModel
Parameters:
rgb - pixel as a normalized sRGB, 0xAARRGGBB value.
pixel - to avoid needless creation of arrays, an array to use to return the pixel can be given. If null, a suitable array will be created.
Returns:
array of transferType containing a single pixel. The pixel should be encoded in the natural way of the color model.

getDataElements

public Object getDataElements(int[] components,
                              int offset,
                              Object obj)
Overrides:
getDataElements in interface ColorModel

getGreen

public final int getGreen(int pixel)
Get the green component of the given pixel.
Overrides:
getGreen in interface ColorModel

getGreen

public int getGreen(Object inData)
Overrides:
getGreen in interface ColorModel

getGreenMask

public final int getGreenMask()

getRGB

public final int getRGB(int pixel)
Get the RGB color value of the given pixel using the default RGB color model.
Overrides:
getRGB in interface ColorModel
Parameters:
pixel - a pixel value

getRGB

public int getRGB(Object inData)
Overrides:
getRGB in interface ColorModel

getRed

public final int getRed(int pixel)
Get the red component of the given pixel.
Overrides:
getRed in interface ColorModel

getRed

public int getRed(Object inData)
Overrides:
getRed in interface ColorModel

getRedMask

public final int getRedMask()

isCompatibleRaster

public boolean isCompatibleRaster(Raster raster)
Overrides:
isCompatibleRaster in interface ColorModel

toString

public String toString()
Convert this Object to a human-readable String. There are no limits placed on how long this String should be or what it should contain. We suggest you make it as intuitive as possible to be able to place it into System.out.println() and such.

It is typical, but not required, to ensure that this method never completes abruptly with a RuntimeException.

This method will be called when performing string concatenation with this object. If the result is null, string concatenation will instead use "null".

The default implementation returns getClass().getName() + "@" + Integer.toHexString(hashCode()).

Overrides:
toString in interface ColorModel
Returns:
the String representing this Object, which may be null

DirectColorModel.java -- Copyright (C) 1999, 2000, 2002, 2004 Free Software Foundation 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination. As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.