diff options
author | Manuel Mall <manuel@apache.org> | 2005-10-12 16:11:47 +0000 |
---|---|---|
committer | Manuel Mall <manuel@apache.org> | 2005-10-12 16:11:47 +0000 |
commit | 7fd03980fea71edc28578218f3a53ca0665698df (patch) | |
tree | 381070dd84dcc599093b053727cde8e6767e9097 /src/java/org/apache/fop | |
parent | 0129397f8aebdbef7eb47695dbbc60e699c649d7 (diff) | |
download | xmlgraphics-fop-7fd03980fea71edc28578218f3a53ca0665698df.tar.gz xmlgraphics-fop-7fd03980fea71edc28578218f3a53ca0665698df.zip |
Fixed incorrect IPD for blocks nested in inlines and added IPD adjustment for inlineblockparents with borders when rendering
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@314953 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java/org/apache/fop')
-rwxr-xr-x | src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java | 13 | ||||
-rw-r--r-- | src/java/org/apache/fop/render/AbstractRenderer.java | 1 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java b/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java index cd7d962c8..fdfcca373 100755 --- a/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java +++ b/src/java/org/apache/fop/layoutmgr/inline/InlineLayoutManager.java @@ -235,12 +235,12 @@ public class InlineLayoutManager extends InlineStackingLayoutManager { if (borderProps != null) { childLC.setLineStartBorderAndPaddingWidth(context.getLineStartBorderAndPaddingWidth() - + borderProps.getPadding(CommonBorderPaddingBackground.START, true, this) - + borderProps.getBorderWidth(CommonBorderPaddingBackground.START, true) + + borderProps.getPaddingStart(true, this) + + borderProps.getBorderStartWidth(true) ); childLC.setLineEndBorderAndPaddingWidth(context.getLineEndBorderAndPaddingWidth() - + borderProps.getPadding(CommonBorderPaddingBackground.END, true, this) - + borderProps.getBorderWidth(CommonBorderPaddingBackground.END, true) + + borderProps.getPaddingEnd(true, this) + + borderProps.getBorderEndWidth(true) ); } @@ -250,7 +250,10 @@ public class InlineLayoutManager extends InlineStackingLayoutManager { // Leave room for start/end border and padding if (borderProps != null) { childLC.setRefIPD(childLC.getRefIPD() - - borderProps.getIPPaddingAndBorder(false, this)); + - borderProps.getPaddingStart(lastChildLM != null, this) + - borderProps.getBorderStartWidth(lastChildLM != null) + - borderProps.getPaddingEnd(hasNextChildLM(), this) + - borderProps.getBorderEndWidth(hasNextChildLM())); } } // get KnuthElements from curLM diff --git a/src/java/org/apache/fop/render/AbstractRenderer.java b/src/java/org/apache/fop/render/AbstractRenderer.java index eda205d94..16c8f75ae 100644 --- a/src/java/org/apache/fop/render/AbstractRenderer.java +++ b/src/java/org/apache/fop/render/AbstractRenderer.java @@ -659,6 +659,7 @@ public abstract class AbstractRenderer * @param ibp the inline block parent to render */ protected void renderInlineBlockParent(InlineBlockParent ibp) { + currentIPPosition += ibp.getBorderAndPaddingWidthStart(); // For inline content the BP position is updated by the enclosing line area int saveBP = currentBPPosition; renderBlock(ibp.getChildArea()); |