Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

org.eclipse.swt.graphics
Class ImageData  view ImageData download ImageData.java

java.lang.Object
  extended byorg.eclipse.swt.graphics.ImageData
All Implemented Interfaces:
java.lang.Cloneable, org.eclipse.swt.internal.CloneableCompatibility

public final class ImageData
extends java.lang.Object
implements org.eclipse.swt.internal.CloneableCompatibility

Instances of this class are device-independent descriptions of images. They are typically used as an intermediate format between loading from or writing to streams and creating an Image.

Note that the public fields x, y, disposalMethod and delayTime are typically only used when the image is in a set of images used for animation.


Field Summary
 int alpha
          The global alpha value to be used for every pixel.
(package private) static int ALPHA_CHANNEL_SEPARATE
          Alpha mode, values 0 - 255 specify global alpha level
(package private) static int ALPHA_CHANNEL_SOURCE
          Alpha mode, values 0 - 255 specify global alpha level
(package private) static int ALPHA_MASK_INDEX
          Alpha mode, values 0 - 255 specify global alpha level
(package private) static int ALPHA_MASK_PACKED
          Alpha mode, values 0 - 255 specify global alpha level
(package private) static int ALPHA_MASK_RGB
          Alpha mode, values 0 - 255 specify global alpha level
(package private) static int ALPHA_MASK_UNPACKED
          Alpha mode, values 0 - 255 specify global alpha level
(package private) static int ALPHA_OPAQUE
          Alpha mode, values 0 - 255 specify global alpha level
(package private) static int ALPHA_TRANSPARENT
          Alpha mode, values 0 - 255 specify global alpha level
 byte[] alphaData
          The alpha data of the image.
(package private) static byte[][] ANY_TO_EIGHT
          Arbitrary channel width data to 8-bit conversion table.
(package private) static int BLIT_ALPHA
          Blit operation bits to be OR'ed together to specify the desired operation.
(package private) static int BLIT_DITHER
          Blit operation bits to be OR'ed together to specify the desired operation.
(package private) static int BLIT_SRC
          Blit operation bits to be OR'ed together to specify the desired operation.
 int bytesPerLine
          The number of bytes per scanline.
 byte[] data
          The pixel data of the image.
 int delayTime
          The time to delay before displaying the next image in an animation (this field corresponds to the GIF89a Delay Time value).
 int depth
          The color depth of the image, in bits per pixel.
 int disposalMethod
          A description of how to dispose of the current image before displaying the next.
(package private) static int[][] DITHER_MATRIX
          Scaled 8x8 Bayer dither matrix.
 int height
          The height of the image, in pixels.
(package private) static int LSB_FIRST
          Byte and bit order constants.
 byte[] maskData
          An icon-specific field containing the data from the icon mask.
 int maskPad
          An icon-specific field containing the scanline pad of the mask.
(package private) static int MSB_FIRST
           
(package private) static byte[] ONE_TO_ONE_MAPPING
           
 PaletteData palette
          The color table for the image.
 int scanlinePad
          The scanline padding.
 int transparentPixel
          The transparent pixel.
 int type
          The type of file from which the image was read.
private static int TYPE_GENERIC_16_LSB
          Data types (internal)
private static int TYPE_GENERIC_16_MSB
          Data types (internal)
private static int TYPE_GENERIC_24
          Data types (internal)
private static int TYPE_GENERIC_32_LSB
          Data types (internal)
private static int TYPE_GENERIC_32_MSB
          Data types (internal)
private static int TYPE_GENERIC_8
          Data types (internal)
private static int TYPE_INDEX_1_LSB
          Data types (internal)
private static int TYPE_INDEX_1_MSB
          Data types (internal)
private static int TYPE_INDEX_2
          Data types (internal)
private static int TYPE_INDEX_4
          Data types (internal)
