I tried to reproduce that but didn't really manage though I found other
problems related to the positioning of background images. Looks like
someone will eventually need to invest some more time there (it's not a
priority for me right now). I can fix/review the renderers if someone
provides test cases though.
On 29.08.2005 08:08:29 Manuel Mall wrote:
> While testing / implementing padding and background-image support for
> table cells I think I have come across a bug with the PDF renderer.
> Unfortunately I cannot provide a testcase as one would need my version
> of fop for this. Any way, it is along the following lines: Background
> images on absolute positioned blocks (I am talking area tree here) are
> incorrectly offset, that is the left-position and top-position traits
> are applied multiple times. It works ok for blocks that are viewports
> (as created from fo:block-container) but for "normal" absolute blocks
> as generated for table cells it doesn't.
>
> I made the following change to the PDFRenderer, that is commented out
> the offset calculation involving currentIPPosition / currentBPPosition
> as these offsets are already included in x and y.
>
> protected void placeImage(float x, float y, float w, float h, int
> xobj) {
> saveGraphicsState();
> currentStream.add(w + " 0 0 "
> + -h + " "
> + (/*currentIPPosition / 1000f*/ + x) + " "
> + (/*currentBPPosition / 1000f*/ + h + y)
> + " cm\n" + "/Im" + xobj + " Do\n");
> restoreGraphicsState();
> }
>
> This seems to work but I am not sure about any unforeseen side effects.
> Someone with a better grasp of the PDFRenderer than me may want to take
> a look at this please.
>
> Manuel
Jeremias Maerki