On Thu, Aug 24, 2006 at 12:40:25PM +0200, Andreas L Delmelle wrote: > On Aug 23, 2006, at 21:59, Andreas L Delmelle wrote: > > ><snip /> > >The other consideration, but that would be for a more distant > >future, is to be able to have three different threads: > >- fo creation (a) > >- base layoutengine initialization (b) > >- actual breaking/layout (c) > > A bit more elaboration: > This could actually be done in a single thread, chopping the process > up into discrete parts, and bouncing control from (a) to (b) to (c) > and back. > Implementing this with multiple threads would be much trickier, since > the access to all the lists needs to be synchronized.
An interesting side effect of the total-fit solution to page breaking is that no interaction is required between line and page breaking. The two are independent and one is performed before the other. That changes when the line layout depends on the page layout, e.g. due to different page widths or due to side floats. This makes the programming more complex. The same problem would be introduced by your above process. Bouncing control between line and page layout introduces an interaction between the two. Regards, Simon -- Simon Pepping home page: http://www.leverkruid.eu