]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
Created an instance variable in PageViewport for the
authorGlen Mazza <gmazza@apache.org>
Tue, 29 Mar 2005 00:34:54 +0000 (00:34 +0000)
committerGlen Mazza <gmazza@apache.org>
Tue, 29 Mar 2005 00:34:54 +0000 (00:34 +0000)
SimplePageMaster object; removed currentSimplePageMaster variable
in PSLM in favor of curPage.getSPM().

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_KnuthStylePageBreaking@198551 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/area/PageViewport.java
src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java

index 32d4684461e8d63135656ae13992f37bface27e3..a2dad82e095edbdebd3f58b9870d36abd093ad83 100644 (file)
@@ -31,6 +31,7 @@ import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
 import org.apache.fop.fo.Constants;
+import org.apache.fop.fo.pagination.SimplePageMaster;
 
 /**
  * Page viewport that specifies the viewport area and holds the page contents.
@@ -46,6 +47,7 @@ public class PageViewport implements Resolvable, Cloneable {
     private Rectangle2D viewArea;
     private boolean clip = false;
     private String pageNumberString = null;
+    private SimplePageMaster spm = null;
 
     // list of id references and the rectangle on the page
     private Map idReferences = null;
@@ -75,8 +77,9 @@ public class PageViewport implements Resolvable, Cloneable {
      * @param p the page reference area that holds the contents
      * @param bounds the bounds of this viewport
      */
-    public PageViewport(Page p, Rectangle2D bounds) {
+    public PageViewport(SimplePageMaster spm, Page p, Rectangle2D bounds) {
         page = p;
+        this.spm = spm;
         viewArea = bounds;
     }
 
@@ -396,7 +399,7 @@ public class PageViewport implements Resolvable, Cloneable {
      */
     public Object clone() {
         Page p = (Page)page.clone();
-        PageViewport ret = new PageViewport(p, (Rectangle2D)viewArea.clone());
+        PageViewport ret = new PageViewport(spm, p, (Rectangle2D)viewArea.clone());
         return ret;
     }
 
@@ -418,4 +421,10 @@ public class PageViewport implements Resolvable, Cloneable {
         sb.append(getPageNumberString());
         return sb.toString();
     }
+    /**
+     * @return Returns the spm.
+     */
+    public SimplePageMaster getSPM() {
+        return spm;
+    }
 }
\ No newline at end of file
index a84df16a25106ae8a58887267dcfd5a1a9bc3cf6..27c4ddc3aa360dea1f7641ab62c99c2881cfac42 100644 (file)
@@ -74,7 +74,6 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
         }
     }*/
 
-
     private int startPageNum = 0;
     private int currentPageNum = 0;
     private String pageNumberString;
@@ -102,14 +101,6 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
      */
     private AreaTreeModel areaTreeModel;
 
-    /**
-     * 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
-     * is in effect instead.
-     */
-    private SimplePageMaster currentSimplePageMaster;
-
     /**
      * The collection of StaticContentLayoutManager objects that are associated
      * with this Page Sequence, keyed by flow-name.
@@ -204,7 +195,7 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
         }
         
         protected int getCurrentDisplayAlign() {
-            return currentSimplePageMaster.getRegion(Constants.FO_REGION_BODY).getDisplayAlign();
+            return curPage.getSPM().getRegion(Constants.FO_REGION_BODY).getDisplayAlign();
         }
         
         protected boolean hasMoreContent() {
@@ -443,18 +434,18 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
 
         try {
             // create a new page
-            currentSimplePageMaster = pageSeq.getSimplePageMasterToUse(
+            SimplePageMaster spm = pageSeq.getSimplePageMasterToUse(
                 currentPageNum, isFirstPage, bIsBlank);
-            Region body = currentSimplePageMaster.getRegion(FO_REGION_BODY);
+            Region body = spm.getRegion(FO_REGION_BODY);
             if (!pageSeq.getMainFlow().getFlowName().equals(body.getRegionName())) {
               // this is fine by the XSL Rec (fo:flow's flow-name can be mapped to
               // any region), but we don't support it yet.
               throw new FOPException("Flow '" + pageSeq.getMainFlow().getFlowName()
                  + "' does not map to the region-body in page-master '"
-                 + currentSimplePageMaster.getMasterName() + "'.  FOP presently "
+                 + spm.getMasterName() + "'.  FOP presently "
                  + "does not support this.");
             }
-            curPage = createPageAreas(currentSimplePageMaster);
+            curPage = createPageAreas(spm);
             isFirstPage = false;
         } catch (FOPException fopex) {
             throw new IllegalArgumentException("Cannot create page: " + fopex.getMessage());
@@ -472,7 +463,7 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
     }
 
     private void layoutSideRegion(int regionID) {
-        SideRegion reg = (SideRegion)currentSimplePageMaster.getRegion(regionID);
+        SideRegion reg = (SideRegion)curPage.getSPM().getRegion(regionID);
         if (reg == null) {
             return;
         }
@@ -746,7 +737,7 @@ public class PageSequenceLayoutManager extends AbstractLayoutManager {
            page.setRegionViewport(r.getNameId(), rvp);
        }
 
-       return new PageViewport(page, new Rectangle(0, 0, pageWidth, pageHeight));
+       return new PageViewport(spm, page, new Rectangle(0, 0, pageWidth, pageHeight));
     }  
     
     /**