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