//******************************************************************************
// IndexGif89Frame.java
//******************************************************************************
//package net.jmge.gif;
package com.idega.graphics.encoder.gif;
//==============================================================================
/** Instances of this Gif89Frame subclass are constructed from bitmaps in the
* form of color-index pixels, which accords with a GIF's native palettized
* color model. The class is useful when complete control over a GIF's color
* palette is desired. It is also much more efficient when one is using an
* algorithmic frame generator that isn't interested in RGB values (such
* as a cellular automaton).
* <p>
* Objects of this class are normally added to a Gif89Encoder object that has
* been provided with an explicit color table at construction. While you may
* also add them to "auto-map" encoders without an exception being thrown,
* there obviously must be at least one DirectGif89Frame object in the sequence
* so that a color table may be detected.
*
* @version 0.90 beta (15-Jul-2000)
* @author J. M. G. Elliott (tep@jmge.net)
* @see Gif89Encoder
* @see Gif89Frame
* @see DirectGif89Frame
*/
public class IndexGif89Frame extends Gif89Frame {
//----------------------------------------------------------------------------
/** Construct a IndexGif89Frame from color-index pixel data.
*
* @param width
* Width of the bitmap.
* @param height
* Height of the bitmap.
* @param ci_pixels
* Array containing at least width*height color-index pixels.
*/
public IndexGif89Frame(int width, int height, byte ci_pixels[])
{
this.theWidth = width;
this.theHeight = height;
this.ciPixels = new byte[this.theWidth * this.theHeight];
System.arraycopy(ci_pixels, 0, this.ciPixels, 0, this.ciPixels.length);
}
//----------------------------------------------------------------------------
Object getPixelSource() { return this.ciPixels; }
}