#ifdef HAVE_JPEGLIB_H
#include <jpeglib.h>
#define _JPEGLIB_INCLUDED_
-#endif //HAVE_JPEGLIB_H
-#endif //HAVE_LIBJPEG
+#endif // HAVE_JPEGLIB_H
+#endif // HAVE_LIBJPEG
+
+#ifdef HAVE_LIBZ
+#ifdef HAVE_ZLIB_H
+#include <zlib.h>
+#define _ZLIB_INCLUDED_
+#endif // HAVE_ZLIB_H
+#endif // HAVE_LIBZ
// Win32 support may be broken since it was only tested in an older version for Watcom C
#ifdef __NT__
if (!swf) return -1;
memset(swf,0x00,sizeof(SWF));
- { char b[32]; // Header lesen
+ { char b[32]; // read Header
TAG t1;
TAG * t;
GetU8(&t1);
lseek(handle,GetTagPos(&t1)-1,SEEK_SET);
- // Tags lesen und verketten
+ // reda tags and connect to list
t = &t1;
while (t) t = ReadTag(handle,t);
swf->FirstTag = t1.next;
if (ret!=l)
{
#ifdef DEBUG_RFXSWF
- printf("ret:%d (fd:%d)\n",ret, handle);
- perror("write:");
+ printf("ret:%d (fd:%d)\n",ret, handle);
+ perror("write:");
fprintf(stderr,"WriteSWF() failed: Header.\n");
#endif
return -1;
} SPOINT, * LPSPOINT;
typedef struct _RGBA
-{ U8 r;
+{ U8 a;
+ U8 r;
U8 g;
U8 b;
- U8 a;
} RGBA, * LPRGBA;
typedef struct _SRECT
int SetJPEGBits(TAG * t,char * fname,int quality); // paste jpg file into swf stream
+#define BYTES_PER_SCANLINE(width) ((width+3)&0xfffffffc)
+
+#define BMF_8BIT 3 // Bitmap formats
+#define BMF_16BIT 4
+#define BMF_32BIT 5
+
+#define BM16_BLUE 0xf800 // Bitmasks for 16 Bit Color
+#define BM16_RED 0x00f0
+#define BM16_GREEN 0x000f
+
+#define BM32_BLUE 0xff000000 // Bitmasks for 32 Bit Color
+#define BM32_GREEN 0x00ff0000
+#define BM32_RED 0x0000ff00
+
+int SetLosslessBits(TAG * t,U16 width,U16 height,void * bitmap,U8 bitmap_flags);
+int SetLosslessBitsIndexed(TAG * t,U16 width,U16 height,U8 * bitmap,RGBA * palette,U16 ncolors);
+int SetLosslessBitsGrayscale(TAG * t,U16 width,U16 height,U8 * bitmap);
+
// swftools.c
char isDefiningTag(TAG * t);