00001 #ifndef DEANIMATE_H_INCLUDED 00002 #define DEANIMATE_H_INCLUDED 00003 #define DEANIMATE_H_VERSION "$Id: deanimate.h,v 2.0 2002/06/04 14:34:21 jongfoster Exp $" 00004 /* ****************************************************************** 00005 * $Source: /cvsroot/ijbswa/current/src/deanimate.h,v $ 00006 * ****************************************************************** 00007 * 00008 * Written by and Copyright (C) 2001 Andreas S. Oesterhelt 00009 * for the Privoxy team. http://www.privoxy.org/ 00010 * 00011 * Based on ideas from the Image::DeAnim Perl module by 00012 * Ken MacFarlane, <ksm+cpan@universal.dca.net> 00013 * 00014 * Based on the Internet Junkbuster originally written 00015 * by and Copyright (C) 1997 Anonymous Coders and 00016 * Junkbusters Corporation. http://www.junkbusters.com 00017 * 00018 * This program is free software; you can redistribute it 00019 * and/or modify it under the terms of the GNU General 00020 * Public License as published by the Free Software 00021 * Foundation; either version 2 of the License, or (at 00022 * your option) any later version. 00023 * 00024 * This program is distributed in the hope that it will 00025 * be useful, but WITHOUT ANY WARRANTY; without even the 00026 * implied warranty of MERCHANTABILITY or FITNESS FOR A 00027 * PARTICULAR PURPOSE. See the GNU General Public 00028 * License for more details. 00029 * 00030 * The GNU General Public License should be included with 00031 * this file. If not, you can view it at 00032 * http://www.gnu.org/copyleft/gpl.html 00033 * or write to the Free Software Foundation, Inc., 59 00034 * Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00035 * 00036 * *****************************************************************/ 00037 /** 00038 * @file 00039 * 00040 * Declares functions to deanimate GIF images on the fly. 00041 * 00042 * Functions declared include: gif_deanimate, buf_free 00043 * 00044 * 00045 * 00046 * $Log: deanimate.h,v $ 00047 * Revision 2.0 2002/06/04 14:34:21 jongfoster 00048 * Moving source files to src/ 00049 * 00050 * Revision 1.8 2002/03/26 22:29:54 swa 00051 * we have a new homepage! 00052 * 00053 * Revision 1.7 2002/03/24 13:25:43 swa 00054 * name change related issues 00055 * 00056 * Revision 1.6 2002/03/08 17:46:04 jongfoster 00057 * Fixing int/size_t warnings 00058 * 00059 * Revision 1.5 2002/03/07 03:46:17 oes 00060 * Fixed compiler warnings 00061 * 00062 * Revision 1.4 2001/07/29 18:50:04 jongfoster 00063 * Fixing "extern C" block, and renaming #define _DEANIMATE_H 00064 * 00065 * Revision 1.3 2001/07/18 12:29:05 oes 00066 * Updated prototype for gif_deanimate 00067 * 00068 * Revision 1.2 2001/07/13 13:46:20 oes 00069 * Introduced GIF deanimation feature 00070 * 00071 * 00072 */ 00073 /* *****************************************************************/ 00074 00075 00076 #ifdef __cplusplus 00077 extern "C" { 00078 #endif 00079 00080 /* 00081 * A struct that holds a buffer, a read/write offset, 00082 * and the buffer's capacity. 00083 */ 00084 struct binbuffer 00085 { 00086 char *buffer; 00087 size_t offset; 00088 size_t size; 00089 }; 00090 00091 /* 00092 * Function prototypes 00093 */ 00094 extern int gif_deanimate(struct binbuffer *src, struct binbuffer *dst, int get_first_image); 00095 extern void buf_free(struct binbuffer *buf); 00096 00097 /* 00098 * Revision control strings from this header and associated .c file 00099 */ 00100 00101 /** Version information about deanimate.c. */ 00102 extern const char deanimate_rcs[]; 00103 00104 /** Version information about deanimate.h. */ 00105 extern const char deanimate_h_rcs[]; 00106 00107 #ifdef __cplusplus 00108 } /* extern "C" */ 00109 #endif 00110 00111 #endif /* ndef DEANIMATE_H_INCLUDED */ 00112 00113 /* 00114 Local Variables: 00115 tab-width: 3 00116 end: 00117 */