private static int TYPE_INDEX_8
          Data types (internal)
 int width
          The width of the image, in pixels.
 int x
          The x coordinate of the top left corner of the image within the logical screen (this field corresponds to the GIF89a Image Left Position value).
 int y
          The y coordinate of the top left corner of the image within the logical screen (this field corresponds to the GIF89a Image Top Position value).
 
Constructor Summary
(package private) ImageData()
          Prevents uninitialized instances from being created outside the package.
  ImageData(java.io.InputStream stream)
          Constructs an ImageData loaded from the specified input stream.
  ImageData(int width, int height, int depth, PaletteData palette)
          Constructs a new, empty ImageData with the given width, height, depth and palette.
  ImageData(int width, int height, int depth, PaletteData palette, int scanlinePad, byte[] data)
          Constructs a new, empty ImageData with the given width, height, depth, palette, scanlinePad and data.
(package private) ImageData(int width, int height, int depth, PaletteData palette, int scanlinePad, byte[] data, int maskPad, byte[] maskData, byte[] alphaData, int alpha, int transparentPixel, int type, int x, int y, int disposalMethod, int delayTime)
          Constructs an image data by giving values for all non-computable fields.
  ImageData(java.lang.String filename)
          Constructs an ImageData loaded from a file with the specified name.
 
Method Summary
(package private) static void blit(int op, byte[] srcData, int srcDepth, int srcStride, int srcOrder, int srcX, int srcY, int srcWidth, int srcHeight, byte[] srcReds, byte[] srcGreens, byte[] srcBlues, int alphaMode, byte[] alphaData, int alphaStride, int alphaX, int alphaY, byte[] destData, int destDepth, int destStride, int destOrder, int destX, int destY, int destWidth, int destHeight, byte[] destReds, byte[] destGreens, byte[] destBlues, boolean flipX, boolean flipY)
          Blits an index palette image into an index palette image.
(package private) static void blit(int op, byte[] srcData, int srcDepth, int srcStride, int srcOrder, int srcX, int srcY, int srcWidth, int srcHeight, byte[] srcReds, byte[] srcGreens, byte[] srcBlues, int alphaMode, byte[] alphaData, int alphaStride, int alphaX, int alphaY, byte[] destData, int destDepth, int destStride, int destOrder, int destX, int destY, int destWidth, int destHeight, int destRedMask, int destGreenMask, int destBlueMask, boolean flipX, boolean flipY)
          Blits an index palette image into a direct palette image.
(package private) static void blit(int op, byte[] srcData, int srcDepth, int srcStride, int srcOrder, int srcX, int srcY, int srcWidth, int srcHeight, int srcRedMask, int srcGreenMask, int srcBlueMask, int alphaMode, byte[] alphaData, int alphaStride, int alphaX, int alphaY, byte[] destData, int destDepth, int destStride, int destOrder, int destX, int destY, int destWidth, int destHeight, byte[] destReds, byte[] destGreens, byte[] destBlues, boolean flipX, boolean flipY)
          Blits a direct palette image into an index palette image.
(package private) static void blit(int op, byte[] srcData, int srcDepth, int srcStride, int srcOrder, int srcX, int srcY, int srcWidth, int srcHeight, int srcRedMask, int srcGreenMask, int srcBlueMask, int alphaMode, byte[] alphaData, int alphaStride, int alphaX, int alphaY, byte[] destData, int destDepth, int destStride, int destOrder, int destX, int destY, int destWidth, int destHeight, int destRedMask, int destGreenMask, int destBlueMask, boolean flipX, boolean flipY)
          Blits a direct palette image into a direct palette image.
(package private) static void buildDitheredGradientChannel(int from, int to, int steps, int bandWidth, int bandHeight, boolean vertical, byte[] bitmapData, int dp, int bytesPerLine, int bits)
           
(package private) static void buildPreciseGradientChannel(int from, int to, int steps, int bandWidth, int bandHeight, boolean vertical, byte[] bitmapData, int dp, int bytesPerLine)
           
