diff options
Diffstat (limited to 'src/java/org/apache/fop/layoutmgr/table/Row.java')
-rw-r--r-- | src/java/org/apache/fop/layoutmgr/table/Row.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/java/org/apache/fop/layoutmgr/table/Row.java b/src/java/org/apache/fop/layoutmgr/table/Row.java index 7233adf27..3b81c6fe7 100644 --- a/src/java/org/apache/fop/layoutmgr/table/Row.java +++ b/src/java/org/apache/fop/layoutmgr/table/Row.java @@ -18,6 +18,8 @@ package org.apache.fop.layoutmgr.table; +import org.apache.fop.fo.FONode; +import org.apache.fop.fo.flow.Table; import org.apache.fop.fo.flow.TableRow; import org.apache.fop.fo.properties.LengthRangeProperty; import org.apache.fop.layoutmgr.BlockStackingLayoutManager; @@ -74,6 +76,17 @@ public class Row extends BlockStackingLayoutManager { } /** + * @return the table owning this row + */ + public Table getTable() { + FONode node = fobj.getParent(); + while (!(node instanceof Table)) { + node = node.getParent(); + } + return (Table)node; + } + + /** * Set the columns from the table. * * @param cols the list of columns for this table @@ -337,6 +350,12 @@ public class Row extends BlockStackingLayoutManager { childLM.addAreas(breakPosIter, lc); } x += col.getWidth().getValue(); + + //Handle border-separation + Table table = getTable(); + if (table.getBorderCollapse() == EN_SEPARATE) { + x += table.getBorderSeparation().getIPD().getLength().getValue(); + } } } |