Doxygen Source Code Documentation
whirlgif.h
Go to the documentation of this file.00001 00002 /* 00003 * whirlgif.h 00004 * 00005 * Copyright (C) 1995,1996 by Kevin Kadow 00006 * Copyright (C) 1990,1991,1992 by Mark Podlipec. 00007 * All rights reserved. 00008 * 00009 * This software may be freely copied, modified and redistributed 00010 * without fee provided that this copyright notice is preserved 00011 * intact on all copies and modified copies. 00012 * 00013 * There is no warranty or other guarantee of fitness of this software. 00014 * It is provided solely "as is". The author(s) disclaim(s) all 00015 * responsibility and liability with respect to this software's usage 00016 * or its effect upon hardware or computer systems. 00017 * 00018 */ 00019 00020 /* Default amount of inter-frame time */ 00021 #define DEFAULT_TIME 10 00022 /* If set to 1, Netscape 'loop' code will be added by default */ 00023 #define DEFAULT_LOOP 0 00024 /* If set to 1, use the colormaps from all images, not just the first */ 00025 #define DEFAULT_USE_COLORMAP 0 00026 00027 #include <stdio.h> 00028 00029 00030 #define BIGSTRING 256 00031 #define LONG int 00032 #define ULONG unsigned int 00033 #define BYTE char 00034 #define UBYTE unsigned char 00035 #define SHORT short 00036 #define USHORT unsigned short 00037 #define WORD short int 00038 #define UWORD unsigned short int 00039 00040 #ifndef TRUE 00041 #define TRUE 1 00042 #endif 00043 #ifndef FALSE 00044 #define FALSE 0 00045 #endif 00046 00047 /* Used in calculating the transparent color */ 00048 #define TRANS_NONE 1 00049 #define TRANS_RGB 2 00050 #define TRANS_MAP 3 00051 00052 typedef struct 00053 { 00054 int type; 00055 UBYTE valid; 00056 UBYTE map; 00057 UBYTE red; 00058 UBYTE green; 00059 UBYTE blue; 00060 } Transparency; 00061 00062 typedef struct 00063 { 00064 Transparency trans; 00065 int left; 00066 int top; 00067 unsigned int time; 00068 } Global; 00069 00070 typedef struct 00071 { 00072 int width; 00073 int height; 00074 UBYTE m; 00075 UBYTE cres; 00076 UBYTE pixbits; 00077 UBYTE bc; 00078 } GIF_Screen_Hdr; 00079 00080 typedef union 00081 { 00082 struct 00083 { 00084 UBYTE red; 00085 UBYTE green; 00086 UBYTE blue; 00087 UBYTE pad; 00088 } cmap; 00089 ULONG pixel; 00090 } GIF_Color; 00091 00092 typedef struct 00093 { 00094 int left; 00095 int top; 00096 int width; 00097 int height; 00098 UBYTE m; 00099 UBYTE i; 00100 UBYTE pixbits; 00101 UBYTE reserved; 00102 } GIF_Image_Hdr; 00103 00104 typedef struct 00105 { 00106 UBYTE valid; 00107 UBYTE data; 00108 UBYTE first; 00109 UBYTE res; 00110 int last; 00111 } GIF_Table; 00112 00113