(package private) static PaletteData bwPalette()
          Returns a palette with 2 colors: black & white.
(package private) static byte[] checkData(byte[] data)
           
 java.lang.Object clone()
          Returns a new instance of the same class as the receiver, whose slots have been filled in with copies of the values in the slots of the receiver.
(package private) static int closestMatch(int depth, byte red, byte green, byte blue, int redMask, int greenMask, int blueMask, byte[] reds, byte[] greens, byte[] blues)
          Finds the closest match.
(package private)  ImageData colorMaskImage(int pixel)
           
(package private) static byte[] convertPad(byte[] data, int width, int height, int depth, int pad, int newPad)
           
(package private) static ImageData createGradientBand(int width, int height, boolean vertical, RGB fromRGB, RGB toRGB, int redBits, int greenBits, int blueBits)
          Creates an ImageData containing one band's worth of a gradient filled block.
(package private) static void fillGradientRectangle(GC gc, Device device, int x, int y, int width, int height, boolean vertical, RGB fromRGB, RGB toRGB, int redBits, int greenBits, int blueBits)
          Renders a gradient onto a GC.
 int getAlpha(int x, int y)
          Returns the alpha value at offset x in scanline y in the receiver's alpha data.
 void getAlphas(int x, int y, int getWidth, byte[] alphas, int startIndex)
          Returns getWidth alpha values starting at offset x in scanline y in the receiver's alpha data starting at startIndex.
(package private)  int getByteOrder()
          Returns the byte order of the receiver.
(package private) static byte getChannelField(int data, int mask)
          Extracts a field from packed RGB data given a mask for that field.
(package private) static int getChannelShift(int mask)
          Computes the required channel shift from a mask.
(package private) static int getChannelWidth(int mask, int shift)
          Computes the required channel width (depth) from a mask.
(package private) static int getMSBOffset(int mask)
          Gets the offset of the most significant bit for the given mask.
 int getPixel(int x, int y)
          Returns the pixel value at offset x in scanline y in the receiver's data.
 void getPixels(int x, int y, int getWidth, byte[] pixels, int startIndex)
          Returns getWidth pixel values starting at offset x in scanline y in the receiver's data starting at startIndex.
 void getPixels(int x, int y, int getWidth, int[] pixels, int startIndex)
          Returns getWidth pixel values starting at offset x in scanline y in the receiver's data starting at startIndex.
 RGB[] getRGBs()
          Returns an array of RGBs which comprise the indexed color table of the receiver, or null if the receiver has a direct color model.
 ImageData getTransparencyMask()
          Returns an ImageData which specifies the transparency mask information for the receiver, or null if the receiver has no transparency and is not an icon.
 int getTransparencyType()
          Returns the image transparency type.
static ImageData internal_new(int width, int height, int depth, PaletteData palette, int scanlinePad, byte[] data, int maskPad, byte[] maskData, byte[] alphaData, int alpha, int transparentPixel, int type, int x, int y, int disposalMethod, int delayTime)
          Invokes internal SWT functionality to create a new instance of this class.
 ImageData scaledTo(int width, int height)
          Returns a copy of the receiver which has been stretched or shrunk to the specified size.
(package private)  void setAllFields(int width, int height, int depth, int scanlinePad, int bytesPerLine, byte[] data, PaletteData palette, int transparentPixel, byte[] maskData, int maskPad, byte[] alphaData, int alpha, int type, int x, int y, int disposalMethod, int delayTime)
          Initializes all fields in the receiver.
 void setAlpha(int x, int y, int alpha)
          Sets the alpha value at offset x in scanline y in the receiver's alpha data.
 void setAlphas(int x, int y, int putWidth, byte[] alphas, int startIndex)
          Sets the alpha values starting at offset x in scanline y in the receiver's alpha data to the values from the array alphas starting at startIndex.
 void setPixel(int x, int y, int pixelValue)
          Sets the pixel value at offset x in scanline y in the receiver's data.
 void setPixels(int x, int y, int putWidth, byte[] pixels, int startIndex)
          Sets the pixel values starting at offset x in scanline y in the receiver's data to the values from the array pixels starting at startIndex.
 void setPixels(int x, int y, int putWidth, int[] pixels, int startIndex)
          Sets the pixel values starting at offset x in scanline y in the receiver's data to the values from the array pixels starting at startIndex.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

