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

<<inline: LayoutBlock.png>>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]

Reply via email to