org.eclipse.swt.graphics
Class ImageData

java.lang.Object
  |
  +--org.eclipse.swt.graphics.ImageData
All Implemented Interfaces:
Cloneable, org.eclipse.swt.internal.CloneableCompatibility

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

Unsafe:


Field Summary
 int alpha
          Suppressed: 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
          Suppressed: 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
          Suppressed: The number of bytes per scanline.
 byte[] data
          Suppressed: The pixel data of the image.
 int delayTime
          Suppressed: The time to delay before displaying the next image in an animation (this field corresponds to the GIF89a Delay Time value).
 int depth
          Suppressed: The color depth of the image, in bits per pixel.
 int disposalMethod
          Suppressed: 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
          Suppressed: The height of the image, in pixels.
(package private) static int LSB_FIRST
          Byte and bit order constants.
 byte[] maskData
          Suppressed: An icon-specific field containing the data from the icon mask.
 int maskPad
          Suppressed: 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
          Suppressed: The color table for the image.
 int scanlinePad
          Suppressed: The scanline padding.
 int transparentPixel
          Suppressed: The transparent pixel.
 int type
          Suppressed: 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
          Suppressed: The width of the image, in pixels.
 int x
          Suppressed: 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
          Suppressed: 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(InputStream stream)
          Suppressed: Constructs an ImageData loaded from the specified input stream.
  ImageData(int width, int height, int depth, PaletteData palette)
          Suppressed: 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)
          Suppressed: 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(String filename)
          Suppressed: 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)
           
 Object clone()
          Suppressed: 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 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)
          Suppressed: 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)
          Suppressed: 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)
          Suppressed: 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)
          Suppressed: 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)
          Suppressed: Returns getWidth pixel values starting at offset x in scanline y in the receiver's data starting at startIndex.
 RGB[] getRGBs()
          Suppressed: 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()
          Suppressed: 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()
          Suppressed: 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)
          Suppressed: Invokes internal SWT functionality to create a new instance of this class.
 ImageData scaledTo(int width, int height)
          Suppressed: 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)
          Suppressed: 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)
          Suppressed: 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)
          Suppressed: 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)
          Suppressed: 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)
          Suppressed: 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
Suppressed: The width of the image, in pixels.


height

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


depth

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

Note that a depth of 8 or less does not necessary 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
Suppressed: 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
Suppressed: The number of bytes per scanline.

This is a multiple of the scanline padding.


data

public byte[] data
Suppressed: 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
Suppressed: The color table for the image.


transparentPixel

public int transparentPixel
Suppressed: The transparent pixel.

Pixels with this value are transparent.

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


maskData

public byte[] maskData
Suppressed: 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
Suppressed: 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
Suppressed: 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
Suppressed: 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
Suppressed: 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
Suppressed: 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
Suppressed: 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
Suppressed: 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
Suppressed: 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.


BLIT_ALPHA

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


BLIT_DITHER

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


ALPHA_OPAQUE

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


ALPHA_TRANSPARENT

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


ALPHA_CHANNEL_SEPARATE

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


ALPHA_CHANNEL_SOURCE

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


ALPHA_MASK_UNPACKED

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


ALPHA_MASK_PACKED

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


ALPHA_MASK_INDEX

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


ALPHA_MASK_RGB

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


LSB_FIRST

static final int LSB_FIRST
Byte and bit order constants.


MSB_FIRST

static final int MSB_FIRST

TYPE_GENERIC_8

private static final int TYPE_GENERIC_8
Data types (internal)


TYPE_GENERIC_16_MSB

private static final int TYPE_GENERIC_16_MSB
Data types (internal)


TYPE_GENERIC_16_LSB

private static final int TYPE_GENERIC_16_LSB
Data types (internal)


TYPE_GENERIC_24

private static final int TYPE_GENERIC_24
Data types (internal)


TYPE_GENERIC_32_MSB

private static final int TYPE_GENERIC_32_MSB
Data types (internal)


TYPE_GENERIC_32_LSB

private static final int TYPE_GENERIC_32_LSB
Data types (internal)


TYPE_INDEX_8

private static final int TYPE_INDEX_8
Data types (internal)


TYPE_INDEX_4