width

public int width
The width of the image, in pixels.


height

public int height
The height of the image, in pixels.


depth

public int depth
The color depth of the image, in bits per pixel.

Note that a depth of 8 or less does not necessarily mean that the image is palette indexed, or conversely that a depth greater than 8 means that the image is direct color. Check the associated PaletteData's isDirect field for such determinations.


scanlinePad

public int scanlinePad
The scanline padding.

If one scanline of the image is not a multiple of this number, it will be padded with zeros until it is.


bytesPerLine

public int bytesPerLine
The number of bytes per scanline.

This is a multiple of the scanline padding.


data

public byte[] data
The pixel data of the image.

Note that for 16 bit depth images the pixel data is stored in least significant byte order; however, for 24bit and 32bit depth images the pixel data is stored in most significant byte order.


palette

public PaletteData palette
The color table for the image.


transparentPixel

public int transparentPixel
The transparent pixel.

Pixels with this value are transparent.

The default is -1 which means 'no transparent pixel'.


maskData

public byte[] maskData
An icon-specific field containing the data from the icon mask.

This is a 1 bit bitmap stored with the most significant bit first. The number of bytes per scanline is '((width + 7) / 8 + (maskPad - 1)) / maskPad * maskPad'.

The default is null which means 'no transparency mask'.


maskPad

public int maskPad
An icon-specific field containing the scanline pad of the mask.

If one scanline of the transparency mask is not a multiple of this number, it will be padded with zeros until it is.


alphaData

public byte[] alphaData
The alpha data of the image.

Every pixel can have an alpha blending value that varies from 0, meaning fully transparent, to 255 meaning fully opaque. The number of bytes per scanline is 'width'.


alpha

public int alpha
The global alpha value to be used for every pixel.

If this value is set, the alphaData field is ignored and when the image is rendered each pixel will be blended with the background an amount proportional to this value.

The default is -1 which means 'no global alpha value'


type

public int type
The type of file from which the image was read. It is expressed as one of the following values:
IMAGE_BMP
Windows BMP file format, no compression
IMAGE_BMP_RLE
Windows BMP file format, RLE compression if appropriate
IMAGE_GIF
GIF file format
IMAGE_ICO
Windows ICO file format
IMAGE_JPEG
JPEG file format
IMAGE_PNG
PNG file format


x

public int x
The x coordinate of the top left corner of the image within the logical screen (this field corresponds to the GIF89a Image Left Position value).


y

public int y
The y coordinate of the top left corner of the image within the logical screen (this field corresponds to the GIF89a Image Top Position value).


disposalMethod

public int disposalMethod
A description of how to dispose of the current image before displaying the next. It is expressed as one of the following values:
DM_UNSPECIFIED
disposal method not specified
DM_FILL_NONE
do nothing - leave the image in place
DM_FILL_BACKGROUND
fill with the background color
DM_FILL_PREVIOUS
restore the previous picture
(this field corresponds to the GIF89a Disposal Method value)


delayTime

public int delayTime
The time to delay before displaying the next image in an animation (this field corresponds to the GIF89a Delay Time value).


ANY_TO_EIGHT

static final byte[][] ANY_TO_EIGHT
Arbitrary channel width data to 8-bit conversion table.


ONE_TO_ONE_MAPPING

static final byte[] ONE_TO_ONE_MAPPING

DITHER_MATRIX

