diff options
author | Simon Pepping <spepping@apache.org> | 2004-12-24 12:06:26 +0000 |
---|---|---|
committer | Simon Pepping <spepping@apache.org> | 2004-12-24 12:06:26 +0000 |
commit | c6dcfcd8dd37b9b40b65d93f2d57d21cd43097b6 (patch) | |
tree | 4903fae598b0d92b31a4c701e6ccf31d88658270 /src/java/org/apache/fop/layoutmgr/LayoutManager.java | |
parent | 43decd1c0ddf36756615f96bbc089f6b7027afa0 (diff) | |
download | xmlgraphics-fop-c6dcfcd8dd37b9b40b65d93f2d57d21cd43097b6.tar.gz xmlgraphics-fop-c6dcfcd8dd37b9b40b65d93f2d57d21cd43097b6.zip |
This patch implements a pluggable LayoutManagers system, according
to the ideas of Finn Bock and his patch in bug 30500.
Created a LayoutManagerMaker interface, with method
makeLayoutManagers(FONode, List), and two convenience methods on top
of it.
Created an implementation: LayoutManagerMapping. This is along the
pattern of FOElementMapping. It creates a Map from FObj class to Maker
objects. There are many static inner classes which are subclasses of
Maker. Each subclass implements its own version of the make method.
FOUserAgent has a setter and getter for
LayoutManagerMakerOverride. AreaTreeHandler creates a
LayoutManagerMaker, taking the user's override into account, using
LayoutManagerMapping as the default. It has a get method for it.
The LayoutManager interface has a get method for the AreaTreeHandler
object, a reference to which is held in PageSequenceLM, the top of the
LM tree.
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198208 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/fop/layoutmgr/LayoutManager.java')
-rw-r--r-- | src/java/org/apache/fop/layoutmgr/LayoutManager.java | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/java/org/apache/fop/layoutmgr/LayoutManager.java b/src/java/org/apache/fop/layoutmgr/LayoutManager.java index bdc25e605..6291a058b 100644 --- a/src/java/org/apache/fop/layoutmgr/LayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/LayoutManager.java @@ -26,6 +26,7 @@ import org.apache.fop.fo.flow.Marker; import org.apache.fop.area.Area; import org.apache.fop.area.Resolvable; import org.apache.fop.area.PageViewport; +import org.apache.fop.area.AreaTreeHandler; import org.apache.fop.fo.FObj; /** @@ -212,6 +213,11 @@ public interface LayoutManager { Marker retrieveMarker(String name, int pos, int boundary); /** + * @return the AreaTreeHandler object. + */ + AreaTreeHandler getAreaTreeHandler(); + + /** * Load next child LMs, up to child LM index pos * @param pos index up to which child LMs are requested * @return if requested index does exist |