From: Matthias Kramm Date: Tue, 13 Oct 2009 00:43:09 +0000 (-0700) Subject: added color support to xml device X-Git-Tag: version-0-9-1~263 X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=commitdiff_plain;h=02bea373211f87d9c3504a497489356bb0ea6ba4 added color support to xml device --- diff --git a/lib/pdf/XMLOutputDev.cc b/lib/pdf/XMLOutputDev.cc index d6f1d2d..9238873 100644 --- a/lib/pdf/XMLOutputDev.cc +++ b/lib/pdf/XMLOutputDev.cc @@ -59,15 +59,25 @@ void XMLOutputDev::endPage() GString*fontname = new GString(); double fontsize = -99999; double base = -9999; + double color_r = -1; + double color_g = -1; + double color_b = -1; for(i=0;iget(i); GString*newfont = word->getFontName(); double newsize = word->getFontSize(); double newbase = word->base; + double newcolor_r = word->colorR; + double newcolor_g = word->colorG; + double newcolor_b = word->colorB; if((newfont && newfont->cmp(fontname)) || newsize != fontsize || - newbase != base) + newbase != base || + newcolor_r != color_r || + newcolor_g != color_g || + newcolor_b != color_b + ) { TextFontInfo*info = word->getFontInfo(); if(textTag) @@ -94,18 +104,29 @@ void XMLOutputDev::endPage() if(strstr(name, "serif")) serif = gTrue; } - fprintf(out, "", + fprintf(out, "", name, newbase, (word->rot&1)?word->yMin:word->xMin, + (word->rot&1)?word->yMin:word->xMin, + (word->rot&1)?word->xMin:word->yMin, + (word->rot&1)?word->yMax:word->xMax, + (word->rot&1)?word->xMax:word->yMax, info->isFixedWidth()?"fixed;":"", serif?"serif;":"", italic?"italic;":"", bold?"bold;":"", - newsize); + newsize, + ((int)(newcolor_r*255))&0xff, + ((int)(newcolor_g*255))&0xff, + ((int)(newcolor_b*255))&0xff + ); fontname = newfont->copy(); fontsize = newsize; base = newbase; + color_r = newcolor_r; + color_g = newcolor_g; + color_b = newcolor_b; } char*s = word->getText()->getCString(); while(*s) {