From 5870e54509e3f91555fdd791e6879a1f174f762b Mon Sep 17 00:00:00 2001 From: Keiron Liddle Date: Wed, 31 Jul 2002 10:31:54 +0000 Subject: [PATCH] added layout manager info Submitted by: Cyril Rognon git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195041 13f79535-47bb-0310-9956-ffa450edef68 --- docs/design/understanding/book.xml | 4 +- docs/design/understanding/layout_managers.xml | 58 ++++++++++++++++++- 2 files changed, 58 insertions(+), 4 deletions(-) diff --git a/docs/design/understanding/book.xml b/docs/design/understanding/book.xml index 505d3c06c..4e3013ca1 100644 --- a/docs/design/understanding/book.xml +++ b/docs/design/understanding/book.xml @@ -9,7 +9,7 @@ - + @@ -20,4 +20,4 @@ - \ No newline at end of file + diff --git a/docs/design/understanding/layout_managers.xml b/docs/design/understanding/layout_managers.xml index 6630ac64b..48e85c94b 100644 --- a/docs/design/understanding/layout_managers.xml +++ b/docs/design/understanding/layout_managers.xml @@ -8,6 +8,60 @@ -

Yet to come :))

- The series of notes for developers has started but it has not yet gone so far ! Keep watching
+ + + +

The role of the layout managers is to build the Area Tree by using the +information from the FO Tree. The layout managers decide where information +is placed in the area tree.

+

A layout manager is typically associated with an FO Object but not always.

+ + +

The layout managers are in between the FO Tree and the Area Tree. They get +information from the FO Tree and create areas and build the pages. They +hold the state of the layout process as it builds up the areas and pages. +They also manage the handling of breaks and spacing between areas.

+ + +

FO Objects can have two types of properties, ones that relate to the layout and ones that relate to the rendering. THe layout related properties area used by the layout managers to determine how and where to create the areas. The render related properties should be passed through to the renderer in the most efficient way possible. +

+ + + + +

When a block creating element is complete then it is possible to build the +block area and add it to the paprent.

+

A block area will contain either more block areas or line areas, which are +special block areas. The line areas are created by the LineLayoutManager +in which the inline areas flow into.

+

So a block area manager handles the lines or blocks as its children and +determines things like spacing and breaks.

+

In the case of tables and lists the blocks are stacked in a specific way +that needs to be handled by the layout manager.

+ + + + + +

Side floats alter the length of the inline progression dimension for the +current line and following lines for the size of the float.

+

This means that the float needs to be handled by the block layout manager +so that it can adjust the available inline progression dimension for the +relevant line areas.

+ + + + + +

Footnotes and Before Floats are placed in special areas in the body region +of the page. The size of these areas is determined by the content. This in +turn effects the available size of the main reference area that contains +the flow.

+

A layout manager handles the adding and removing of footnotes/floats, this in turn effects the available space in the main reference area.

+ +
+(note: more info to follow) + + + \ No newline at end of file -- 2.39.5