src/lib/vGif.c 1.6
1.6 2010/06/05 19:29:54 braney
add support for 32-bit color (make USE_PNG have global consequence)
Index: src/lib/vGif.c
===================================================================
RCS file: /projects/compbio/cvsroot/kent/src/lib/vGif.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -b -B -U 1000000 -r1.5 -r1.6
--- src/lib/vGif.c 19 Aug 2009 22:28:36 -0000 1.5
+++ src/lib/vGif.c 5 Jun 2010 19:29:54 -0000 1.6
@@ -1,61 +1,64 @@
/* vGif - a virtual graphic object wrapper around
* an in-memory buffer destined to become a
* 256-color GIF file. */
#include "common.h"
#include "memgfx.h"
#include "vGfx.h"
#include "vGfxPrivate.h"
static char const rcsid[] = "$Id$";
+#ifndef COLOR32
+
struct memGif
/* Something that handles a gif. */
{
struct memGfx mg; /* Memory form. This needs to be first field. */
char *fileName; /* Gif file name. */
boolean useTransparency;
};
void memGifClose(struct memGif **pG)
/* Write out and close and free. */
{
struct memGif *g = *pG;
if (g != NULL)
{
struct memGfx *mg = (struct memGfx *)g;
mgSaveGif(mg, g->fileName, g->useTransparency);
freez(&g->fileName);
mgFree(&mg);
*pG = NULL;
}
}
struct vGfx *vgOpenGif(int width, int height, char *fileName, boolean useTransparency)
/* Open up something that will someday be a PostScript file. */
{
struct memGif *gif;
struct memGfx *mg;
struct vGfx *vg;
/* Set up virtual graphics with memory methods. */
vg = vgHalfInit(width, height);
vgMgMethods(vg);
vg->close = (vg_close)memGifClose;
/* Get our mg + fileName structure. We're forcing
* inheritence from mg essentially. */
AllocVar(gif);
gif->fileName = cloneString(fileName);
gif->useTransparency = useTransparency;
/* Fill in the mg part of this structure with normal memGfx. */
mg = mgNew(width, height);
mgClearPixels(mg);
gif->mg = *mg;
freez(&mg); /* We don't need this copy any more. */
vg->data = gif;
return vg;
}
+#endif