]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
move field that tracks which SimplePageMaster to use (currentSimplePageMaster) from...
authorWilliam Victor Mote <vmote@apache.org>
Wed, 27 Aug 2003 00:01:14 +0000 (00:01 +0000)
committerWilliam Victor Mote <vmote@apache.org>
Wed, 27 Aug 2003 00:01:14 +0000 (00:01 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196855 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fo/pagination/PageSequence.java
src/java/org/apache/fop/layoutmgr/PageLayoutManager.java

index 750381be13a86875e9880ac4aba8b3956a994637..77198e21bb05a05b814dcd0423a7968f5addbd83 100644 (file)
@@ -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"
@@ -686,20 +686,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,14 +731,25 @@ 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
index bd427b3fa49986735528fbc265fd608f5183a2eb..bee9a73363494dc504b4bd7a9cbdca603eabb654 100644 (file)
@@ -137,6 +137,14 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable
     private AreaTree areaTree;
     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))));
 
-
     }
 
 }