]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
move makeRegionViewport() and setRegionViewportTraits() from fo/pagination/Region...
authorWilliam Victor Mote <vmote@apache.org>
Wed, 27 Aug 2003 01:51:06 +0000 (01:51 +0000)
committerWilliam Victor Mote <vmote@apache.org>
Wed, 27 Aug 2003 01:51:06 +0000 (01:51 +0000)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@196860 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/fop/fo/pagination/Region.java
src/java/org/apache/fop/fo/pagination/RegionAfter.java
src/java/org/apache/fop/fo/pagination/RegionBefore.java
src/java/org/apache/fop/fo/pagination/RegionBody.java
src/java/org/apache/fop/fo/pagination/RegionEnd.java
src/java/org/apache/fop/fo/pagination/RegionStart.java
src/java/org/apache/fop/layoutmgr/PageLayoutManager.java

index 8c70438759e6309f1de0977196e277e1b9d81083..3ae25fdd41e7dde14a3ad7639df1ff19eb558415 100644 (file)
@@ -59,13 +59,9 @@ import org.apache.fop.datatypes.FODimension;
 import org.apache.fop.fo.FObj;
 import org.apache.fop.fo.FONode;
 import org.apache.fop.fo.FOTreeVisitor;
-import org.apache.fop.fo.properties.CommonBorderAndPadding;
-import org.apache.fop.fo.properties.CommonBackground;
 import org.apache.fop.apps.FOPException;
 import org.apache.fop.area.CTM;
-import org.apache.fop.area.RegionViewport;
 import org.apache.fop.area.RegionReference;
-import org.apache.fop.layoutmgr.TraitSetter;
 
 // SAX
 import org.xml.sax.Attributes;
@@ -133,44 +129,13 @@ public abstract class Region extends FObj {
                     + parent.getName());
         }
         this.wm = this.properties.get("writing-mode").getEnum();
-    }
-
-    /**
-     * Creates a RegionViewport Area object for this pagination Region.
-     * @param reldims relative dimensions
-     * @param pageCTM page coordinate transformation matrix
-     * @return the new region viewport
-     */
-    public RegionViewport makeRegionViewport(FODimension reldims, CTM pageCTM) {
-        Rectangle2D relRegionRect = getViewportRectangle(reldims);
-        Rectangle2D absRegionRect = pageCTM.transform(relRegionRect);
-        // Get the region viewport rectangle in absolute coords by
-        // transforming it using the page CTM
-        RegionViewport rv = new RegionViewport(absRegionRect);
-        setRegionViewportTraits(rv);
-        return rv;
-    }
-
-    /**
-     * Set the region viewport traits.
-     * The viewport has the border, background and
-     * clipping overflow traits.
-     *
-     * @param r the region viewport
-     */
-    protected void setRegionViewportTraits(RegionViewport r) {
-        // Common Border, Padding, and Background Properties
-        CommonBorderAndPadding bap = propMgr.getBorderAndPadding();
-        CommonBackground bProps = propMgr.getBackgroundProps();
-        TraitSetter.addBorders(r, bap);
-        TraitSetter.addBackground(r, bProps);
 
         // this.properties.get("clip");
         // this.properties.get("display-align");
         this.overflow = this.properties.get("overflow").getEnum();
     }
 
-    protected abstract Rectangle getViewportRectangle(FODimension pageRefRect);
+    public abstract Rectangle getViewportRectangle(FODimension pageRefRect);
 
     /**
      * Create the region reference area for this region master.
index 02a1ef6a8f42e726f1f8f59418ba532ed18055e6..bdaebcd6088d45c79460d1d7a3d73716b47265b5 100644 (file)
@@ -75,7 +75,7 @@ public class RegionAfter extends RegionBA {
     /**
      * @see org.apache.fop.fo.pagination.Region#getViewportRectangle(FODimension)
      */