private static final int TYPE_INDEX_4
Data types (internal)


TYPE_INDEX_2

private static final int TYPE_INDEX_2
Data types (internal)


TYPE_INDEX_1_MSB

private static final int TYPE_INDEX_1_MSB
Data types (internal)


TYPE_INDEX_1_LSB

private static final int TYPE_INDEX_1_LSB
Data types (internal)

Constructor Detail

ImageData

public ImageData(int width,
                 int height,
                 int depth,
                 PaletteData palette)
Suppressed: 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.

Parameters:
width - the width of the image
height - the height of the image
depth - the depth of the image
palette - the palette of the image (must not be null)

ImageData

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

Parameters:
width - the width of the image
height - the height of the image
depth - the depth of the image
palette - the palette of the image
scanlinePad - the padding of each line, in bytes
data - the data of the image

ImageData

public ImageData(InputStream stream)
Suppressed: 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().

Parameters:
stream - the input stream to load the image from (must not be null)
See Also:
ImageLoader.load(java.io.InputStream)

ImageData

public ImageData(String filename)
Suppressed: 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().

Parameters:
filename - the name of the file to load the image from (must not be null)

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)
Suppressed: 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 Object clone()
Suppressed: 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.

Overrides:
clone in class Object
Returns:
a copy of the receiver.
See Also:
java.lang.Cloneable

getAlpha

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

Parameters:
x - the x coodinate of the pixel to get the alpha value of
y - the y coordinate of the pixel to get the alpha value of
Returns:
the alpha value at the given coordinates

getAlphas

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

Parameters:
x - the x position of the pixel to begin getting alpha values
y - the y position of the pixel to begin getting alpha values
getWidth - the width of the data to get
alphas - the buffer in which to put the alpha values
startIndex - the offset into the image to begin getting alpha values

getPixel

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

Parameters:
x - the x position of the pixel to get
y - the y position of the pixel to get
Returns:
the pixel at the given coordinates

getPixels

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

Parameters:
x - the x position of the first pixel to get
y - the y position of the first pixel to get
getWidth - the width of the data to get
pixels - the buffer in which to put the pixels
startIndex - the offset into the byte array to begin storing pixels

getPixels

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

Parameters:
x - the x position of the first pixel to get
y - the y position of the first pixel to get
getWidth - the width of the data to get
pixels - the buffer in which to put the pixels
startIndex - the offset into the buffer to begin storing pixels

getRGBs

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

Returns:
the RGB values for the image or null if direct color
See Also:
PaletteData.getRGBs()

getTransparencyMask

public ImageData getTransparencyMask()
Suppressed: 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.

Returns:
the transparency mask or null if none exists

getTransparencyType

public int getTransparencyType()
Suppressed: Returns the image transparency type.

Returns:
the receiver's transparency type

getByteOrder

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

Returns:
MSB_FIRST or LSB_FIRST

scaledTo

public ImageData scaledTo(int width,
                          int height)
Suppressed: 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.

Parameters:
width - the width of the new ImageData
height - the height of the new ImageData
Returns:
a scaled copy of the image

setAlpha

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

Parameters:
x - the x coordinate of the alpha value to set
y - the y coordinate of the alpha value to set
alpha - the value to set the alpha to

setAlphas

public void setAlphas(int x,
                      int y,
                      int putWidth,
                      byte[] alphas,
                      int startIndex)
Suppressed: 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.

Parameters:
x - the x coordinate of the pixel to being setting the alpha values
y - the y coordinate of the pixel to being setting the alpha values
putWidth - the width of the alpha values to set
alphas - the alpha values to set
startIndex - the index at which to begin setting

setPixel

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

Parameters:
x - the x coordinate of the pixel to set
y - the y coordinate of the pixel to set
pixelValue - the value to set the pixel to

setPixels

public void setPixels(int x,
                      int y,
                      int putWidth,
                      byte[] pixels,
                      int startIndex)
Suppressed: 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.

Parameters:
x - the x position of the pixel to set
y - the y position of the pixel to set
putWidth - the width of the pixels to set
pixels - the pixels to set
startIndex - the index at which to begin setting

setPixels

public void setPixels(int x,
                      int y,
                      int putWidth,
                      int[] pixels,
                      int startIndex)
