* removed Font{Import,Export} functions
[swftools.git] / lib / modules / swfbits.c
index 7488667..85e7c37 100644 (file)
@@ -110,6 +110,24 @@ int swf_SetJPEGBitsFinish(JPEGBITS * jpegbits)
   return 0;
 }
 
+void swf_SetJPEGBits2(TAG * tag,U16 width,U16 height,RGBA* bitmap, int quality)
+{
+  JPEGBITS* jpeg;
+  int y;
+  jpeg = swf_SetJPEGBitsStart(tag,width,height,quality);
+  for (y=0;y<height;y++)
+  { U8 scanline[3*width];
+    int x,p = 0;
+    for (x=0;x<width;x++) 
+    { scanline[p++] = bitmap[width*y+x].r;
+      scanline[p++] = bitmap[width*y+x].g;
+      scanline[p++] = bitmap[width*y+x].b;
+    }
+    swf_SetJPEGBitsLine(jpeg,scanline);
+  }
+  swf_SetJPEGBitsFinish(jpeg);
+}
+
 int swf_SetJPEGBits(TAG * t,char * fname,int quality)
 { struct jpeg_decompress_struct cinfo;
   struct jpeg_error_mgr jerr;
@@ -252,7 +270,7 @@ int swf_SetLosslessBits(TAG * t,U16 width,U16 height,void * bitmap,U8 bitmap_fla
   swf_SetU16(t,width);
   swf_SetU16(t,height);
 
-  if (data=malloc(OUTBUFFER_SIZE))
+  if ((data=malloc(OUTBUFFER_SIZE)))
   { z_stream zs;
       
     memset(&zs,0x00,sizeof(z_stream));
@@ -298,7 +316,7 @@ int swf_SetLosslessBitsIndexed(TAG * t,U16 width,U16 height,U8 * bitmap,RGBA * p
   swf_SetU16(t,height);
   swf_SetU8(t,ncolors-1); // number of pal entries
 
-  if (data=malloc(OUTBUFFER_SIZE))
+  if ((data=malloc(OUTBUFFER_SIZE)))
   { z_stream zs;
 
     memset(&zs,0x00,sizeof(z_stream));
@@ -307,7 +325,7 @@ int swf_SetLosslessBitsIndexed(TAG * t,U16 width,U16 height,U8 * bitmap,RGBA * p
 
     if (deflateInit(&zs,Z_DEFAULT_COMPRESSION)==Z_OK)
     { U8 * zpal;                    // compress palette
-      if (zpal = malloc(ncolors*4))
+      if ((zpal = malloc(ncolors*4)))
       { U8 * pp = zpal;
         int i;