I'm trying to understand what's going on here. One thing that strikes me
as odd is that PropertyList.convertAttributeToProperty() always
contructs Properties based on the parentFO. Normally, this is probably
ok since most calculation bases are the parent FOs but in the case of
content-width/height it's the context FO itself that provides the base
(the intrinsic image size).
I've rewritten my latest addition so it goes over a getLayoutDimension()
call but left the rest as is for the moment (still uses the property
list). I'll try to have another shot at it later.
On 30.12.2004 20:35:54 Finn Bock wrote:
> > I am surprised to find the property list here. If I understand Finn's
> > restructuring of the usage of property lists, it was the intention
> > that all references to the property lists are released, so that they
> > can be GC'ed. The exceptions are the subtree under Marker and the line
> > of ancestors of RetrieveMarker. This patch reveals that LengthBase
> > maintains a reference to the property list. Perhaps that is an
> > oversight in the restructuring?
> > Perhaps the references to the
> > property list and to the parent FO might be replaced by a reference to
> > the FO to which the property using this LengthBase belongs. But I
> > would not know how to replace the method
> > PropertyList.getInherited(). Perhpaps Finn wants to take a look at
> > this?
> Unfortunately not at the moment where real work takes its toll.
> The idea was that all base values was assigned on the FObj in
> layoutDimension, including font sizes. And that also goes for image sizes.
> In the longer term the layoutDimension should be available in a context
> object that is passed into all Length.getValue(context) calls.