Suppressed: 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.

Parameters:
x - the x position of the pixel to set
y - the y position of the pixel to set
putWidth - the width of the pixels to set
pixels - the pixels to set
startIndex - the index at which to begin setting

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.


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.

Parameters:
op - the blitter operation: a combination of BLIT_xxx flags (see BLIT_xxx constants)
srcData - the source byte array containing image data
srcDepth - the source depth: one of 8, 16, 24, 32
srcStride - the source number of bytes per line
srcOrder - the source byte ordering: one of MSB_FIRST or LSB_FIRST; ignored if srcDepth is not 16 or 32
srcX - the top-left x-coord of the source blit region
srcY - the top-left y-coord of the source blit region
srcWidth - the width of the source blit region
srcHeight - the height of the source blit region
srcRedMask - the source red channel mask
srcGreenMask - the source green channel mask
srcBlueMask - the source blue channel mask
alphaMode - the alpha blending or mask mode, may be an integer 0-255 for global alpha; ignored if BLIT_ALPHA not specified in the blitter operations (see ALPHA_MODE_xxx constants)
alphaData - the alpha blending or mask data, varies depending on the value of alphaMode and sometimes ignored
alphaStride - the alpha data number of bytes per line
alphaX - the top-left x-coord of the alpha blit region
alphaY - the top-left y-coord of the alpha blit region
destData - the destination byte array containing image data
destDepth - the destination depth: one of 8, 16, 24, 32
destStride - the destination number of bytes per line
destOrder - the destination byte ordering: one of MSB_FIRST or LSB_FIRST; ignored if destDepth is not 16 or 32
destX - the top-left x-coord of the destination blit region
destY - the top-left y-coord of the destination blit region
destWidth - the width of the destination blit region
destHeight - the height of the destination blit region
destRedMask - the destination red channel mask
destGreenMask - the destination green channel mask
destBlueMask - the destination blue channel mask
flipX - if true the resulting image is flipped along the vertical axis
flipY - if true the resulting image is flipped along the horizontal axis

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.

Parameters:
op - the blitter operation: a combination of BLIT_xxx flags (see BLIT_xxx constants)
srcData - the source byte array containing image data
srcDepth - the source depth: one of 1, 2, 4, 8
srcStride - the source number of bytes per line
srcOrder - the source byte ordering: one of MSB_FIRST or LSB_FIRST; ignored if srcDepth is not 1
srcX - the top-left x-coord of the source blit region
srcY - the top-left y-coord of the source blit region
srcWidth - the width of the source blit region
srcHeight - the height of the source blit region
srcReds - the source palette red component intensities
srcGreens - the source palette green component intensities
srcBlues - the source palette blue component intensities
alphaMode - the alpha blending or mask mode, may be an integer 0-255 for global alpha; ignored if BLIT_ALPHA not specified in the blitter operations (see ALPHA_MODE_xxx constants)
alphaData - the alpha blending or mask data, varies depending on the value of alphaMode and sometimes ignored
alphaStride - the alpha data number of bytes per line
alphaX - the top-left x-coord of the alpha blit region
alphaY - the top-left y-coord of the alpha blit region
destData - the destination byte array containing image data
destDepth - the destination depth: one of 1, 2, 4, 8
destStride - the destination number of bytes per line
destOrder - the destination byte ordering: one of MSB_FIRST or LSB_FIRST; ignored if destDepth is not 1
destX - the top-left x-coord of the destination blit region
destY - the top-left y-coord of the destination blit region
destWidth - the width of the destination blit region
destHeight - the height of the destination blit region
destReds - the destination palette red component intensities
destGreens - the destination palette green component intensities
destBlues - the destination palette blue component intensities
flipX - if true the resulting image is flipped along the vertical axis
flipY - if true the resulting image is flipped along the horizontal axis

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.

