X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=pdf2swf%2Fswfoutput.cc;h=5d4493f4c8b62b5f2be49ceab26ecdd8a8eb67cb;hb=1592b59ab70de77446cacc437f984c846d10c404;hp=1f21f72c4aca990050785a464fdd3ea819205702;hpb=4273d3b692fd941d3e63def5f04e1e7bd1ea02b8;p=swftools.git diff --git a/pdf2swf/swfoutput.cc b/pdf2swf/swfoutput.cc index 1f21f72..5d4493f 100644 --- a/pdf2swf/swfoutput.cc +++ b/pdf2swf/swfoutput.cc @@ -489,10 +489,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(); } @@ -1196,6 +1196,8 @@ static void drawlink(struct swfoutput*obj, ActionTAG*actions1, ActionTAG*actions int myshapeid2; double xmin,ymin; double xmax=xmin=points[0].x,ymax=ymin=points[0].y; + double posx = 0; + double posy = 0; int t; int buttonid = ++currentswfid; for(t=1;t<4;t++) @@ -1205,8 +1207,18 @@ static void drawlink(struct swfoutput*obj, ActionTAG*actions1, ActionTAG*actions if(points[t].x