gmazza 2005/03/11 18:14:39 Modified: src/java/org/apache/fop/area PageViewport.java Span.java src/java/org/apache/fop/layoutmgr PageSequenceLayoutManager.java Log: More simplifications to PSLM. Revision Changes Path 1.13 +9 -0 xml-fop/src/java/org/apache/fop/area/PageViewport.java Index: PageViewport.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/PageViewport.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- PageViewport.java 20 Feb 2005 19:50:47 -0000 1.12 +++ PageViewport.java 12 Mar 2005 02:14:38 -0000 1.13 @@ -81,6 +81,15 @@ } /** + * Convenience method to get BodyRegion of this PageViewport + * @return BodyRegion object + */ + public BodyRegion getBodyRegion() { + return (BodyRegion) + getPage().getRegionViewport(Constants.FO_REGION_BODY).getRegion(); + } + + /** * Set if this viewport should clip. * @param c true if this viewport should clip */ 1.5 +0 -9 xml-fop/src/java/org/apache/fop/area/Span.java Index: Span.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/area/Span.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- Span.java 11 Mar 2005 07:23:43 -0000 1.4 +++ Span.java 12 Mar 2005 02:14:39 -0000 1.5 @@ -46,15 +46,6 @@ } /** - * Add a normal-flow-reference-area to this span-reference-area. - * - * @param flow the normal-flow-reference-area to add - */ - public void addNormalFlow(NormalFlow flow) { - flowAreas.add(flow); - } - - /** * Create a new normal flow and add it to this span area * * @return the newly made NormalFlow object 1.44 +33 -40 xml-fop/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java Index: PageSequenceLayoutManager.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/PageSequenceLayoutManager.java,v retrieving revision 1.43 retrieving revision 1.44 diff -u -r1.43 -r1.44 --- PageSequenceLayoutManager.java 12 Mar 2005 01:56:33 -0000 1.43 +++ PageSequenceLayoutManager.java 12 Mar 2005 02:14:39 -0000 1.44 @@ -81,9 +81,6 @@ /** Current page being worked on. */ private PageViewport curPage; - /** Body region of the current page */ - private BodyRegion curBody; - /** Current span being filled */ private Span curSpan; @@ -480,14 +477,37 @@ if (log.isDebugEnabled()) { log.debug("[" + curPage.getPageNumberString() + "]"); } - RegionViewport rv = curPage.getPage().getRegionViewport( - FO_REGION_BODY); - curBody = (BodyRegion) rv.getRegion(); - flowBPD = (int) curBody.getBPD(); + + flowBPD = (int) curPage.getBodyRegion().getBPD(); createSpan(1); // todo determine actual # of NormalFlows needed return curPage; } + private void createSpan(int numCols) { + // check number of columns (= all in Body or 1) + // If already have a span, get its size and position (as MinMaxOpt) + // This determines the position of the new span area + // Attention: space calculation between the span areas. + + //MinOptMax newpos ; + //if (curSpan != null) { + //newpos = curSpan.getPosition(BPD); + //newpos.add(curSpan.getDimension(BPD)); + //} + //else newpos = new MinOptMax(); + curSpan = new Span(numCols); + // get Width or Height as IPD for span + + RegionViewport rv = curPage.getPage().getRegionViewport(FO_REGION_BODY); + int ipdWidth = (int) rv.getRegion().getIPD() - + rv.getBorderAndPaddingWidthStart() - rv.getBorderAndPaddingWidthEnd(); + + curSpan.setIPD(ipdWidth); + //curSpan.setPosition(BPD, newpos); + curPage.getBodyRegion().getMainReference().addSpan(curSpan); + curFlow = curSpan.addNewNormalFlow(); + } + private void layoutStaticContent(Region region) { if (region == null) { return; @@ -532,7 +552,6 @@ private void finishPage() { if (curPage == null) { - curBody = null; curSpan = null; curFlow = null; return; @@ -546,7 +565,6 @@ // Queue for ID resolution and rendering areaTreeModel.addPage(curPage); curPage = null; - curBody = null; curSpan = null; curFlow = null; } @@ -583,7 +601,7 @@ int numCols = 1; if (span == Constants.EN_ALL) { // Assume the number of columns is stored on the curBody object. - //numCols = curBody.getProperty(NUMBER_OF_COLUMNS); + //numCols = curPage.getBodyRegion().getProperty(NUMBER_OF_COLUMNS); } if (curSpan == null) { bNeedSpan = true; @@ -607,17 +625,17 @@ } // Now handle different kinds of areas if (aclass == Area.CLASS_BEFORE_FLOAT) { - BeforeFloat bf = curBody.getBeforeFloat(); + BeforeFloat bf = curPage.getBodyRegion().getBeforeFloat(); if (bf == null) { bf = new BeforeFloat(); - curBody.setBeforeFloat(bf); + curPage.getBodyRegion().setBeforeFloat(bf); } return bf; } else if (aclass == Area.CLASS_FOOTNOTE) { - Footnote fn = curBody.getFootnote(); + Footnote fn = curPage.getBodyRegion().getFootnote(); if (fn == null) { fn = new Footnote(); - curBody.setFootnote(fn); + curPage.getBodyRegion().setFootnote(fn); } return fn; } @@ -699,31 +717,6 @@ } } - private void createSpan(int numCols) { - // check number of columns (= all in Body or 1) - // If already have a span, get its size and position (as MinMaxOpt) - // This determines the position of the new span area - // Attention: space calculation between the span areas. - - //MinOptMax newpos ; - //if (curSpan != null) { - //newpos = curSpan.getPosition(BPD); - //newpos.add(curSpan.getDimension(BPD)); - //} - //else newpos = new MinOptMax(); - curSpan = new Span(numCols); - // get Width or Height as IPD for span - - RegionViewport rv = curPage.getPage().getRegionViewport(FO_REGION_BODY); - int ipdWidth = (int) rv.getRegion().getIPD() - - rv.getBorderAndPaddingWidthStart() - rv.getBorderAndPaddingWidthEnd(); - - curSpan.setIPD(ipdWidth); - //curSpan.setPosition(BPD, newpos); - curBody.getMainReference().addSpan(curSpan); - curFlow = curSpan.addNewNormalFlow(); - } - private PageViewport createPageAreas(SimplePageMaster spm) { int pageWidth = spm.getPageWidth().getValue(); int pageHeight = spm.getPageHeight().getValue();
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]