Hey guys,
I digged into the code and did some debugging. However, my C skills are limited and I'm currently stuck on the following problem.
The bars as shown in the SWF are single lines with a width of 9.92. Those stroked next to each other form the gradients in the background. Thing is, in the SWF (I ran swfdump) those lines are converted into shapes (rects):
[020] 43 DEFINESHAPE3 defines id 0013
| fillstyles(01) linestyles(01)
| 1 ) SOLID 2056aeff 1 ) 0.00 00000000
|
| fill: 01/00 line:00 - moveTo 602.00 -12.40
| fill: 01/00 line:00 - lineTo 602.00 857.15
| fill: 01/00 line:00 - lineTo 611.85 857.15
| fill: 01/00 line:00 - lineTo 611.85 -12.40
| fill: 01/00 line:00 - lineTo 602.00 -12.40
|
[01a] 5 PLACEOBJECT2 places id 0013 at depth 0010
[020] 43 DEFINESHAPE3 defines id 0014
| fillstyles(01) linestyles(01)
| 1 ) SOLID 2157aeff 1 ) 0.00 00000000
|
| fill: 01/00 line:00 - moveTo 599.35 -12.40
| fill: 01/00 line:00 - lineTo 599.35 857.15
| fill: 01/00 line:00 - lineTo 609.35 857.15
| fill: 01/00 line:00 - lineTo 609.35 -12.40
| fill: 01/00 line:00 - lineTo 599.35 -12.40
|
[01a] 5 PLACEOBJECT2 places id 0014 at depth 0011
One can see there, that the x-coordinates do not match, which explains the white bars between the boxes.
So basically there are two possibilities: Either the width is wrong, or the x-positions are wrong. my guess is the width, since otherwise it would "add" up (probably) and the white bars would get wider. My main problem is, that I can't see where the DEFINESHAE3 is generated. My trace ends here:
(Line numbers might not be super accurate, since my clone is not up to date....git pull doesn't like me somehow...):
17 swf_ShapeSetLine() /home/test/workspace/pdf2swf/lib/modules/swfshape.c:462 0x0816943a
16 linetoxy() /home/test/workspace/pdf2swf/lib/devices/swf.c:416 0x0813910a
15 lineto() /home/test/workspace/pdf2swf/lib/devices/swf.c:440 0x081391e1
14 drawgfxline() /home/test/workspace/pdf2swf/lib/devices/swf.c:1758 0x0813deb0
13 swf_stroke() /home/test/workspace/pdf2swf/lib/devices/swf.c:2578 0x08141880
12 GFXOutputDev::strokeGfxline() /home/test/workspace/pdf2swf/lib/pdf/GFXOutputDev.cc:1206 0x08059ea4
11 GFXOutputDev::stroke() /home/test/workspace/pdf2swf/lib/pdf/GFXOutputDev.cc:2499 0x0805df85
10 Gfx::opStroke() /home/test/workspace/pdf2swf/lib/pdf/xpdf/Gfx.cc:1418 0x080e10d9
9 Gfx::execOp() /home/test/workspace/pdf2swf/lib/pdf/xpdf/Gfx.cc:696 0x080dcd3f
8 Gfx::go() /home/test/workspace/pdf2swf/lib/pdf/xpdf/Gfx.cc:587 0x080dcec1
7 Gfx::display() /home/test/workspace/pdf2swf/lib/pdf/xpdf/Gfx.cc:559 0x080dd337
6 Page::displaySlice() /home/test/workspace/pdf2swf/lib/pdf/xpdf/Page.cc:317 0x080c7881
5 Page::display() /home/test/workspace/pdf2swf/lib/pdf/xpdf/Page.cc:266 0x080c7b71
4 PDFDoc::displayPage() /home/test/workspace/pdf2swf/lib/pdf/xpdf/PDFDoc.cc:319 0x0808af6f
3 render2() /home/test/workspace/pdf2swf/lib/pdf/pdf.cc:192 0x0806e10c
2 pdfpage_rendersection() /home/test/workspace/pdf2swf/lib/pdf/pdf.cc:220 0x0806e2f7
1 main() /home/test/workspace/pdf2swf/src/pdf2swf.c:803 0x0805256c
However, as far as I can tell, this only emits one line and this is also only called one....If one has any insight into this, I'll be happy to hear :-)
Enjoy your weekend...
freundliche Grüße