-    protected Rectangle getViewportRectangle (FODimension reldims) {
+    public Rectangle getViewportRectangle (FODimension reldims) {
         // Depends on extent, precedence ans writing mode
         Rectangle vpRect;
         if (this.wm == WritingMode.LR_TB || this.wm == WritingMode.RL_TB) {
index ddeed18f90c2985a3d140fb4e7b993428fea2390..a6dc419bf8811a1d44d7ae0f981f665b7e19f7d1 100644 (file)
@@ -96,7 +96,7 @@ public class RegionBefore extends RegionBA {
     /**
      * @see org.apache.fop.fo.pagination.Region#getViewportRectangle(FODimension)
      */
-    protected Rectangle getViewportRectangle (FODimension reldims) {
+    public Rectangle getViewportRectangle (FODimension reldims) {
         // Depends on extent, precedence and writing mode
         // This should return rectangle in writing-mode coordinates relative
         // to the page-reference area rectangle
index 056d22ee2e18678361dd951d35e67ce9a7e6430b..b03098b32071ece62cdf684b38e3ad3482e89542 100644 (file)
@@ -85,7 +85,7 @@ public class RegionBody extends Region {
     /**
      * @see org.apache.fop.fo.pagination.Region#getViewportRectangle(FODimension)
      */
-    protected Rectangle getViewportRectangle (FODimension reldims) {
+    public Rectangle getViewportRectangle (FODimension reldims) {
         /*
         * Use space-before and space-after which will use corresponding
         * absolute margin properties if specified. For indents:
index 760873a998c71321df6d1d770e5b1f89cb7cf584..ce7a2ad34d1fcc163830f30e349ce5aae2a8ad0d 100644 (file)
@@ -76,7 +76,7 @@ public class RegionEnd extends RegionSE {
     /**
      * @see org.apache.fop.fo.pagination.Region#getViewportRectangle(FODimension)
      */
-    protected Rectangle getViewportRectangle (FODimension reldims) {
+    public Rectangle getViewportRectangle (FODimension reldims) {
         // Depends on extent, precedence and writing mode
         Rectangle vpRect;
         if (this.wm == WritingMode.LR_TB || this.wm == WritingMode.RL_TB) {
index 66b1e55af53e7d1b0f34e7f7906915e82213a198..476073862cdcf76727956f407b26b66c003ce2de 100644 (file)
@@ -75,7 +75,7 @@ public class RegionStart extends RegionSE {
     /**
      * @see org.apache.fop.fo.pagination.Region#getViewportRectangle(FODimension)
      */
-    protected Rectangle getViewportRectangle (FODimension reldims) {
+    public Rectangle getViewportRectangle (FODimension reldims) {
         // Depends on extent, precedence and writing mode
         // This is the rectangle relative to the page-reference area in
         // writing-mode relative coordinates
index 7c82d52e9e8e1eb833c06b2d678289a04c1dfe1c..732187728098696f29e20b9fa5d7bc7e15dc5487 100644 (file)
@@ -79,6 +79,8 @@ import org.apache.fop.fo.properties.RetrieveBoundary;
 import org.apache.fop.fo.pagination.SimplePageMaster;
 import org.apache.fop.fo.pagination.StaticContent;
 
+import org.apache.fop.fo.properties.CommonBackground;
+import org.apache.fop.fo.properties.CommonBorderAndPadding;
 import org.apache.fop.fo.properties.CommonMarginBlock;
 import org.apache.fop.fo.properties.Constants;
 
@@ -87,6 +89,7 @@ import java.util.List;
 import java.util.Map;
 import java.awt.Rectangle;
 import java.util.Iterator;
+import java.awt.geom.Rectangle2D;
 
 /**
  * LayoutManager for a PageSequence and its flow.
@@ -781,7 +784,7 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable
        for (Iterator regenum = spm.getRegions().values().iterator();
             regenum.hasNext();) {
            Region r = (Region)regenum.next();
-           RegionViewport rvp = r.makeRegionViewport(reldims, pageCTM);
+           RegionViewport rvp = makeRegionViewport(r, reldims, pageCTM);
            rvp.setRegion(r.makeRegionReferenceArea(rvp.getViewArea()));
            page.setRegion(r.getRegionAreaClass(), rvp);
            if (r.getRegionAreaClass() == RegionReference.BODY) {
@@ -797,5 +800,36 @@ public class PageLayoutManager extends AbstractLayoutManager implements Runnable
 
     }
 
+    /**
+     * Creates a RegionViewport Area object for this pagination Region.
+     * @param reldims relative dimensions
+     * @param pageCTM page coordinate transformation matrix
+     * @return the new region viewport
+     */
+    public RegionViewport makeRegionViewport(Region r, FODimension reldims, CTM pageCTM) {
+        Rectangle2D relRegionRect = r. getViewportRectangle(reldims);
+        Rectangle2D absRegionRect = pageCTM.transform(relRegionRect);
+        // Get the region viewport rectangle in absolute coords by
+        // transforming it using the page CTM
+        RegionViewport rv = new RegionViewport(absRegionRect);
+        setRegionViewportTraits(r, rv);
+        return rv;
+    }
+
+    /**
+     * Set the region viewport traits.
+     * The viewport has the border, background and
+     * clipping overflow traits.
+     *
+     * @param r the region viewport
+     */
+    protected void setRegionViewportTraits(Region r, RegionViewport rv) {
+        // Common Border, Padding, and Background Properties
+        CommonBorderAndPadding bap = r.getPropertyManager().getBorderAndPadding();
+        CommonBackground bProps = r.getPropertyManager().getBackgroundProps();
+        TraitSetter.addBorders(rv, bap);
+        TraitSetter.addBackground(rv, bProps);
+    }
+
 }