added -z option.
[swftools.git] / pdf2swf / swfoutput.cc
index edb13a3..d6974b2 100644 (file)
@@ -35,6 +35,7 @@ int ignoredraworder=0;
 int drawonlyshapes=0;
 int jpegquality=85;
 int storeallcharacters=0;
+int enablezlib=0;
 static int flag_protected = 0;
 
 typedef unsigned char u8;
@@ -489,10 +490,10 @@ void swfoutput_drawpath(swfoutput*output, T1_OUTLINE*outline,
     if(textid>=0)
         endtext();
 
-    /* XXX the following is needed due to a bug in the SWF player.
-       Filled shapes consisting solely of curves don't get
-       filled correctly if they are in the same shape */
-    if(shapeid>=0 && fill) {
+    /* Multiple polygons in one shape don't overlap correctly, 
+       so we better start a new shape here if the polygon is filled
+     */
+    if(shapeid>=0 && fill && !ignoredraworder) {
        endshape();
     }
 
@@ -1013,8 +1014,14 @@ void swfoutput_destroy(struct swfoutput* obj)
  
     tag = swf_InsertTag(tag,ST_END);
 
-    if FAILED(swf_WriteSWF(fi,&swf)) 
-     logf("<error> WriteSWF() failed.\n");
+    if(enablezlib) {
+      if FAILED(swf_WriteSWC(fi,&swf)) 
+       logf("<error> WriteSWC() failed.\n");
+    } else {
+      if FAILED(swf_WriteSWF(fi,&swf)) 
+       logf("<error> WriteSWF() failed.\n");
+    }
+
     if(filename)
      close(fi);
     logf("<notice> SWF written\n");