static final int[][] DITHER_MATRIX
Scaled 8x8 Bayer dither matrix.


BLIT_SRC

static final int BLIT_SRC
Blit operation bits to be OR'ed together to specify the desired operation.

See Also:
Constant Field Values

BLIT_ALPHA

static final int BLIT_ALPHA
Blit operation bits to be OR'ed together to specify the desired operation.

See Also:
Constant Field Values

BLIT_DITHER

static final int BLIT_DITHER
Blit operation bits to be OR'ed together to specify the desired operation.

See Also:
Constant Field Values

ALPHA_OPAQUE

static final int ALPHA_OPAQUE
Alpha mode, values 0 - 255 specify global alpha level

See Also:
Constant Field Values

ALPHA_TRANSPARENT

static final int ALPHA_TRANSPARENT
Alpha mode, values 0 - 255 specify global alpha level

See Also:
Constant Field Values

ALPHA_CHANNEL_SEPARATE

static final int ALPHA_CHANNEL_SEPARATE
Alpha mode, values 0 - 255 specify global alpha level

See Also:
Constant Field Values

ALPHA_CHANNEL_SOURCE

static final int ALPHA_CHANNEL_SOURCE
Alpha mode, values 0 - 255 specify global alpha level

See Also:
Constant Field Values

ALPHA_MASK_UNPACKED

static final int ALPHA_MASK_UNPACKED
Alpha mode, values 0 - 255 specify global alpha level

See Also:
Constant Field Values

ALPHA_MASK_PACKED

static final int ALPHA_MASK_PACKED
Alpha mode, values 0 - 255 specify global alpha level

See Also:
Constant Field Values

ALPHA_MASK_INDEX

static final int ALPHA_MASK_INDEX
Alpha mode, values 0 - 255 specify global alpha level

See Also:
Constant Field Values

ALPHA_MASK_RGB

static final int ALPHA_MASK_RGB
Alpha mode, values 0 - 255 specify global alpha level

See Also:
Constant Field Values

LSB_FIRST

static final int LSB_FIRST
Byte and bit order constants.

See Also:
Constant Field Values

MSB_FIRST

static final int MSB_FIRST
See Also:
Constant Field Values

TYPE_GENERIC_8

private static final int TYPE_GENERIC_8
Data types (internal)

See Also:
Constant Field Values

TYPE_GENERIC_16_MSB

private static final int TYPE_GENERIC_16_MSB
Data types (internal)

See Also:
Constant Field Values

TYPE_GENERIC_16_LSB

private static final int TYPE_GENERIC_16_LSB
Data types (internal)

See Also:
Constant Field Values

TYPE_GENERIC_24

private static final int TYPE_GENERIC_24
Data types (internal)

See Also:
Constant Field Values

TYPE_GENERIC_32_MSB

private static final int TYPE_GENERIC_32_MSB
Data types (internal)

See Also:
Constant Field Values

TYPE_GENERIC_32_LSB

private static final int TYPE_GENERIC_32_LSB
Data types (internal)

See Also:
Constant Field Values

TYPE_INDEX_8

private static final int TYPE_INDEX_8
Data types (internal)

See Also:
Constant Field Values

TYPE_INDEX_4

private static final int TYPE_INDEX_4
Data types (internal)

See Also:
Constant Field Values

TYPE_INDEX_2

private static final int TYPE_INDEX_2
Data types (internal)

See Also:
Constant Field Values

TYPE_INDEX_1_MSB

private static final int TYPE_INDEX_1_MSB
Data types (internal)

See Also:
Constant Field Values

TYPE_INDEX_1_LSB

private static final int TYPE_INDEX_1_LSB
Data types (internal)

See Also:
Constant Field Values
Constructor Detail

ImageData

public ImageData(int width,
                 int height,
                 int depth,
                 PaletteData palette)
