diff options
Diffstat (limited to 'src/gifenc.h')
-rw-r--r-- | src/gifenc.h | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/gifenc.h b/src/gifenc.h deleted file mode 100644 index cca3283..0000000 --- a/src/gifenc.h +++ /dev/null @@ -1,90 +0,0 @@ -/****************************************************************************** - * - * $Id$ - * - * - * Copyright (C) 1997-2009 by Dimitri van Heesch. - * - * Permission to use, copy, modify, and distribute this software and its - * documentation under the terms of the GNU General Public License is hereby - * granted. No representations are made about the suitability of this software - * for any purpose. It is provided "as is" without express or implied warranty. - * See the GNU General Public License for more details. - * - * All output generated with Doxygen is not covered by this license. - * - */ - -#ifndef _GIFENC_H -#define _GIFENC_H -#include <qfile.h> - -typedef unsigned char Byte; -typedef unsigned short Word; - -struct Color -{ - Byte red; - Byte green; - Byte blue; -}; - -const int hashTableSize=5003; // size of the hash table - -class GifEncoder -{ - public: - GifEncoder(Byte *rawBytes,Color *p,int w,int h,Byte d,int t); - ~GifEncoder(); - void writeGIF(QFile &fp); - - protected: - void putWord( Word w, QFile &fp ); - void putByte( Byte b, QFile &fp ); - void compress(int csize, QFile &fp); - void writeCode(int code, QFile &fp); - void writeChar( Byte c, QFile &fp ); - void writePacket(QFile &fp); - void clearHashTable(); - int nextPixel() - { - if ( --numPixels < 0) return EOF; - return *dataPtr++; - } - - - private: - const int colorResolution; // 8 bit for Red, Green and Blue; - const int globalPaletteFlag; - const int bits; - const int maxMaxCode; - - // image variables - int width; // image width - int height; // image height - Byte depth; // bits per CLUT entry - int transIndex; // index of the transparant color; -1 = none - Color *palette; // pointer to the color palette - int numPixels; // total number of pixel (i.e. width * height) - Byte *data; // pointer to the image data (one byte per pixel) - Byte *dataPtr; // pointer located at the current pixel. - - // compression variables - bool clearFlag; // clear hash table flag - int freeEntry; // first free entry in the hash table - unsigned int curAccum; // encoded bit accumulator - int curBits; // number of bits in curAccum - Byte accum[256]; // Buffer for a packet - int aCount; // Number of characters so far in this 'packet' - int nBits; // number of bits/code - int maxCode; // maximum code, given n_bits - int initBits; // initial number of bits - int EOFCode; // code for signaling the end of the file - int ClearCode; // the clear code for the decompressor - - // tables - int htab[hashTableSize]; // the hash table - Word codetab[hashTableSize]; // the code table -}; - -#endif |