⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gifenc.h

📁 doxygen(一个自动从源代码生成文档的工具)的源代码
💻 H
字号:
/****************************************************************************** * * $Id: gifenc.h,v 1.6 2001/03/19 19:27:40 root Exp $ * * * Copyright (C) 1997-2001 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. * * Documents produced by Doxygen are derivative works derived from the * input used in their production; they are not affected 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);    int  nextPixel()    {      if ( --numPixels < 0) return EOF;      return *dataPtr++;    }    void clearHashTable();      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

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -