pietsch     2002/07/16 12:13:26

  Modified:    src/org/apache/fop/fo/pagination Tag: fop-0_20_2-maintain
                        RegionAfter.java RegionBefore.java RegionEnd.java
                        RegionStart.java SimplePageMaster.java
               src/org/apache/fop/layout Tag: fop-0_20_2-maintain
                        AreaContainer.java RegionArea.java
               src/org/apache/fop/render Tag: fop-0_20_2-maintain
                        AbstractRenderer.java Renderer.java
               src/org/apache/fop/render/awt Tag: fop-0_20_2-maintain
                        AWTRenderer.java
               src/org/apache/fop/render/mif Tag: fop-0_20_2-maintain
                        MIFRenderer.java
               src/org/apache/fop/render/pcl Tag: fop-0_20_2-maintain
                        PCLRenderer.java
               src/org/apache/fop/render/pdf Tag: fop-0_20_2-maintain
                        PDFRenderer.java
               src/org/apache/fop/render/ps Tag: fop-0_20_2-maintain
                        PSRenderer.java
               src/org/apache/fop/render/svg Tag: fop-0_20_2-maintain
                        SVGRenderer.java
               src/org/apache/fop/render/txt Tag: fop-0_20_2-maintain
                        TXTRenderer.java
               src/org/apache/fop/render/xml Tag: fop-0_20_2-maintain
                        XMLRenderer.java
  Log:
  Implementes background properties for all regions and precedence
  of regions (lr-tb writing mode only)
  Submitted by: Oleg Tkachenko [EMAIL PROTECTED]
  Reviewed by:  J.Pietschmann
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.9.2.2   +18 -1     xml-fop/src/org/apache/fop/fo/pagination/RegionAfter.java
  
  Index: RegionAfter.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/RegionAfter.java,v
  retrieving revision 1.9.2.1
  retrieving revision 1.9.2.2
  diff -u -r1.9.2.1 -r1.9.2.2
  --- RegionAfter.java  23 Apr 2002 22:25:25 -0000      1.9.2.1
  +++ RegionAfter.java  16 Jul 2002 19:13:23 -0000      1.9.2.2
  @@ -65,6 +65,20 @@
        return area;
       }
   
  +    RegionArea makeRegionArea(int allocationRectangleXPosition,
  +                              int allocationRectangleYPosition,
  +                              int allocationRectangleWidth,
  +                              int allocationRectangleHeight,
  +                              int startExtent, int endExtent) {
  +        if (getPrecedence() == false) {
  +            allocationRectangleXPosition += startExtent;
  +            allocationRectangleWidth -= startExtent + endExtent;
  +        }
  +        return makeRegionArea(allocationRectangleXPosition,
  +                              allocationRectangleYPosition,
  +                              allocationRectangleWidth,
  +                              allocationRectangleHeight);
  +    }
   
       protected String getDefaultRegionName() {
           return "xsl-region-after";
  @@ -82,4 +96,7 @@
           return (precedence == Precedence.TRUE ? true : false);
       }
   
  +    public int getExtent() {
  +        return properties.get("extent").getLength().mvalue();
  +    }
   }
  
  
  
  1.9.2.2   +18 -1     xml-fop/src/org/apache/fop/fo/pagination/RegionBefore.java
  
  Index: RegionBefore.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/RegionBefore.java,v
  retrieving revision 1.9.2.1
  retrieving revision 1.9.2.2
  diff -u -r1.9.2.1 -r1.9.2.2
  --- RegionBefore.java 23 Apr 2002 22:25:25 -0000      1.9.2.1
  +++ RegionBefore.java 16 Jul 2002 19:13:23 -0000      1.9.2.2
  @@ -65,6 +65,20 @@
        return area;
       }
   
  +    RegionArea makeRegionArea(int allocationRectangleXPosition,
  +                              int allocationRectangleYPosition,
  +                              int allocationRectangleWidth,
  +                              int allocationRectangleHeight,
  +                              int startExtent, int endExtent) {
  +        if (getPrecedence() == false) {
  +            allocationRectangleXPosition += startExtent;
  +            allocationRectangleWidth -= startExtent + endExtent;
  +        }
  +        return makeRegionArea(allocationRectangleXPosition,
  +                              allocationRectangleYPosition,
  +                              allocationRectangleWidth,
  +                              allocationRectangleHeight);
  +    }
   
       protected String getDefaultRegionName() {
           return "xsl-region-before";
  @@ -82,4 +96,7 @@
           return (precedence == Precedence.TRUE ? true : false);
       }
   
  +    public int getExtent() {
  +        return properties.get("extent").getLength().mvalue();
  +    }
   }
  
  
  
  1.3.2.2   +9 -6      xml-fop/src/org/apache/fop/fo/pagination/RegionEnd.java
  
  Index: RegionEnd.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/RegionEnd.java,v
  retrieving revision 1.3.2.1
  retrieving revision 1.3.2.2
  diff -u -r1.3.2.1 -r1.3.2.2
  --- RegionEnd.java    23 Apr 2002 22:25:25 -0000      1.3.2.1
  +++ RegionEnd.java    16 Jul 2002 19:13:23 -0000      1.3.2.2
  @@ -43,18 +43,18 @@
                                 int allocationRectangleWidth,
                                 int allocationRectangleHeight,
                                 boolean beforePrecedence,
  -                              boolean afterPrecedence, int beforeHeight,
  -                              int afterHeight) {
  +                              boolean afterPrecedence, int beforeExtent,
  +                              int afterExtent) {
           int extent = this.properties.get("extent").getLength().mvalue();
   
           int startY = allocationRectangleYPosition;
           int startH = allocationRectangleHeight;
           if (beforePrecedence) {
  -            startY -= beforeHeight;
  -            startH -= beforeHeight;
  +            startY -= beforeExtent;
  +            startH -= beforeExtent;
           }
           if (afterPrecedence)
  -            startH -= afterHeight;
  +            startH -= afterExtent;
           RegionArea area = new RegionArea(allocationRectangleXPosition
                                         + allocationRectangleWidth - extent,
                                         startY, extent, startH);
  @@ -98,4 +98,7 @@
           return REGION_CLASS;
       }
   
  +    public int getExtent() {
  +        return properties.get("extent").getLength().mvalue();
  +    }
   }
  
  
  
  1.3.2.2   +9 -6      xml-fop/src/org/apache/fop/fo/pagination/RegionStart.java
  
  Index: RegionStart.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/RegionStart.java,v
  retrieving revision 1.3.2.1
  retrieving revision 1.3.2.2
  diff -u -r1.3.2.1 -r1.3.2.2
  --- RegionStart.java  23 Apr 2002 22:25:25 -0000      1.3.2.1
  +++ RegionStart.java  16 Jul 2002 19:13:23 -0000      1.3.2.2
  @@ -43,18 +43,18 @@
                                 int allocationRectangleWidth,
                                 int allocationRectangleHeight,
                                 boolean beforePrecedence,
  -                              boolean afterPrecedence, int beforeHeight,
  -                              int afterHeight) {
  +                              boolean afterPrecedence, int beforeExtent,
  +                              int afterExtent) {
           int extent = this.properties.get("extent").getLength().mvalue();
   
           int startY = allocationRectangleYPosition;
           int startH = allocationRectangleHeight;
           if (beforePrecedence) {
  -            startY -= beforeHeight;
  -            startH -= beforeHeight;
  +            startY -= beforeExtent;
  +            startH -= beforeExtent;
           }
           if (afterPrecedence)
  -            startH -= afterHeight;
  +            startH -= afterExtent;
           RegionArea area = new RegionArea(allocationRectangleXPosition,
                                         startY, extent, startH);
        area.setBackground(propMgr.getBackgroundProps());
  @@ -96,4 +96,7 @@
           return REGION_CLASS;
       }
   
  +    public int getExtent() {
  +        return properties.get("extent").getLength().mvalue();
  +    }
   }
  
  
  
  1.15.2.1  +41 -49    xml-fop/src/org/apache/fop/fo/pagination/SimplePageMaster.java
  
  Index: SimplePageMaster.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/fo/pagination/SimplePageMaster.java,v
  retrieving revision 1.15
  retrieving revision 1.15.2.1
  diff -u -r1.15 -r1.15.2.1
  --- SimplePageMaster.java     11 Sep 2001 10:04:25 -0000      1.15
  +++ SimplePageMaster.java     16 Jul 2002 19:13:23 -0000      1.15.2.1
  @@ -43,10 +43,9 @@
       String masterName;
   
       // before and after data as required by start and end
  -    boolean beforePrecedence;
  -    int beforeHeight;
  -    boolean afterPrecedence;
  -    int afterHeight;
  +    boolean beforePrecedence = false;
  +    int beforeExtent, afterExtent, startExtent, endExtent;
  +    boolean afterPrecedence = false;
   
       protected SimplePageMaster(FObj parent, PropertyList propertyList)
               throws FOPException {
  @@ -88,63 +87,56 @@
                                       - mProps.marginRight;
           int contentRectangleHeight = pageHeight - mProps.marginTop
                                        - mProps.marginBottom;
  -
           this.pageMaster = new PageMaster(pageWidth, pageHeight);
  -        if (getRegion(RegionBody.REGION_CLASS) != null) {
  -            BodyRegionArea body =
  -                
(BodyRegionArea)getRegion(RegionBody.REGION_CLASS).makeRegionArea(contentRectangleXPosition,
  -                                          contentRectangleYPosition,
  -                                          contentRectangleWidth,
  -                                          contentRectangleHeight);
  -            this.pageMaster.addBody(body);
  -        } else {
  +        Region body = getRegion(RegionBody.REGION_CLASS);
  +        RegionBefore before = (RegionBefore)getRegion(RegionBefore.REGION_CLASS);
  +        RegionAfter after = (RegionAfter)getRegion(RegionAfter.REGION_CLASS);
  +        RegionStart start = (RegionStart)getRegion(RegionStart.REGION_CLASS);
  +        RegionEnd end = (RegionEnd)getRegion(RegionEnd.REGION_CLASS);
  +        if (before != null) {
  +            beforePrecedence = before.getPrecedence();
  +            beforeExtent = before.getExtent();
  +        }
  +        if (after != null) {
  +            afterPrecedence = after.getPrecedence();
  +            afterExtent = after.getExtent();
  +        }
  +        if (start != null)
  +            startExtent = start.getExtent();
  +        if (end != null)
  +            endExtent = end.getExtent();
  +
  +        if (body != null)
  +            this.pageMaster.addBody((BodyRegionArea)body.makeRegionArea(
  +                    contentRectangleXPosition,
  +                    contentRectangleYPosition,
  +                    contentRectangleWidth,
  +                    contentRectangleHeight));
  +        else
               log.error("simple-page-master must have a region of class "
                                      + RegionBody.REGION_CLASS);
  -        }
   
  -        if (getRegion(RegionBefore.REGION_CLASS) != null) {
  -            RegionArea before =
  -                
getRegion(RegionBefore.REGION_CLASS).makeRegionArea(contentRectangleXPosition,
  +        if (before != null)
  +            
this.pageMaster.addBefore(before.makeRegionArea(contentRectangleXPosition,
                             contentRectangleYPosition, contentRectangleWidth,
  -                          contentRectangleHeight);
  -            this.pageMaster.addBefore(before);
  -            beforePrecedence =
  -                
((RegionBefore)getRegion(RegionBefore.REGION_CLASS)).getPrecedence();
  -            beforeHeight = before.getHeight();
  -        } else {
  -            beforePrecedence = false;
  -        }
  +                          contentRectangleHeight, startExtent, endExtent));
   
  -        if (getRegion(RegionAfter.REGION_CLASS) != null) {
  -            RegionArea after =
  -                
getRegion(RegionAfter.REGION_CLASS).makeRegionArea(contentRectangleXPosition,
  +        if (after != null)
  +            this.pageMaster.addAfter(after.makeRegionArea(contentRectangleXPosition,
                             contentRectangleYPosition, contentRectangleWidth,
  -                          contentRectangleHeight);
  -            this.pageMaster.addAfter(after);
  -            afterPrecedence =
  -                ((RegionAfter)getRegion(RegionAfter.REGION_CLASS)).getPrecedence();
  -            afterHeight = after.getHeight();
  -        } else {
  -            afterPrecedence = false;
  -        }
  +                          contentRectangleHeight, startExtent, endExtent));
   
  -        if (getRegion(RegionStart.REGION_CLASS) != null) {
  -            RegionArea start =
  -                
((RegionStart)getRegion(RegionStart.REGION_CLASS)).makeRegionArea(contentRectangleXPosition,
  +        if (start != null)
  +            this.pageMaster.addStart(start.makeRegionArea(contentRectangleXPosition,
                       contentRectangleYPosition, contentRectangleWidth,
                       contentRectangleHeight, beforePrecedence,
  -                    afterPrecedence, beforeHeight, afterHeight);
  -            this.pageMaster.addStart(start);
  -        }
  +                    afterPrecedence, beforeExtent, afterExtent));
   
  -        if (getRegion(RegionEnd.REGION_CLASS) != null) {
  -            RegionArea end =
  -                
((RegionEnd)getRegion(RegionEnd.REGION_CLASS)).makeRegionArea(contentRectangleXPosition,
  +        if (end != null)
  +            this.pageMaster.addEnd(end.makeRegionArea(contentRectangleXPosition,
                       contentRectangleYPosition, contentRectangleWidth,
                       contentRectangleHeight, beforePrecedence,
  -                    afterPrecedence, beforeHeight, afterHeight);
  -            this.pageMaster.addEnd(end);
  -        }
  +                    afterPrecedence, beforeExtent, afterExtent));
       }
   
       public PageMaster getPageMaster() {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.14.2.1  +14 -2     xml-fop/src/org/apache/fop/layout/Attic/AreaContainer.java
  
  Index: AreaContainer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/layout/Attic/AreaContainer.java,v
  retrieving revision 1.14
  retrieving revision 1.14.2.1
  diff -u -r1.14 -r1.14.2.1
  --- AreaContainer.java        30 Jul 2001 20:29:27 -0000      1.14
  +++ AreaContainer.java        16 Jul 2002 19:13:24 -0000      1.14.2.1
  @@ -20,6 +20,7 @@
       private int xPosition;    // should be able to take value 'left' and 'right' too
       private int yPosition;    // should be able to take value 'top' and 'bottom' too
       private int position;
  +    private boolean isRegionArea = false;
   
       // use this for identifying the general usage of the area,
       // like 'main-reference-area' or 'region-before'
  @@ -34,8 +35,19 @@
           // setIsReferenceArea(true); // Should always be true!
       }
   
  +    public AreaContainer(FontState fontState, int xPosition, int yPosition,
  +                         int allocationWidth, int maxHeight, int position,
  +                         boolean isRegionArea) {
  +        this(fontState, xPosition, yPosition, allocationWidth, maxHeight,
  +           position);
  +        this.isRegionArea = isRegionArea;
  +    }
  +
       public void render(Renderer renderer) {
  -        renderer.renderAreaContainer(this);
  +        if (isRegionArea)
  +            renderer.renderRegionAreaContainer(this);
  +        else
  +            renderer.renderAreaContainer(this);
       }
   
       public int getPosition() {
  
  
  
  1.6.2.2   +6 -2      xml-fop/src/org/apache/fop/layout/Attic/RegionArea.java
  
  Index: RegionArea.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/layout/Attic/RegionArea.java,v
  retrieving revision 1.6.2.1
  retrieving revision 1.6.2.2
  diff -u -r1.6.2.1 -r1.6.2.2
  --- RegionArea.java   23 Apr 2002 22:26:10 -0000      1.6.2.1
  +++ RegionArea.java   16 Jul 2002 19:13:24 -0000      1.6.2.2
  @@ -29,7 +29,7 @@
       public AreaContainer makeAreaContainer() {
        AreaContainer area =
            new AreaContainer(null, xPosition, yPosition, width, height,
  -                           Position.ABSOLUTE);
  +                           Position.ABSOLUTE, true);
        area.setBackground(getBackground());
        return area;
       }
  @@ -44,6 +44,10 @@
   
       public int getHeight() {
           return height;
  +    }
  +
  +    public int getWidth() {
  +        return width;
       }
   
   }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.4.2.4   +57 -1     xml-fop/src/org/apache/fop/render/AbstractRenderer.java
  
  Index: AbstractRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/AbstractRenderer.java,v
  retrieving revision 1.4.2.3
  retrieving revision 1.4.2.4
  diff -u -r1.4.2.3 -r1.4.2.4
  --- AbstractRenderer.java     8 May 2002 15:18:48 -0000       1.4.2.3
  +++ AbstractRenderer.java     16 Jul 2002 19:13:24 -0000      1.4.2.4
  @@ -338,6 +338,45 @@
       }
   
       /**
  +     * render region area container
  +     *
  +     * @param area the region area container to render
  +     */
  +    public void renderRegionAreaContainer(AreaContainer area) {
  +        int saveY = this.currentYPosition;
  +        int saveX = this.currentAreaContainerXPosition;
  +
  +        if (area.getPosition() == Position.ABSOLUTE) {
  +            // Y position is computed assuming positive Y axis, adjust for negative 
postscript one
  +            this.currentYPosition = area.getYPosition();
  +            this.currentAreaContainerXPosition = area.getXPosition();
  +        } else if (area.getPosition() == Position.RELATIVE) {
  +            this.currentYPosition -= area.getYPosition();
  +            this.currentAreaContainerXPosition += area.getXPosition();
  +        }
  +
  +        this.currentXPosition = this.currentAreaContainerXPosition;
  +        int rx = this.currentAreaContainerXPosition;
  +        int ry = this.currentYPosition;
  +        int w = area.getAllocationWidth();
  +        int h = area.getMaxHeight();
  +
  +        doBackground(area, rx, ry, w, h);
  +
  +        Enumeration e = area.getChildren().elements();
  +        while (e.hasMoreElements()) {
  +            Box b = (Box)e.nextElement();
  +            b.render(this);    // span areas
  +        }
  +
  +        if (area.getPosition() != Position.STATIC) {
  +            this.currentYPosition = saveY;
  +            this.currentAreaContainerXPosition = saveX;
  +        } else
  +            this.currentYPosition -= area.getHeight();
  +    }
  +
  +    /**
        * render area container
        *
        * @param area the area container to render
  @@ -439,5 +478,22 @@
   
           this.currentYPosition = ry - h;
           this.currentXPosition = rx;
  +    }
  +
  +    /**
  +     * render region areas
  +     *
  +     * @param page the page whose regions to render
  +     */
  +    public void renderRegions(Page page) {
  +        page.getBody().render(this);
  +        if (page.getBefore() != null)
  +            page.getBefore().render(this);
  +        if (page.getAfter() != null)
  +            page.getAfter().render(this);
  +        if (page.getStart() != null)
  +            page.getStart().render(this);
  +        if (page.getEnd() != null)
  +            page.getEnd().render(this);
       }
   }
  
  
  
  1.19.2.4  +6 -1      xml-fop/src/org/apache/fop/render/Renderer.java
  
  Index: Renderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/Renderer.java,v
  retrieving revision 1.19.2.3
  retrieving revision 1.19.2.4
  diff -u -r1.19.2.3 -r1.19.2.4
  --- Renderer.java     15 Jul 2002 19:28:06 -0000      1.19.2.3
  +++ Renderer.java     16 Jul 2002 19:13:24 -0000      1.19.2.4
  @@ -66,6 +66,11 @@
       public void renderBodyAreaContainer(BodyAreaContainer area);
   
       /**
  +     * render the given region area container
  +     */
  +    public void renderRegionAreaContainer(AreaContainer area);
  +
  +    /**
        * render the given span area
        */
       public void renderSpanArea(SpanArea area);
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.38.2.6  +2 -17     xml-fop/src/org/apache/fop/render/awt/AWTRenderer.java
  
  Index: AWTRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/awt/AWTRenderer.java,v
  retrieving revision 1.38.2.5
  retrieving revision 1.38.2.6
  diff -u -r1.38.2.5 -r1.38.2.6
  --- AWTRenderer.java  15 Jul 2002 19:28:07 -0000      1.38.2.5
  +++ AWTRenderer.java  16 Jul 2002 19:13:24 -0000      1.38.2.6
  @@ -380,26 +380,11 @@
       }
   
       public void renderPage(Page page) {
  -        BodyAreaContainer body;
  -        AreaContainer before, after;
  -
  -        body = page.getBody();
  -        before = page.getBefore();
  -        after = page.getAfter();
   
           this.currentFontName = "";
           this.currentFontSize = 0;
   
  -        renderBodyAreaContainer(body);
  -
  -        if (before != null) {
  -            renderAreaContainer(before);
  -        }
  -
  -        if (after != null) {
  -            renderAreaContainer(after);
  -        }
  -
  +        renderRegions(page);
           // SG: Wollen wir Links abbilden?
           /*
            * if (page.hasLinks()) {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.11.2.3  +4 -4      xml-fop/src/org/apache/fop/render/mif/Attic/MIFRenderer.java
  
  Index: MIFRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/mif/Attic/MIFRenderer.java,v
  retrieving revision 1.11.2.2
  retrieving revision 1.11.2.3
  diff -u -r1.11.2.2 -r1.11.2.3
  --- MIFRenderer.java  15 Jul 2002 19:28:07 -0000      1.11.2.2
  +++ MIFRenderer.java  16 Jul 2002 19:13:24 -0000      1.11.2.3
  @@ -361,7 +361,7 @@
   
           this.mifDoc.createPage();
   
  -        renderBodyAreaContainer(body);
  +        body.render(this);
   
   
           // If the area is an instance of anything other than body, it goes into the
  @@ -371,13 +371,13 @@
           if (before != null) {
   
               this.mifDoc.createTextRect(1);    // Create a rect with one col
  -            renderAreaContainer(before);
  +            before.render(this);
           }
   
           if (after != null) {
   
               this.mifDoc.createTextRect(1);    // Create a rect with one col
  -            renderAreaContainer(after);
  +            after.render(this);
           }
   
       }
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.13.2.3  +7 -27     xml-fop/src/org/apache/fop/render/pcl/PCLRenderer.java
  
  Index: PCLRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/pcl/PCLRenderer.java,v
  retrieving revision 1.13.2.2
  retrieving revision 1.13.2.3
  diff -u -r1.13.2.2 -r1.13.2.3
  --- PCLRenderer.java  15 Jul 2002 19:28:07 -0000      1.13.2.2
  +++ PCLRenderer.java  16 Jul 2002 19:13:25 -0000      1.13.2.3
  @@ -172,8 +172,8 @@
                   w = 720;
               if (h > 0 && h < 720)
                   h = 720;
  -            else if (h < 0 && h > -720)
  -                h = -720;
  +            else if (h < 0 && h > -720)
  +                h = -720;
               addRect(x, y, w, h, stroke, stroke);
           } else {
               addRect(x, y, w, 720, stroke, stroke);
  @@ -198,9 +198,9 @@
           if ((w == 0) || (h == 0))
               return;
           if (h < 0)
  -            h *= -1;
  -        else
  -            y += h;
  +            h *= -1;
  +        else
  +            y += h;
   
   
           PDFColor sc = (PDFColor)stroke;
  @@ -676,8 +676,6 @@
           if (debug)
               System.out.println("PCLRenderer.renderPage() page.Height() = "
                                  + page.getHeight());
  -        BodyAreaContainer body;
  -        AreaContainer before, after, start, end;
   
           if (paperheight > 0 && divisions == -1)
               divisions = paperheight / (page.getHeight() / 100);
  @@ -710,28 +708,10 @@
               currentStream.add("\033&k" + (leftmargin / 6f)
                                 + "H\033&a1L\033&k12H");
   
  -        body = page.getBody();
  -        before = page.getBefore();
  -        after = page.getAfter();
  -        start = page.getStart();
  -        end = page.getEnd();
  -
           this.currentFontName = "";
           this.currentFontSize = 0;
   
  -        renderBodyAreaContainer(body);
  -
  -        if (before != null)
  -            renderAreaContainer(before);
  -
  -        if (after != null)
  -            renderAreaContainer(after);
  -
  -        if (start != null)
  -            renderAreaContainer(start);
  -
  -        if (end != null)
  -            renderAreaContainer(end);
  +        renderRegions(page);
   
           // End page.
           if (++curdiv == divisions || divisions == -1) {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.91.2.7  +2 -28     xml-fop/src/org/apache/fop/render/pdf/PDFRenderer.java
  
  Index: PDFRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/pdf/PDFRenderer.java,v
  retrieving revision 1.91.2.6
  retrieving revision 1.91.2.7
  diff -u -r1.91.2.6 -r1.91.2.7
  --- PDFRenderer.java  15 Jul 2002 19:28:07 -0000      1.91.2.6
  +++ PDFRenderer.java  16 Jul 2002 19:13:25 -0000      1.91.2.7
  @@ -828,41 +828,15 @@
        * @param page  page to render
        */
       public void renderPage(Page page) {
  -        BodyAreaContainer body;
  -        AreaContainer before;
  -        AreaContainer after;
  -        AreaContainer start;
  -        AreaContainer end;
  -
           currentStream = this.pdfDoc.makeStream();
  -        body = page.getBody();
  -        before = page.getBefore();
  -        after = page.getAfter();
  -        start = page.getStart();
  -        end = page.getEnd();
   
           this.currentFontName = "";
           this.currentFontSize = 0;
   
           currentStream.add("BT\n");
   
  -        renderBodyAreaContainer(body);
  -
  -        if (before != null) {
  -            renderAreaContainer(before);
  -        }
  -
  -        if (after != null) {
  -            renderAreaContainer(after);
  -        }
  -
  -        if (start != null) {
  -            renderAreaContainer(start);
  -        }
  +        renderRegions(page);
   
  -        if (end != null) {
  -            renderAreaContainer(end);
  -        }
           closeText();
   
           float w = page.getWidth();
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.15.2.7  +2 -13     xml-fop/src/org/apache/fop/render/ps/PSRenderer.java
  
  Index: PSRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/ps/PSRenderer.java,v
  retrieving revision 1.15.2.6
  retrieving revision 1.15.2.7
  diff -u -r1.15.2.6 -r1.15.2.7
  --- PSRenderer.java   15 Jul 2002 19:28:07 -0000      1.15.2.6
  +++ PSRenderer.java   16 Jul 2002 19:13:25 -0000      1.15.2.7
  @@ -791,8 +791,6 @@
           this.pagecount++;
           this.idReferences = page.getIDReferences();
   
  -        BodyAreaContainer body;
  -        AreaContainer before, after;
           write("%%Page: " + page.getNumber() + " " + page.getNumber());
           write("%%PageBoundingBox: 0 0 " +
                   Math.round(page.getWidth() / 1000f) + " " +
  @@ -802,16 +800,7 @@
           write("FOPFonts begin");
           write("0.001 0.001 scale");
           write("%%EndPageSetup");
  -        body = page.getBody();
  -        before = page.getBefore();
  -        after = page.getAfter();
  -        if (before != null) {
  -            renderAreaContainer(before);
  -        }
  -        renderBodyAreaContainer(body);
  -        if (after != null) {
  -            renderAreaContainer(after);
  -        }
  +        renderRegions(page);
           write("showpage");
           write("%%PageTrailer");
           write("%%EndPage"); //This is non-standard, but used by Adobe.
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.3.2.4   +2 -16     xml-fop/src/org/apache/fop/render/svg/SVGRenderer.java
  
  Index: SVGRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/svg/SVGRenderer.java,v
  retrieving revision 1.3.2.3
  retrieving revision 1.3.2.4
  diff -u -r1.3.2.3 -r1.3.2.4
  --- SVGRenderer.java  15 Jul 2002 19:28:08 -0000      1.3.2.3
  +++ SVGRenderer.java  16 Jul 2002 19:13:26 -0000      1.3.2.4
  @@ -261,25 +261,11 @@
       }
   
       public void renderPage(Page page) {
  -        BodyAreaContainer body;
  -        AreaContainer before, after;
  -
  -        body = page.getBody();
  -        before = page.getBefore();
  -        after = page.getAfter();
   
           this.currentFontName = "";
           this.currentFontSize = 0;
   
  -        renderBodyAreaContainer(body);
  -
  -        if (before != null) {
  -            renderAreaContainer(before);
  -        }
  -
  -        if (after != null) {
  -            renderAreaContainer(after);
  -        }
  +        renderRegions(page);
       }
   
       protected void doFrame(org.apache.fop.layout.Area area) {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.12.2.5  +2 -22     xml-fop/src/org/apache/fop/render/txt/TXTRenderer.java
  
  Index: TXTRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/txt/TXTRenderer.java,v
  retrieving revision 1.12.2.4
  retrieving revision 1.12.2.5
  diff -u -r1.12.2.4 -r1.12.2.5
  --- TXTRenderer.java  15 Jul 2002 19:28:08 -0000      1.12.2.4
  +++ TXTRenderer.java  16 Jul 2002 19:13:26 -0000      1.12.2.5
  @@ -1606,8 +1606,6 @@
           if (debug)
               System.out.println("TXTRenderer.renderPage() page.getHeight() = "
                                  + page.getHeight());
  -        BodyAreaContainer body;
  -        AreaContainer before, after, start, end;
   
           maxX = (int)(textCPI * page.getWidth() / 72000 + 1);
           maxY = (int)(textLPI * page.getHeight() / 72000 + 1);
  @@ -1627,29 +1625,11 @@
                                  + " yFactor=" + yFactor + " paperHeight="
                                  + pageHeight);
   
  -        body = page.getBody();
  -        before = page.getBefore();
  -        after = page.getAfter();
  -        start = page.getStart();
  -        end = page.getEnd();
  -
           this.currentFontName = "";
           this.currentFontSize = 0;
   
           // currentStream.add("BT\n");
  -        renderBodyAreaContainer(body);
  -
  -        if (before != null)
  -            renderAreaContainer(before);
  -
  -        if (after != null)
  -            renderAreaContainer(after);
  -
  -        if (start != null)
  -            renderAreaContainer(start);
  -
  -        if (end != null)
  -            renderAreaContainer(end);
  +        renderRegions(page);
   
           // Write out the buffers.
           for (int row = 0; row <= maxY; row++) {
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.27.2.5  +21 -9     xml-fop/src/org/apache/fop/render/xml/XMLRenderer.java
  
  Index: XMLRenderer.java
  ===================================================================
  RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/xml/XMLRenderer.java,v
  retrieving revision 1.27.2.4
  retrieving revision 1.27.2.5
  diff -u -r1.27.2.4 -r1.27.2.5
  --- XMLRenderer.java  15 Jul 2002 19:28:08 -0000      1.27.2.4
  +++ XMLRenderer.java  16 Jul 2002 19:13:26 -0000      1.27.2.5
  @@ -227,6 +227,15 @@
       }
   
       /**
  +     * render a region area container to XML
  +     *
  +     * @param area the region area container to render
  +     */
  +    public void renderRegionAreaContainer(AreaContainer area) {
  +        renderAreaContainer(area);
  +    }
  +
  +    /**
        * render a span area to XML
        *
        * @param area the span area to render
  @@ -434,18 +443,21 @@
        */
       public void renderPage(Page page) {
           BodyAreaContainer body;
  -        AreaContainer before, after;
  +        AreaContainer before, after, start, end;
           writeStartTag("<Page number=\"" + page.getFormattedNumber() + "\">");
           body = page.getBody();
           before = page.getBefore();
           after = page.getAfter();
  -        if (before != null) {
  -            renderAreaContainer(before);
  -        }
  -        renderBodyAreaContainer(body);
  -        if (after != null) {
  -            renderAreaContainer(after);
  -        }
  +        start = page.getStart();
  +        end = page.getEnd();
  +        if (before != null)
  +            before.render(this);
  +        if (after != null)
  +            after.render(this);
  +        if (start != null)
  +            start.render(this);
  +        if (end != null)
  +            end.render(this);
           writeEndTag("</Page>");
       }
   
  
  
  

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

Reply via email to