diff options
author | William Victor Mote <vmote@apache.org> | 2003-08-27 00:01:14 +0000 |
---|---|---|
committer | William Victor Mote <vmote@apache.org> | 2003-08-27 00:01:14 +0000 |
commit | 6c39220a83353235068ca62f67a5d2c9d251ecbd (patch) | |
tree | b1bc4f3f5dc5738326f46cedd0032dafae0d30c4 | |
parent | a85afe6a4efe33835251477b8a2b51c03e1638d1 (diff) | |
download | xmlgraphics-fop-6c39220a83353235068ca62f67a5d2c9d251ecbd.tar.gz xmlgraphics-fop-6c39220a83353235068ca62f67a5d2c9d251ecbd.zip |
move field that tracks which SimplePageMaster to use (currentSimplePageMaster) from fo/pagination/PageSequence to layoutmgr/PageLayoutManager
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196855 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | src/java/org/apache/fop/fo/pagination/PageSequence.java | 41 | ||||
-rw-r--r-- | src/java/org/apache/fop/layoutmgr/PageLayoutManager.java | 39 |
2 files changed, 44 insertions, 36 deletions
diff --git a/src/java/org/apache/fop/fo/pagination/PageSequence.java b/src/java/org/apache/fop/fo/pagination/PageSequence.java index 750381be1..77198e21b 100644 --- a/src/java/org/apache/fop/fo/pagination/PageSequence.java +++ b/src/java/org/apache/fop/fo/pagination/PageSequence.java @@ -135,11 +135,11 @@ public class PageSequence extends FObj { /** * The currentSimplePageMaster is either the page master for the * whole page sequence if master-reference refers to a simple-page-master, - * or the simple page master produced by the page sequence mster otherwise. + * or the simple page master produced by the page sequence master otherwise. * The pageSequenceMaster is null if master-reference refers to a * simple-page-master. */ - private SimplePageMaster currentSimplePageMaster; + private SimplePageMaster simplePageMaster; private PageSequenceMaster pageSequenceMaster; /** @@ -210,11 +210,11 @@ public class PageSequence extends FObj { String masterName = this.properties.get("master-reference").getString(); - this.currentSimplePageMaster = - this.layoutMasterSet.getSimplePageMaster(masterName); - if (this.currentSimplePageMaster == null) { + this.simplePageMaster = + this.layoutMasterSet.getSimplePageMaster(masterName); + if (this.simplePageMaster == null) { this.pageSequenceMaster = - this.layoutMasterSet.getPageSequenceMaster(masterName); + this.layoutMasterSet.getPageSequenceMaster(masterName); if (this.pageSequenceMaster == null) { throw new FOPException("master-reference '" + masterName + "' for fo:page-sequence matches no" @@ -687,20 +687,6 @@ public class PageSequence extends FObj { // } /** - * Get the current simple page master - * that is active for the last page created. - * - * @return the current simple page master - */ - public SimplePageMaster getCurrentSimplePageMaster() { - return currentSimplePageMaster; - } - - public void setCurrentSimplePageMaster(SimplePageMaster simplePageMaster) { - this.currentSimplePageMaster = simplePageMaster; - } - - /** * Get the static content FO node from the flow map. * This gets the static content flow for the given flow name. * @@ -745,15 +731,26 @@ public class PageSequence extends FObj { } /** - * Public accessor for getting the PageSequenceMaster to which this + * Public accessor for getting the PageSequenceMaster (if any) to which this * PageSequence is attached. - * @return the PageSequenceMaster to which this PageSequence is attached. + * @return the PageSequenceMaster to which this PageSequence is attached, or + * null if there is none. */ public PageSequenceMaster getPageSequenceMaster() { return pageSequenceMaster; } /** + * Public accessor for getting the SimplePageMaster (if any) to which this + * PageSequence is attached. + * @return the SimplePageeMaster to which this PageSequence is attached or + * null if there is none. + */ + public SimplePageMaster getSimplePageMaster() { + return simplePageMaster; + } + + /** * Public accessor for getting the PageNumberGenerator. * @return the PageNumberGenerator */ diff --git a/src/java/org/apache/fop/layoutmgr/PageLayoutManager.java b/src/java/org/apache/fop/layoutmgr/PageLayoutManager.java index bd427b3fa..bee9a7336 100644 --- a/src/java/org/apache/fop/layoutmgr/PageLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/PageLayoutManager.java @@ -138,6 +138,14 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable private PageSequence pageSequence; /** + * This is the SimplePageMaster that should be used to create the page. It + * will be equal to the PageSequence's simplePageMaster, if it exists, or + * to the correct member of the PageSequence's pageSequenceMaster, if that + * exists instead. + */ + private SimplePageMaster currentSimplePageMaster; + + /** * This is the top level layout manager. * It is created by the PageSequence FO. * @@ -497,11 +505,14 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable if (curPage != null) { // Layout static content into the regions // Need help from pageseq for this - SimplePageMaster spm = pageSequence.getCurrentSimplePageMaster(); - layoutStaticContent(spm.getRegion(Region.BEFORE), RegionReference.BEFORE); - layoutStaticContent(spm.getRegion(Region.AFTER), RegionReference.AFTER); - layoutStaticContent(spm.getRegion(Region.START), RegionReference.START); - layoutStaticContent(spm.getRegion(Region.END), RegionReference.END); + layoutStaticContent(currentSimplePageMaster.getRegion(Region.BEFORE), + RegionReference.BEFORE); + layoutStaticContent(currentSimplePageMaster.getRegion(Region.AFTER), + RegionReference.AFTER); + layoutStaticContent(currentSimplePageMaster.getRegion(Region.START), + RegionReference.START); + layoutStaticContent(currentSimplePageMaster.getRegion(Region.END), + RegionReference.END); // Queue for ID resolution and rendering areaTree.addPage(curPage); curPage = null; @@ -714,24 +725,25 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable boolean bIsBlank, boolean firstPage, boolean bIsLast) throws FOPException { - if (pageSequence.getPageSequenceMaster() != null) { - pageSequence.setCurrentSimplePageMaster (pageSequence.getPageSequenceMaster() + if (pageSequence.getPageSequenceMaster() == null) { + currentSimplePageMaster = pageSequence.getSimplePageMaster(); + } else { + currentSimplePageMaster = pageSequence.getPageSequenceMaster() .getNextSimplePageMaster(((pageNumber % 2) == 1), firstPage, - bIsBlank)); + bIsBlank); } - Region body = pageSequence.getCurrentSimplePageMaster().getRegion(Region.BODY); + Region body = currentSimplePageMaster.getRegion(Region.BODY); if (!pageSequence.getMainFlow().getFlowName().equals(body.getRegionName())) { throw new FOPException("Flow '" + pageSequence.getMainFlow().getFlowName() + "' does not map to the region-body in page-master '" - + pageSequence.getCurrentSimplePageMaster().getMasterName() + "'"); + + currentSimplePageMaster.getMasterName() + "'"); } - SimplePageMaster currentSimplePageMaster = pageSequence.getCurrentSimplePageMaster(); PageMaster pageMaster = currentSimplePageMaster.getPageMaster(); - if (pageMaster == null) { + if ( pageMaster == null) { createSimplePageMasterAreas(currentSimplePageMaster); } - pageMaster = pageSequence.getCurrentSimplePageMaster().getPageMaster(); + pageMaster = currentSimplePageMaster.getPageMaster(); PageViewport p = pageMaster.makePage(); return p; // The page will have a viewport/reference area pair defined @@ -795,7 +807,6 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable node.setPageMaster(new PageMaster(new PageViewport(page, new Rectangle(0, 0, pageWidth, pageHeight)))); - } } |