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

📄 whirlgif.h

📁 CA仿真模型中SLEUTH模型
💻 H
字号:
/* * whirlgif.h * * Copyright (c) 1997,1998,1999 by Hans Dinsen-Hansen * Copyright (c) 1995,1996 by Kevin Kadow * Copyright (c) 1990,1991,1992 by Mark Podlipec. * All rights reserved. * * This software may be freely copied, modified and redistributed * without fee provided that this copyright notice is preserved * intact on all copies and modified copies. * * There is no warranty or other guarantee of fitness of this software. * It is provided solely "as is". The author(s) disclaim(s) all * responsibility and liability with respect to this software's usage * or its effect upon hardware or computer systems. * * The Graphics Interchange format (c) is the Copyright property of * Compuserve Incorporated.  Gif(sm) is a Service Mark property of * Compuserve Incorporated. * */#define DA_REV  3.04/* common includes */#include <stdio.h>#include <stdlib.h>#ifdef _USE_STRINGS_H#include <strings.h>#else#include <string.h>#endif#ifdef _FOPEN_TXT_OR_BIN#define WRIBIN	"wb"#define REATXT	"rt"#define REABIN	"rb"#else/* Usually there is no need to distinguish between binary and txt */#define WRIBIN	"w"#define REATXT	"r"#define REABIN	"r"#endif#ifndef TRUE#define TRUE 1#endif#ifndef FALSE#define FALSE 0#endif/* define constants and defaults */    /* Default amount of inter-frame time */#define DEFAULT_TIME 10    /* If set to 1, Netscape 'loop' code will be added by default */#define DEFAULT_LOOP 0    /* If set to 1, use the colormaps from all images, not just the first */#define DEFAULT_USE_COLORMAP 0    /* Used in calculating the transparent color */#define TRANS_NONE 1#define TRANS_RGB 2#define TRANS_MAP 3#define DISP_NONE 0#define DISP_NOT  1#define DISP_BACK 2#define DISP_PREV 3#define DEFAULT_DISPOSAL DISP_NONE    /* set default disposal method here to any of the DISP_XXXX values */#define BIGSTRING 256#define MAXVAL  4096        /* maxval of lzw coding size */#define MAXVALP 4096#define TERMIN 'T'#define LOOKUP 'L'#define SEARCH 'S'#define noOfArrays 20/* defines the amount of memory set aside in the encoding for the * LOOKUP type nodes; for a 256 color GIF, the number of LOOKUP * nodes will be <= noOfArrays, for a 128 color GIF the number of * LOOKUP nodes will be <= 2 * noOfArrays, etc.  *//* define shorthand for various types */#define LONG int#define ULONG unsigned int#define BYTE char#define UBYTE unsigned char#define SHORT short#define USHORT unsigned short#define WORD short int#define UWORD unsigned short int/* definition of various structures */typedef struct Transparency {  int type;  UBYTE valid;  UBYTE map;  UBYTE red;  UBYTE green;  UBYTE blue;  } Transparency;typedef struct Global {  Transparency trans;  int left;  int top;  unsigned int time;  unsigned short disposal;  } Global;typedef struct GifScreenHdr {  int width;  int height;  UBYTE m;  UBYTE cres;  UBYTE pixbits;  UBYTE bc;  UBYTE aspect; } GifScreenHdr;typedef union GifColor {  struct cmap {    UBYTE red;    UBYTE green;    UBYTE blue;    UBYTE pad;   } cmap;  ULONG pixel; } GifColor;typedef struct GifImageHdr {  int left;  int top;  int width;  int height;  UBYTE m;  UBYTE i;  UBYTE pixbits;  UBYTE reserved; } GifImageHdr;typedef struct GifTree {  char typ;             /* terminating, lookup, or search */  int code;             /* the code to be output */  UBYTE ix;             /* the color map index */  struct GifTree **node, *nxt, *alt;} GifTree;/* define inline functions */#define GifPutShort(i, fout)    {fputc(i&0xff, fout); fputc(i>>8, fout);}#define GifGetShort(fin)        (Xgetc(fin) | Xgetc(fin)<<8)/* forward declaration of the functions  */char *AddCodeToBuffer(int, short, char *);void CalcTrans(char *);void ClearTree(int, GifTree *);void GifClearTable();void GifComment(FILE *, char *);void GifDecode(FILE *, UBYTE *, GifImageHdr);void GifEncode(FILE *, UBYTE *, int, int);void GifLoop(FILE *, unsigned int);void GifReadFile(FILE *, char *, int);void GifScreenHeader(FILE *, FILE *, int);UBYTE *GifSendData(UBYTE *, int, UBYTE *);void ReadImageHeader(FILE *);void SetOffset(char *);long sq(UBYTE, UBYTE);void TheEnd();void TheEnd1(char *);void Usage();void WriteImageHeader(FILE *);UBYTE Xgetc(FILE *);

⌨️ 快捷键说明

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