Parameters:
op - the blitter operation: a combination of BLIT_xxx flags (see BLIT_xxx constants)
srcData - the source byte array containing image data
srcDepth - the source depth: one of 1, 2, 4, 8
srcStride - the source number of bytes per line
srcOrder - the source byte ordering: one of MSB_FIRST or LSB_FIRST; ignored if srcDepth is not 1
srcX - the top-left x-coord of the source blit region
srcY - the top-left y-coord of the source blit region
srcWidth - the width of the source blit region
srcHeight - the height of the source blit region
srcReds - the source palette red component intensities
srcGreens - the source palette green component intensities
srcBlues - the source palette blue component intensities
alphaMode - the alpha blending or mask mode, may be an integer 0-255 for global alpha; ignored if BLIT_ALPHA not specified in the blitter operations (see ALPHA_MODE_xxx constants)
alphaData - the alpha blending or mask data, varies depending on the value of alphaMode and sometimes ignored
alphaStride - the alpha data number of bytes per line
alphaX - the top-left x-coord of the alpha blit region
alphaY - the top-left y-coord of the alpha blit region
destData - the destination byte array containing image data
destDepth - the destination depth: one of 8, 16, 24, 32
destStride - the destination number of bytes per line
destOrder - the destination byte ordering: one of MSB_FIRST or LSB_FIRST; ignored if destDepth is not 16 or 32
destX - the top-left x-coord of the destination blit region
destY - the top-left y-coord of the destination blit region
destWidth - the width of the destination blit region
destHeight - the height of the destination blit region
destRedMask - the destination red channel mask
destGreenMask - the destination green channel mask
destBlueMask - the destination blue channel mask
flipX - if true the resulting image is flipped along the vertical axis
flipY - if true the resulting image is flipped along the horizontal axis

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.

Parameters:
op - the blitter operation: a combination of BLIT_xxx flags (see BLIT_xxx constants)
srcData - the source byte array containing image data
srcDepth - the source depth: one of 8, 16, 24, 32
srcStride - the source number of bytes per line
srcOrder - the source byte ordering: one of MSB_FIRST or LSB_FIRST; ignored if srcDepth is not 16 or 32
srcX - the top-left x-coord of the source blit region
srcY - the top-left y-coord of the source blit region
srcWidth - the width of the source blit region
srcHeight - the height of the source blit region
srcRedMask - the source red channel mask
srcGreenMask - the source green channel mask
srcBlueMask - the source blue channel mask
alphaMode - the alpha blending or mask mode, may be an integer 0-255 for global alpha; ignored if BLIT_ALPHA not specified in the blitter operations (see ALPHA_MODE_xxx constants)
alphaData - the alpha blending or mask data, varies depending on the value of alphaMode and sometimes ignored
alphaStride - the alpha data number of bytes per line
alphaX - the top-left x-coord of the alpha blit region
alphaY - the top-left y-coord of the alpha blit region
destData - the destination byte array containing image data
destDepth - the destination depth: one of 1, 2, 4, 8
destStride - the destination number of bytes per line
destOrder - the destination byte ordering: one of MSB_FIRST or LSB_FIRST; ignored if destDepth is not 1
destX - the top-left x-coord of the destination blit region
destY - the top-left y-coord of the destination blit region
destWidth - the width of the destination blit region
destHeight - the height of the destination blit region
destReds - the destination palette red component intensities
destGreens - the destination palette green component intensities
destBlues - the destination palette blue component intensities
flipX - if true the resulting image is flipped along the vertical axis
flipY - if true the resulting image is flipped along the horizontal axis

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.

Parameters:
width - the width of the region to be filled
height - the height of the region to be filled
vertical - if true sweeps from top to bottom, else sweeps from left to right
fromRGB - the color to start with
toRGB - the color to end with
redBits - the number of significant red bits, 0 for palette modes
greenBits - the number of significant green bits, 0 for palette modes
blueBits - the number of significant blue bits, 0 for palette modes
Returns:
the new ImageData

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.

Parameters:
gc - the GC to render the gradient onto
device - the device the GC belongs to
x - the top-left x coordinate of the region to be filled
y - the top-left y coordinate of the region to be filled
width - the width of the region to be filled
height - the height of the region to be filled
vertical - if true sweeps from top to bottom, else sweeps from left to right
fromRGB - the color to start with
toRGB - the color to end with
redBits - the number of significant red bits, 0 for palette modes
greenBits - the number of significant green bits, 0 for palette modes
blueBits - the number of significant blue bits, 0 for palette modes


comments?