Browse Source

A hack to calculate the startIndent and endIndent based on either margin

or startIndent.

PR: 25802.


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197293 13f79535-47bb-0310-9956-ffa450edef68
pull/30/head
Finn Bock 20 years ago
parent
commit
1d19c99049
1 changed files with 34 additions and 4 deletions
  1. 34
    4
      src/java/org/apache/fop/fo/PropertyManager.java

+ 34
- 4
src/java/org/apache/fop/fo/PropertyManager.java View File

@@ -311,10 +311,40 @@ public class PropertyManager implements Constants {
getSpace().getOptimum().getLength().getValue();
props.spaceAfter = this.propertyList.get(PR_SPACE_AFTER).
getSpace().getOptimum().getLength().getValue();
props.startIndent = this.propertyList.get(PR_START_INDENT).
getLength().getValue();
props.endIndent = this.propertyList.get(PR_END_INDENT).
getLength().getValue();


// For now we do the section 5.3.2 calculation here.
// This is a hack that doesn't deal correctly with:
// - Reference vs. non-reference areas.
// - writing mode, it mixes start and left.
// - inherited values of margins and indents.
// When the indents properties calculate this values correctly,
// the block below can be removed and replaced with simple
// props.startIndent = this.propertyList.get(PR_START_INDENT)
// props.endIndent = this.propertyList.get(PR_END_INDENT)
CommonBorderAndPadding bpProps = getBorderAndPadding();

int startIndent = 0;
if (props.marginLeft != 0) {
startIndent = props.marginLeft;
} else {
startIndent = this.propertyList.get(PR_START_INDENT).
getLength().getValue();
}
props.startIndent = startIndent +
bpProps.getBorderStartWidth(false) +
bpProps.getPaddingStart(false);

int endIndent = 0;
if (props.marginRight != 0) {
endIndent = props.marginRight;
} else {
endIndent = this.propertyList.get(PR_END_INDENT).
getLength().getValue();
}
props.endIndent = endIndent +
bpProps.getBorderEndWidth(false) +
bpProps.getPaddingEnd(false);

return props;
}

Loading…
Cancel
Save