You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-dev@xmlgraphics.apache.org by "Peter B. West" <pb...@powerup.com.au> on 2003/06/16 18:23:30 UTC
Design notes - 3. Layout Block
Top-level block layout is a recursive process with a number of phases.
In the first phase, the descendants are "laid out" assuming infinite
space, and the range of space requirements is determined. The initial
areas are created and inserted into the area subtree of the top-level block.
When this process completes, a demand for page space will percolate up
from the descendants. The final form of this space deamnd is passed to
the PageMaker. Note that in the unoptimised state, this will be a
demand for a single block of IPDim sufficient for the contents of the
descendants.
Constraints come back from the PageMaker, and the process of
constructing layout transactions begins in earnest. For any top-level
block, this will usually culminate with the exhaustion of the contents
of the block, but in other circumstances the page will fill while some
line of descent is pending. The subsequent demand for page space will
be made in the absence of knowledge about the receiving page areas. It
will be possible to optimise on the assumption of similarity ot the
previous page, but I am looking here at the basic logic.
Peter
--
Peter B. West http://www.powerup.com.au/~pbwest/resume.html