bckfnn 2004/10/19 14:48:17 Modified: src/java/org/apache/fop/layoutmgr/table Body.java Cell.java Column.java Row.java TableLayoutManager.java Log: Third phase of performance improvement. - Use CommonBorderPaddingBackground. PR: 31699 Revision Changes Path 1.10 +6 -20 xml-fop/src/java/org/apache/fop/layoutmgr/table/Body.java Index: Body.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Body.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- Body.java 26 May 2004 04:22:40 -0000 1.9 +++ Body.java 19 Oct 2004 21:48:17 -0000 1.10 @@ -18,8 +18,7 @@ package org.apache.fop.layoutmgr.table; -import org.apache.fop.fo.FObj; -import org.apache.fop.fo.PropertyManager; +import org.apache.fop.fo.flow.TableBody; import org.apache.fop.layoutmgr.LayoutManager; import org.apache.fop.layoutmgr.BlockStackingLayoutManager; import org.apache.fop.layoutmgr.LeafPosition; @@ -32,8 +31,6 @@ import org.apache.fop.area.Area; import org.apache.fop.area.Block; import org.apache.fop.traits.MinOptMax; -import org.apache.fop.fo.properties.CommonBorderAndPadding; -import org.apache.fop.fo.properties.CommonBackground; import java.util.ArrayList; import java.util.List; @@ -44,9 +41,8 @@ * Cells are organised into rows. */ public class Body extends BlockStackingLayoutManager { - private CommonBorderAndPadding borderProps = null; - private CommonBackground backgroundProps; - + private TableBody fobj; + private boolean rows = true; private List columns; @@ -60,17 +56,9 @@ /** * Create a new body layout manager. */ - public Body(FObj node) { + public Body(TableBody node) { super(node); - } - - /** - * @see org.apache.fop.layoutmgr.AbstractLayoutManager#initProperties() - */ - protected void initProperties() { - PropertyManager pm = fobj.getPropertyManager(); - borderProps = pm.getBorderAndPadding(); - backgroundProps = pm.getBackgroundProps(); + fobj = node; } /** @@ -266,9 +254,7 @@ public Area createColumnArea() { Area curBlockArea = new Block(); - if (backgroundProps != null) { - TraitSetter.addBackground(curBlockArea, backgroundProps); - } + TraitSetter.addBackground(curBlockArea, fobj.getCommonBorderPaddingBackground()); return curBlockArea; } } 1.11 +9 -20 xml-fop/src/java/org/apache/fop/layoutmgr/table/Cell.java Index: Cell.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Cell.java,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- Cell.java 22 Sep 2004 08:25:16 -0000 1.10 +++ Cell.java 19 Oct 2004 21:48:17 -0000 1.11 @@ -18,8 +18,7 @@ package org.apache.fop.layoutmgr.table; -import org.apache.fop.fo.FObj; -import org.apache.fop.fo.PropertyManager; +import org.apache.fop.fo.flow.TableCell; import org.apache.fop.layoutmgr.BlockStackingLayoutManager; import org.apache.fop.layoutmgr.LayoutManager; import org.apache.fop.layoutmgr.LeafPosition; @@ -32,8 +31,6 @@ import org.apache.fop.area.Area; import org.apache.fop.area.Block; import org.apache.fop.traits.MinOptMax; -import org.apache.fop.fo.properties.CommonBorderAndPadding; -import org.apache.fop.fo.properties.CommonBackground; import java.util.ArrayList; import java.util.List; @@ -43,10 +40,8 @@ * A cell contains blocks. These blocks fill the cell. */ public class Cell extends BlockStackingLayoutManager { - - private CommonBorderAndPadding borderProps = null; - private CommonBackground backgroundProps; - + private TableCell fobj; + private Block curBlockArea; private List childBreaks = new ArrayList(); @@ -59,17 +54,15 @@ /** * Create a new Cell layout manager. */ - public Cell(FObj node) { + public Cell(TableCell node) { super(node); + fobj = node; } /** * @see org.apache.fop.layoutmgr.AbstractLayoutManager#initProperties() */ protected void initProperties() { - PropertyManager pm = fobj.getPropertyManager(); - borderProps = pm.getBorderAndPadding(); - backgroundProps = pm.getBackgroundProps(); } /** @@ -187,7 +180,7 @@ public void addAreas(PositionIterator parentIter, LayoutContext layoutContext) { getParentArea(null); - addID(); + addID(fobj.getId()); LayoutManager childLM; int iStartPos = 0; @@ -204,13 +197,9 @@ } } - if (borderProps != null) { - TraitSetter.addBorders(curBlockArea, borderProps); - } - if (backgroundProps != null) { - TraitSetter.addBackground(curBlockArea, backgroundProps); - } - + TraitSetter.addBorders(curBlockArea, fobj.getCommonBorderPaddingBackground()); + TraitSetter.addBackground(curBlockArea, fobj.getCommonBorderPaddingBackground()); + curBlockArea.setBPD(height); flush(); 1.7 +6 -20 xml-fop/src/java/org/apache/fop/layoutmgr/table/Column.java Index: Column.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Column.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Column.java 26 May 2004 04:22:40 -0000 1.6 +++ Column.java 19 Oct 2004 21:48:17 -0000 1.7 @@ -19,8 +19,6 @@ package org.apache.fop.layoutmgr.table; import org.apache.fop.datatypes.Length; -import org.apache.fop.fo.FObj; -import org.apache.fop.fo.PropertyManager; import org.apache.fop.layoutmgr.AbstractLayoutManager; import org.apache.fop.layoutmgr.BreakPoss; import org.apache.fop.layoutmgr.LayoutContext; @@ -29,8 +27,6 @@ import org.apache.fop.fo.flow.TableColumn; import org.apache.fop.area.Area; import org.apache.fop.area.Block; -import org.apache.fop.fo.properties.CommonBorderAndPadding; -import org.apache.fop.fo.properties.CommonBackground; /** * LayoutManager for a table-column FO. @@ -39,23 +35,15 @@ * column properties. */ public class Column extends AbstractLayoutManager { - private CommonBorderAndPadding borderProps = null; - private CommonBackground backgroundProps; + private TableColumn fobj; + /** * Create a new column layout manager. */ - public Column(FObj node) { + public Column(TableColumn node) { super(node); - } - - /** - * @see org.apache.fop.layoutmgr.AbstractLayoutManager#initProperties() - */ - protected void initProperties() { - PropertyManager pm = fobj.getPropertyManager(); - borderProps = pm.getBorderAndPadding(); - backgroundProps = pm.getBackgroundProps(); + fobj = node; } /** @@ -99,7 +87,7 @@ * @return the width of the column */ public Length getWidth() { - return ((TableColumn)fobj).getColumnWidth(); + return fobj.getColumnWidth(); } /** @@ -112,9 +100,7 @@ public Area createColumnArea() { Area curBlockArea = new Block(); - if (backgroundProps != null) { - TraitSetter.addBackground(curBlockArea, backgroundProps); - } + TraitSetter.addBackground(curBlockArea, fobj.getCommonBorderPaddingBackground()); return curBlockArea; } } 1.14 +6 -20 xml-fop/src/java/org/apache/fop/layoutmgr/table/Row.java Index: Row.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/Row.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- Row.java 12 Jun 2004 18:03:47 -0000 1.13 +++ Row.java 19 Oct 2004 21:48:17 -0000 1.14 @@ -18,8 +18,7 @@ package org.apache.fop.layoutmgr.table; -import org.apache.fop.fo.FObj; -import org.apache.fop.fo.PropertyManager; +import org.apache.fop.fo.flow.TableRow; import org.apache.fop.layoutmgr.BlockStackingLayoutManager; import org.apache.fop.layoutmgr.LayoutManager; import org.apache.fop.layoutmgr.LeafPosition; @@ -32,8 +31,6 @@ import org.apache.fop.area.Area; import org.apache.fop.area.Block; import org.apache.fop.traits.MinOptMax; -import org.apache.fop.fo.properties.CommonBorderAndPadding; -import org.apache.fop.fo.properties.CommonBackground; import java.util.Iterator; import java.util.ArrayList; @@ -47,13 +44,12 @@ * but effect the occupied columns of future rows. */ public class Row extends BlockStackingLayoutManager { - + private TableRow fobj; + private List cellList = null; private List columns = null; private int rowHeight; private int yoffset; - private CommonBorderAndPadding borderProps = null; - private CommonBackground backgroundProps; private class RowPosition extends LeafPosition { protected List cellBreaks; @@ -67,17 +63,9 @@ * Create a new row layout manager. * */ - public Row(FObj node) { + public Row(TableRow node) { super(node); - } - - /** - * @see org.apache.fop.layoutmgr.AbstractLayoutManager#initProperties() - */ - protected void initProperties() { - PropertyManager pm = fobj.getPropertyManager(); - borderProps = pm.getBorderAndPadding(); - backgroundProps = pm.getBackgroundProps(); + fobj = node; } /** @@ -376,9 +364,7 @@ */ public Area getRowArea() { Area block = new Block(); - if (backgroundProps != null) { - TraitSetter.addBackground(block, backgroundProps); - } + TraitSetter.addBackground(block, fobj.getCommonBorderPaddingBackground()); return block; } } 1.14 +8 -24 xml-fop/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java Index: TableLayoutManager.java =================================================================== RCS file: /home/cvs/xml-fop/src/java/org/apache/fop/layoutmgr/table/TableLayoutManager.java,v retrieving revision 1.13 retrieving revision 1.14 diff -u -r1.13 -r1.14 --- TableLayoutManager.java 22 Sep 2004 08:25:16 -0000 1.13 +++ TableLayoutManager.java 19 Oct 2004 21:48:17 -0000 1.14 @@ -20,8 +20,7 @@ import org.apache.fop.datatypes.Length; import org.apache.fop.datatypes.PercentBase; -import org.apache.fop.fo.FObj; -import org.apache.fop.fo.PropertyManager; +import org.apache.fop.fo.flow.Table; import org.apache.fop.fo.properties.TableColLength; import org.apache.fop.layoutmgr.BlockStackingLayoutManager; import org.apache.fop.layoutmgr.LayoutManager; @@ -35,8 +34,6 @@ import org.apache.fop.area.Area; import org.apache.fop.area.Block; import org.apache.fop.traits.MinOptMax; -import org.apache.fop.fo.properties.CommonBorderAndPadding; -import org.apache.fop.fo.properties.CommonBackground; import java.util.ArrayList; import java.util.Iterator; @@ -51,13 +48,12 @@ * the render background. */ public class TableLayoutManager extends BlockStackingLayoutManager { + private Table fobj; + private List columns = null; private Body tableHeader = null; private Body tableFooter = null; - private CommonBorderAndPadding borderProps = null; - private CommonBackground backgroundProps; - private Block curBlockArea; private List bodyBreaks = new ArrayList(); @@ -76,17 +72,9 @@ * Create a new table layout manager. * */ - public TableLayoutManager(FObj node) { + public TableLayoutManager(Table node) { super(node); - } - - /** - * @see org.apache.fop.layoutmgr.AbstractLayoutManager#initProperties() - */ - protected void initProperties() { - PropertyManager pm = fobj.getPropertyManager(); - borderProps = pm.getBorderAndPadding(); - backgroundProps = pm.getBackgroundProps(); + fobj = node; } /** @@ -284,7 +272,7 @@ public void addAreas(PositionIterator parentIter, LayoutContext layoutContext) { getParentArea(null); - addID(); + addID(fobj.getId()); // add column, body then row areas @@ -332,12 +320,8 @@ curBlockArea.setBPD(tableHeight); - if (borderProps != null) { - TraitSetter.addBorders(curBlockArea, borderProps); - } - if (backgroundProps != null) { - TraitSetter.addBackground(curBlockArea, backgroundProps); - } + TraitSetter.addBorders(curBlockArea, fobj.getCommonBorderPaddingBackground()); + TraitSetter.addBackground(curBlockArea, fobj.getCommonBorderPaddingBackground()); flush();
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]