Hi All,

These are the design tasks that I think we need to cover before (serious)
coding is done on the new layout approach.

FO Objects:
The classes that represent the FO object heirarchy should implement one or
more interfaces that represent what the object can do in terms of the
layout and what it will add into the layout. An fo object can create an
inline or a block area or return what its children create.

Layout Managers:
Areas that create a page or block area will need to implement a layout
manager that can take the information for the current object and add child
created areas. It is likely that there will be managers for page, block,
table and list among others.

Area Tree:
The area tree needs to have all the appropriate block and inline areas and
extra information to handle the layout process.
Inline areas - character, leader, space, unresolved page, container etc.
Block areas - in flow block, relative and absolute position, viewport areas

The renderers need to be able to handle the area tree. eg. blocks, inlines,
fills, clips, viewports, etc.

The design includes descriptions of what it does, the layout situations it
handles and how it is used.

Of course all of these parts will need to co-operate, so co-operation will
be needed when doing the design.
Across all of these are things like footnotes, floats and links.

So far I have started to look at the area tree.
So for those people who think they are up to the challenge we can start to
get stuck into the lower level design/implementation of the new layout.
I think a two week period is enough to get a good view of what we need to
do here. So we can aim for 24 Sept.

Documents will eventually be placed in docs/design to add to the current

Any questions/comments are welcome and particularly contributions.


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

Reply via email to