From: Matthias Kramm Date: Mon, 6 Apr 2009 19:53:21 +0000 (+0200) Subject: pdf2swf: added workaround for broken dashes X-Git-Tag: release-0-9-0~16 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=a75ba56a3af5826224448fd26867eeac7c4bb395 pdf2swf: added workaround for broken dashes --- diff --git a/lib/gfxtools.c b/lib/gfxtools.c index 0c9e2ab..e79e6fe 100644 --- a/lib/gfxtools.c +++ b/lib/gfxtools.c @@ -203,7 +203,13 @@ void gfxtool_draw_dashed_line(gfxdrawer_t*d, gfxline_t*line, float*r, float phas fprintf(stderr, "gfxtool: outline doesn't start with a moveTo"); return; } - if(!r || (r[0]<=0 && r[0]>-0.01)) { + + int i; + double dashlen=0; + for(i=0;r[i]>=0;i++) { + dashlen+=r[i]; + } + if(!r || (r[0]<=0 && r[0]>-0.01) || dashlen<0.001) { // no dashing. just draw the thing while(line) { if(line->type == gfx_moveTo) { @@ -222,7 +228,6 @@ void gfxtool_draw_dashed_line(gfxdrawer_t*d, gfxline_t*line, float*r, float phas return; } - for(;line;line=line->next) { if(line->type == gfx_moveTo) { d->moveTo(d, line->x, line->y);