Constructs a new, empty ImageData with the given width, height, depth and palette. The data will be initialized to an (all zero) array of the appropriate size.


ImageData

public ImageData(int width,
                 int height,
                 int depth,
                 PaletteData palette,
                 int scanlinePad,
                 byte[] data)
Constructs a new, empty ImageData with the given width, height, depth, palette, scanlinePad and data.


ImageData

public ImageData(java.io.InputStream stream)
Constructs an ImageData loaded from the specified input stream. Throws an error if an error occurs while loading the image, or if the image has an unsupported type.

This constructor is provided for convenience when loading a single image only. If the stream contains multiple images, only the first one will be loaded. To load multiple images, use ImageLoader.load().


ImageData

public ImageData(java.lang.String filename)
Constructs an ImageData loaded from a file with the specified name. Throws an error if an error occurs loading the image, or if the image has an unsupported type.

This constructor is provided for convenience when loading a single image only. If the file contains multiple images, only the first one will be loaded. To load multiple images, use ImageLoader.load().


ImageData

ImageData()
Prevents uninitialized instances from being created outside the package.


ImageData

ImageData(int width,
          int height,
          int depth,
          PaletteData palette,
          int scanlinePad,
          byte[] data,
          int maskPad,
          byte[] maskData,
          byte[] alphaData,
          int alpha,
          int transparentPixel,
          int type,
          int x,
          int y,
          int disposalMethod,
          int delayTime)
Constructs an image data by giving values for all non-computable fields.

This method is for internal use, and is not described further.

Method Detail

setAllFields

void setAllFields(int width,
                  int height,
                  int depth,
                  int scanlinePad,
                  int bytesPerLine,
                  byte[] data,
                  PaletteData palette,
                  int transparentPixel,
                  byte[] maskData,
                  int maskPad,
                  byte[] alphaData,
                  int alpha,
                  int type,
                  int x,
                  int y,
                  int disposalMethod,
                  int delayTime)
Initializes all fields in the receiver. This method must be called by all public constructors to ensure that all fields are initialized for a new ImageData object. If a new field is added to the class, then it must be added to this method.

This method is for internal use, and is not described further.


internal_new

public static ImageData internal_new(int width,
                                     int height,
                                     int depth,
                                     PaletteData palette,
                                     int scanlinePad,
                                     byte[] data,
                                     int maskPad,
                                     byte[] maskData,
                                     byte[] alphaData,
                                     int alpha,
                                     int transparentPixel,
                                     int type,
                                     int x,
                                     int y,
                                     int disposalMethod,
                                     int delayTime)
Invokes internal SWT functionality to create a new instance of this class.

IMPORTANT: This method is not part of the public API for ImageData. It is marked public only so that it can be shared within the packages provided by SWT. It is subject to change without notice, and should never be called from application code.

This method is for internal use, and is not described further.


colorMaskImage

ImageData colorMaskImage(int pixel)

checkData

static byte[] checkData(byte[] data)

clone

public java.lang.Object clone()
Returns a new instance of the same class as the receiver, whose slots have been filled in with copies of the values in the slots of the receiver. That is, the returned object is a deep copy of the receiver.


getAlpha

public int getAlpha(int x,
                    int y)
Returns the alpha value at offset x in scanline y in the receiver's alpha data.


getAlphas

public void getAlphas(int x,
                      int y,
                      int getWidth,
                      byte[] alphas,
                      int startIndex)
Returns getWidth alpha values starting at offset x in scanline y in the receiver's alpha data starting at startIndex.


getPixel

public int getPixel(int x,
                    int y)
Returns the pixel value at offset x in scanline y in the receiver's data.


getPixels

public void getPixels(int x,
                      int y,
                      int getWidth,
                      byte[] pixels,
                      int startIndex)
Returns getWidth pixel values starting at offset x in scanline y in the receiver's data starting at startIndex.


getPixels

public void getPixels(int x,
                      int y,
                      int getWidth,
                      int[] pixels,
                      int startIndex)
