12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- #define MAXXSIZE 8192
- #define HSIZE 5003
- typedef int code_int;
- typedef long int count_int;
- typedef unsigned char char_type;
- /*****************************************************************************
- * vgl_GIFWriter
- * This structure holds all the variables that were GLOBAL and non-constant
- * in the original Haeberli TOGIF source.
- *****************************************************************************
- */
- typedef struct _vgl_GIFWriter
- {
- unsigned long *buffer; /* standard 32 bit pixel buffer */
- unsigned short xsize; /* width of image */
- unsigned short ysize; /* height of image */
- int iscolor; /* color or bw flag */
- /************** getgifpix2() variables ************************/
- int currow;
- short rbuf[MAXXSIZE];
- short gbuf[MAXXSIZE];
- short bbuf[MAXXSIZE];
- short obuf[MAXXSIZE];
- /************** GIF specific variables *****************/
- unsigned short curx, cury;
- long countDown;
- int pass;
- int interlace;
- unsigned long cur_accum;
- int cur_bits;
- /************ GIF image compression variables **************/
- int n_bits; /* number of bits/code */
- int maxbits; /* user settable max # bits/code */
- code_int maxcode; /* maximum code, given n_bits */
- code_int maxmaxcode; /* should NEVER generate this code */
- count_int htab[HSIZE];
- unsigned short codetab[HSIZE];
- code_int hsize; /* for dynamic table sizing */
- code_int free_ent; /* first unused entry */
- int clear_flg;
- int offset;
- long int in_count; /* length of input */
- long int out_count; /* # of codes output (for debugging) */
- int g_init_bits;
- int clearCode;
- int EOFCode;
- FILE *g_outfile;
- int a_count;
- char accum[256];
- /************** gammawarp() variables ************************/
- float curgamma;
- short gamtab[256];
- /************** ditherrow() variables ************************/
- short **rtab;
- short **gtab;
- short **btab;
- } vgl_GIFWriter;
- vgl_GIFWriter *vgl_GIFWriterBegin(void);
- void vgl_GIFWriterWriteGIFFile(vgl_GIFWriter * gifwriter,
- unsigned long *buffer, int xsize, int ysize,
- int bwflag, FILE * outf);
- void vgl_GIFWriterEnd(vgl_GIFWriter * gifwriter);
|