]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Cleaning up.
authorPeter Bernard West <pbwest@apache.org>
Sun, 22 Dec 2002 03:36:11 +0000 (03:36 +0000)
committerPeter Bernard West <pbwest@apache.org>
Sun, 22 Dec 2002 03:36:11 +0000 (03:36 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@195783 13f79535-47bb-0310-9956-ffa450edef68

docs/design/alt.design/layoutmanagers.xml [new file with mode: 0644]

diff --git a/docs/design/alt.design/layoutmanagers.xml b/docs/design/alt.design/layoutmanagers.xml
new file mode 100644 (file)
index 0000000..e99824d
--- /dev/null
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
+    "http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/resources/schema/dtd/document-v11.dtd">
+
+<!-- $Id$ -->
+
+<document>
+  <header>
+    <title>Layout managers</title>
+    <authors>
+      <person name="Peter B. West" email="pbwest@powerup.com.au"/>
+    </authors>
+  </header>
+  <body>
+    <section>
+      <title>Layout managers in FOP</title>
+      <p>
+       What do the layout managers do?  Most layout is is "automatic"
+       in the sense of being a straightforward stacking operation.
+       Sibling inline-areas, including fo:character areas, are
+       stacked in line-areas in the inline-progression-direction.
+       Sibling block-areas, including line-areas, are stacked in the
+       block-progression-direction.
+      </p>
+      <p>
+       In the simple cases in which both the available
+       block-progression-dimension and the available
+       inline-progression-dimension are known, this process can be
+       driven bottom-up.  Available dimensions trickle down from the
+       top, and the bottom level galleys can determine when their
+       available areas are full and suspend pending the arrival of
+       more areas.  Such full notifications bubble back up the tree
+       of active galleys.  E.g., if an inline galley fills a
+       line-area of a given inline-p-d and suspends while still
+       within the available block-p-d, the parent block-area galley
+       will simply stack the inline-area and notify the inline galley
+       to continue.  If the inline-galley discovers that the next
+       line-area that it would generate will not fit in the the
+       block-p-d, it suspends with a notification to that effect to
+       its parent.  
+      </p>
+      <p>
+       In more complex cases the dimensions may not be fully
+       specified, or decisions about layout may depend on later
+       layout.  In all such cases some layout look-ahead is required
+       which can report results back to higher layout levels.  The
+       job for a layout manager in these cirucmstances is to evaluate
+       the information flowing back and set parameters for the best
+       fit layout.
+      </p>
+    </section>
+  </body>
+</document>