Returns getWidth pixel values starting at offset x in scanline y in the receiver's data starting at startIndex.


getRGBs

public RGB[] getRGBs()
Returns an array of RGBs which comprise the indexed color table of the receiver, or null if the receiver has a direct color model.


getTransparencyMask

public ImageData getTransparencyMask()
Returns an ImageData which specifies the transparency mask information for the receiver, or null if the receiver has no transparency and is not an icon.


getTransparencyType

public int getTransparencyType()
Returns the image transparency type.


getByteOrder

int getByteOrder()
Returns the byte order of the receiver.


scaledTo

public ImageData scaledTo(int width,
                          int height)
Returns a copy of the receiver which has been stretched or shrunk to the specified size. If either the width or height is negative, the resulting image will be inverted in the associated axis.


setAlpha

public void setAlpha(int x,
                     int y,
                     int alpha)
Sets the alpha value at offset x in scanline y in the receiver's alpha data.


setAlphas

public void setAlphas(int x,
                      int y,
                      int putWidth,
                      byte[] alphas,
                      int startIndex)
Sets the alpha values starting at offset x in scanline y in the receiver's alpha data to the values from the array alphas starting at startIndex.


setPixel

public void setPixel(int x,
                     int y,
                     int pixelValue)
Sets the pixel value at offset x in scanline y in the receiver's data.


setPixels

public void setPixels(int x,
                      int y,
                      int putWidth,
                      byte[] pixels,
                      int startIndex)
Sets the pixel values starting at offset x in scanline y in the receiver's data to the values from the array pixels starting at startIndex.


setPixels

public void setPixels(int x,
                      int y,
                      int putWidth,
                      int[] pixels,
                      int startIndex)
Sets the pixel values starting at offset x in scanline y in the receiver's data to the values from the array pixels starting at startIndex.


bwPalette

static PaletteData bwPalette()
Returns a palette with 2 colors: black & white.


getMSBOffset

static int getMSBOffset(int mask)
Gets the offset of the most significant bit for the given mask.


closestMatch

static int closestMatch(int depth,
                        byte red,
                        byte green,
                        byte blue,
                        int redMask,
                        int greenMask,
                        int blueMask,
                        byte[] reds,
                        byte[] greens,
                        byte[] blues)
Finds the closest match.


convertPad

static final byte[] convertPad(byte[] data,
                               int width,
                               int height,
                               int depth,
                               int pad,
                               int newPad)

blit

static void blit(int op,
                 byte[] srcData,
                 int srcDepth,
                 int srcStride,
                 int srcOrder,
                 int srcX,
                 int srcY,
                 int srcWidth,
                 int srcHeight,
                 int srcRedMask,
                 int srcGreenMask,
                 int srcBlueMask,
                 int alphaMode,
                 byte[] alphaData,
                 int alphaStride,
                 int alphaX,
                 int alphaY,
                 byte[] destData,
                 int destDepth,
                 int destStride,
                 int destOrder,
                 int destX,
                 int destY,
                 int destWidth,
                 int destHeight,
                 int destRedMask,
                 int destGreenMask,
                 int destBlueMask,
                 boolean flipX,
                 boolean flipY)
Blits a direct palette image into a direct palette image.

Note: When the source and destination depth, order and masks are pairwise equal and the blitter operation is BLIT_SRC, the masks are ignored. Hence when not changing the image data format, 0 may be specified for the masks.


blit

static void blit(int op,
                 byte[] srcData,
                 int srcDepth,
                 int srcStride,
                 int srcOrder,
                 int srcX,
                 int srcY,
                 int srcWidth,
                 int srcHeight,
                 byte[] srcReds,
                 byte[] srcGreens,
                 byte[] srcBlues,
                 int alphaMode,
                 byte[] alphaData,
                 int alphaStride,
                 int alphaX,
                 int alphaY,
                 byte[] destData,
                 int destDepth,
                 int destStride,
                 int destOrder,
                 int destX,
                 int destY,
                 int destWidth,
                 int destHeight,
                 byte[] destReds,
                 byte[] destGreens,
                 byte[] destBlues,
                 boolean flipX,
                 boolean flipY)
