vmote       2003/08/27 08:33:59

  Modified:    src/java/org/apache/fop/fo/pagination Region.java
                        RegionBody.java
               src/java/org/apache/fop/layoutmgr PageLayoutManager.java
  Log:
  1. move fo/pagination/Region.makeRegionReferenceArea() to 
layoutmgr/PageLayoutManager.makeRegionReferenceArea()
  2. move fo/pagination/RegionBody.makeRegionReferenceArea() 
layoutmgr/PageLayoutManager.makeRegionBodyReferenceArea()
  
  Revision  Changes    Path
  1.9       +2 -15     xml-fop/src/java/org/apache/fop/fo/pagination/Region.java
  
  Index: Region.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/Region.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- Region.java       27 Aug 2003 01:51:06 -0000      1.8
  +++ Region.java       27 Aug 2003 15:33:59 -0000      1.9
  @@ -88,7 +88,7 @@
       private String regionName;
   
       /** Holds the overflow attribute */
  -    protected int overflow;
  +    public int overflow;
       /** Holds the writing mode */
       protected int wm;
   
  @@ -138,19 +138,6 @@
       public abstract Rectangle getViewportRectangle(FODimension pageRefRect);
   
       /**
  -     * Create the region reference area for this region master.
  -     * @param absRegVPRect The region viewport rectangle is "absolute" coordinates
  -     * where x=distance from left, y=distance from bottom, width=right-left
  -     * height=top-bottom
  -     * @return a new region reference area
  -     */
  -    public RegionReference makeRegionReferenceArea(Rectangle2D absRegVPRect) {
  -        RegionReference r = new RegionReference(getRegionAreaClass());
  -        setRegionPosition(r, absRegVPRect);
  -        return r;
  -    }
  -
  -    /**
        * Set the region position inside the region viewport.
        * This sets the trasnform that is used to place the contents of
        * the region.
  @@ -158,7 +145,7 @@
        * @param r the region reference area
        * @param absRegVPRect the rectangle to place the region contents
        */
  -    protected void setRegionPosition(RegionReference r, Rectangle2D absRegVPRect) {
  +    public void setRegionPosition(RegionReference r, Rectangle2D absRegVPRect) {
           FODimension reldims = new FODimension(0, 0);
           r.setCTM(CTM.getCTMandRelDims(propMgr.getAbsRefOrient(),
                   propMgr.getWritingMode(), absRegVPRect, reldims));
  
  
  
  1.6       +0 -26     xml-fop/src/java/org/apache/fop/fo/pagination/RegionBody.java
  
  Index: RegionBody.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/fo/pagination/RegionBody.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RegionBody.java   27 Aug 2003 01:51:06 -0000      1.5
  +++ RegionBody.java   27 Aug 2003 15:33:59 -0000      1.6
  @@ -60,7 +60,6 @@
   import org.apache.fop.fo.FOTreeVisitor;
   import org.apache.fop.fo.PropertyList;
   import org.apache.fop.fo.Property;
  -import org.apache.fop.fo.properties.Overflow;
   import org.apache.fop.fo.properties.WritingMode;
   import org.apache.fop.datatypes.ColorType;
   import org.apache.fop.datatypes.FODimension;
  @@ -144,31 +143,6 @@
        */
       public int getRegionAreaClass() {
           return RegionReference.BODY;
  -    }
  -
  -    /**
  -     * Override the inherited method.
  -     * @see org.apache.fop.fo.pagination.Region#makeRegionReferenceArea(Rectangle2D)
  -     */
  -    public RegionReference makeRegionReferenceArea(Rectangle2D absRegVPRect) {
  -        // Should set some column stuff here I think, or put it elsewhere
  -        BodyRegion body = new BodyRegion();
  -        setRegionPosition(body, absRegVPRect);
  -        int columnCount =
  -                this.properties.get("column-count").getNumber().intValue();
  -        if ((columnCount > 1) && (overflow == Overflow.SCROLL)) {
  -            // recover by setting 'column-count' to 1. This is allowed but
  -            // not required by the spec.
  -            getLogger().error("Setting 'column-count' to 1 because "
  -                    + "'overflow' is set to 'scroll'");
  -            columnCount = 1;
  -        }
  -        body.setColumnCount(columnCount);
  -
  -        int columnGap =
  -                this.properties.get("column-gap").getLength().getValue();
  -        body.setColumnGap(columnGap);
  -        return body;
       }
   
       /**
  
  
  
  1.11      +46 -2     xml-fop/src/java/org/apache/fop/layoutmgr/PageLayoutManager.java
  
  Index: PageLayoutManager.java
  ===================================================================
  RCS file: 
/home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/PageLayoutManager.java,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- PageLayoutManager.java    27 Aug 2003 01:51:06 -0000      1.10
  +++ PageLayoutManager.java    27 Aug 2003 15:33:59 -0000      1.11
  @@ -83,6 +83,7 @@
   import org.apache.fop.fo.properties.CommonBorderAndPadding;
   import org.apache.fop.fo.properties.CommonMarginBlock;
   import org.apache.fop.fo.properties.Constants;
  +import org.apache.fop.fo.properties.Overflow;
   
   import java.util.ArrayList;
   import java.util.List;
  @@ -785,7 +786,11 @@
               regenum.hasNext();) {
              Region r = (Region)regenum.next();
              RegionViewport rvp = makeRegionViewport(r, reldims, pageCTM);
  -           rvp.setRegion(r.makeRegionReferenceArea(rvp.getViewArea()));
  +           if (r.getRegionAreaClass() == RegionReference.BODY) {
  +               rvp.setRegion(makeRegionBodyReferenceArea(r, rvp.getViewArea()));
  +           } else {
  +               rvp.setRegion(makeRegionReferenceArea(r, rvp.getViewArea()));
  +           }
              page.setRegion(r.getRegionAreaClass(), rvp);
              if (r.getRegionAreaClass() == RegionReference.BODY) {
                  bHasBody = true;
  @@ -831,5 +836,44 @@
           TraitSetter.addBackground(rv, bProps);
       }
   
  -}
  +    /**
  +     * Override the inherited method.
  +     * @see org.apache.fop.fo.pagination.Region#makeRegionReferenceArea(Rectangle2D)
  +     */
  +    public RegionReference makeRegionBodyReferenceArea(Region r,
  +            Rectangle2D absRegVPRect) {
  +        // Should set some column stuff here I think, or put it elsewhere
  +        BodyRegion body = new BodyRegion();
  +        r.setRegionPosition(body, absRegVPRect);
  +        int columnCount =
  +                r.properties.get("column-count").getNumber().intValue();
  +        if ((columnCount > 1) && (r.overflow == Overflow.SCROLL)) {
  +            // recover by setting 'column-count' to 1. This is allowed but
  +            // not required by the spec.
  +            getLogger().error("Setting 'column-count' to 1 because "
  +                    + "'overflow' is set to 'scroll'");
  +            columnCount = 1;
  +        }
  +        body.setColumnCount(columnCount);
  +
  +        int columnGap =
  +                r.properties.get("column-gap").getLength().getValue();
  +        body.setColumnGap(columnGap);
  +        return body;
  +    }
   
  +    /**
  +     * Create the region reference area for this region master.
  +     * @param absRegVPRect The region viewport rectangle is "absolute" coordinates
  +     * where x=distance from left, y=distance from bottom, width=right-left
  +     * height=top-bottom
  +     * @return a new region reference area
  +     */
  +    public RegionReference makeRegionReferenceArea(Region r,
  +            Rectangle2D absRegVPRect) {
  +        RegionReference rr = new RegionReference(r.getRegionAreaClass());
  +        r.setRegionPosition(rr, absRegVPRect);
  +        return rr;
  +    }
  +
  +}
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to