Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.swt.graphics
Class PaletteData

    java.lang.Object
      org.eclipse.swt.graphics.PaletteData

public final class PaletteData
extends Object

Instances of this class describe the color data used by an image.

Depending on the depth of the image, the PaletteData can take one of two forms, indicated by the isDirect field:

isDirect is false
  If isDirect is `false`, this palette is an indexed palette which maps pixel values to RGBs. The actual RGB values may be retrieved by using the getRGBs() method.
isDirect is true
  If isDirect is `true`, this palette is a direct color palette. Instead of containing RGB values, it contains red, green and blue mask and shift information which indicates how the color components may be extracted from a given pixel. This means that the RGB value is actually encoded in the pixel value.

  In this case, the shift data is the number of bits required to shift the RGB value to the left in order to align the high bit of the corresponding mask with the high bit of the first byte. This number may be negative, so care must be taken when shifting. For example, with a red mask of 0xFF0000, the red shift would be -16. With a red mask of 0x1F, the red shift would be 3.

See Also:
  `Image`, `RGB`

Field Summary
`int` | `blueMask` the blue mask for a direct palette
`int` | `blueShift` the blue shift for a direct palette
`RGB[]` | `colors` the RGB values for an indexed palette, where the indices of the array correspond to pixel values
`int` | `greenMask` the green mask for a direct palette
`int` | `greenShift` the green shift for a direct palette
`boolean` | `isDirect` true if the receiver is a direct palette, and false otherwise
`int` | `redMask` the red mask for a direct palette
`int` | `redShift` the red shift for a direct palette

Constructor Summary
`PaletteData(int redMask, int greenMask, int blueMask)` Constructs a new direct palette given the red, green and blue masks.
`PaletteData(RGB[] colors)` Constructs a new indexed palette given an array of RGB values.

Method Summary
`int` | `getPixel(RGB rgb)` Returns the pixel value corresponding to the given `RBG`.
`RGB` | `getRGB(int pixel)` Returns an `RGB` corresponding to the given pixel value.
`RGB[]` | `getRGBs()` Returns all the RGB values in the receiver if it is an indexed palette, or null if it is a direct palette.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### isDirect

    public boolean isDirect

  true if the receiver is a direct palette, and false otherwise

### colors

    public RGB[] colors

  the RGB values for an indexed palette, where the indices of the array correspond to pixel values

### redMask

    public int redMask

  the red mask for a direct palette

### greenMask

    public int greenMask

  the green mask for a direct palette

### blueMask

    public int blueMask

  the blue mask for a direct palette

### redShift

    public int redShift

  the red shift for a direct palette

### greenShift

    public int greenShift

  the green shift for a direct palette

### blueShift

    public int blueShift

  the blue shift for a direct palette

Constructor Detail

### PaletteData

    public PaletteData(RGB[] colors)

  Constructs a new indexed palette given an array of RGB values.

Parameters:
  `colors` - the array of `RGB`s for the palette
Throws:
  `IllegalArgumentException` -
  - ERROR_NULL_ARGUMENT - if the argument is null

### PaletteData

    public PaletteData(int redMask,
                       int greenMask,
                       int blueMask)

  Constructs a new direct palette given the red, green and blue masks.

Parameters:
  `redMask` - the red mask
  `greenMask` - the green mask
  `blueMask` - the blue mask

Method Detail

### getPixel

    public int getPixel(RGB rgb)

  Returns the pixel value corresponding to the given `RBG`.

  Parameters:
    `rgb` - the RGB to get the pixel value for
  Returns:
    the pixel value for the given RGB
  Throws:
    `IllegalArgumentException` -
    - ERROR_NULL_ARGUMENT - if the argument is null
    - ERROR_INVALID_ARGUMENT - if the RGB is not found in the palette

### getRGB

    public RGB getRGB(int pixel)

  Returns an `RGB` corresponding to the given pixel value.

  Parameters:
    `pixel` - the pixel to get the RGB value for
  Returns:
    the RGB value for the given pixel
  Throws:
    `IllegalArgumentException` -
    - ERROR_NULL_ARGUMENT - if the argument is null
    - ERROR_INVALID_ARGUMENT - if the pixel does not exist in the palette

### getRGBs

    public RGB[] getRGBs()

  Returns all the RGB values in the receiver if it is an indexed palette, or null if it is a direct palette.

  Returns:
    the `RGB`s for the receiver or null

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Eclipse Platform Release 3.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2004. All rights reserved.