Blits an index palette image into an index palette image.

Note: The source and destination red, green, and blue arrays may be null if no alpha blending or dither is to be performed.


blit

static void blit(int op,
                 byte[] srcData,
                 int srcDepth,
                 int srcStride,
                 int srcOrder,
                 int srcX,
                 int srcY,
                 int srcWidth,
                 int srcHeight,
                 byte[] srcReds,
                 byte[] srcGreens,
                 byte[] srcBlues,
                 int alphaMode,
                 byte[] alphaData,
                 int alphaStride,
                 int alphaX,
                 int alphaY,
                 byte[] destData,
                 int destDepth,
                 int destStride,
                 int destOrder,
                 int destX,
                 int destY,
                 int destWidth,
                 int destHeight,
                 int destRedMask,
                 int destGreenMask,
                 int destBlueMask,
                 boolean flipX,
                 boolean flipY)
Blits an index palette image into a direct palette image.

Note: The source and destination masks and palettes must always be fully specified.


blit

static void blit(int op,
                 byte[] srcData,
                 int srcDepth,
                 int srcStride,
                 int srcOrder,
                 int srcX,
                 int srcY,
                 int srcWidth,
                 int srcHeight,
                 int srcRedMask,
                 int srcGreenMask,
                 int srcBlueMask,
                 int alphaMode,
                 byte[] alphaData,
                 int alphaStride,
                 int alphaX,
                 int alphaY,
                 byte[] destData,
                 int destDepth,
                 int destStride,
                 int destOrder,
                 int destX,
                 int destY,
                 int destWidth,
                 int destHeight,
                 byte[] destReds,
                 byte[] destGreens,
                 byte[] destBlues,
                 boolean flipX,
                 boolean flipY)
Blits a direct palette image into an index palette image.

Note: The source and destination masks and palettes must always be fully specified.


getChannelShift

static int getChannelShift(int mask)
Computes the required channel shift from a mask.


getChannelWidth

static int getChannelWidth(int mask,
                           int shift)
Computes the required channel width (depth) from a mask.


getChannelField

static byte getChannelField(int data,
                            int mask)
Extracts a field from packed RGB data given a mask for that field.


createGradientBand

static ImageData createGradientBand(int width,
                                    int height,
                                    boolean vertical,
                                    RGB fromRGB,
                                    RGB toRGB,
                                    int redBits,
                                    int greenBits,
                                    int blueBits)
Creates an ImageData containing one band's worth of a gradient filled block. If vertical is true, the band must be tiled horizontally to fill a region, otherwise it must be tiled vertically.


buildPreciseGradientChannel

static final void buildPreciseGradientChannel(int from,
                                              int to,
                                              int steps,
                                              int bandWidth,
                                              int bandHeight,
                                              boolean vertical,
                                              byte[] bitmapData,
                                              int dp,
                                              int bytesPerLine)

buildDitheredGradientChannel

static final void buildDitheredGradientChannel(int from,
                                               int to,
                                               int steps,
                                               int bandWidth,
                                               int bandHeight,
                                               boolean vertical,
                                               byte[] bitmapData,
                                               int dp,
                                               int bytesPerLine,
                                               int bits)

fillGradientRectangle

static void fillGradientRectangle(GC gc,
                                  Device device,
                                  int x,
                                  int y,
                                  int width,
                                  int height,
                                  boolean vertical,
                                  RGB fromRGB,
                                  RGB toRGB,
                                  int redBits,
                                  int greenBits,
                                  int blueBits)
Renders a gradient onto a GC.

This is a GC helper.