#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);