(I'm re-posting this message as I sent it yesterday and still cannot see it in the list archives, I hope I'm not duplicating it unnecessarily)

On Mon, Jun 23, 2008 at 5:12 PM, Luca Furini <[EMAIL PROTECTED]> wrote:

If there is a block-container with both width and height set, its
position can be correctly controlled using top and left (and indeed
there are many testcases checking that) but bottom and right do not
have any visible effect.

I've solved the bug for simple situations, but the solution is not
nearly general enough to be committed.

The point is: right and bottom distances need to be respectively
translated into x- and y-offset at some time, and in doing this we
must know the ipd and bpd of the nearest ancestor reference area, as,
for example,
  x-offset = reference-bpd - object-bpd - right-distance

My first idea was to set the offsets at the LM level, when creating
areas, so that there would be no changes at all for the renderers, but
I failed to find a way to obtain the nearest ancestor reference area,
as areas have no parent pointer (and I couldn't even think of a nice
way to find the appropriate region reference ...).

So, I'm almost convinced that the bottom- and right- distances should
be preserved in the area tree, and translated into offset during the
rendering, where it would be possible to keep updated a
nearestReferenceArea pointer just like current*PPosition is.

Comments, suggestions, warnings would be most welcome, as I fear the
heat of these days is making me insane! :-)

Regards
   Luca

Reply via email to