aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremias Maerki <jeremias@apache.org>2005-01-28 11:03:19 +0000
committerJeremias Maerki <jeremias@apache.org>2005-01-28 11:03:19 +0000
commitdaddb74bf290e8d9e54f394542329662cc60af5e (patch)
tree3248902e8736ab67a08f325a337f804477f02e7b
parent3200c9e3f2ae4ff774cee90aabebc272f3ee9ddb (diff)
downloadxmlgraphics-fop-daddb74bf290e8d9e54f394542329662cc60af5e.tar.gz
xmlgraphics-fop-daddb74bf290e8d9e54f394542329662cc60af5e.zip
Fixed CONTAINING_REFAREA (for list indents)
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198331 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--src/java/org/apache/fop/datatypes/LengthBase.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/java/org/apache/fop/datatypes/LengthBase.java b/src/java/org/apache/fop/datatypes/LengthBase.java
index a89a8d041..e595c4863 100644
--- a/src/java/org/apache/fop/datatypes/LengthBase.java
+++ b/src/java/org/apache/fop/datatypes/LengthBase.java
@@ -19,6 +19,7 @@
package org.apache.fop.datatypes;
import org.apache.fop.fo.Constants;
+import org.apache.fop.fo.FONode;
import org.apache.fop.fo.FObj;
import org.apache.fop.fo.PropertyList;
import org.apache.fop.fo.expr.PropertyException;
@@ -127,11 +128,16 @@ public class LengthBase implements PercentBase {
case BLOCK_HEIGHT:
return parentFO.getLayoutDimension(PercentBase.BLOCK_BPD).intValue();
case CONTAINING_REFAREA: // example: start-indent, end-indent
- //FONode fo;
- //for (fo = parentFO; fo != null && !fo.generatesReferenceAreas();
- // fo = fo.getParent());
- //return (((fo != null) && (fo instanceof FObj)) ? ((FObj)fo).getContentWidth() : 0);
- return 0;
+ FObj fo;
+ fo = parentFO;
+ while (fo != null && !fo.generatesReferenceAreas()) {
+ fo = fo.findNearestAncestorFObj();
+ }
+ if (fo != null && fo instanceof FObj) {
+ return fo.getLayoutDimension(PercentBase.BLOCK_IPD).intValue();
+ } else {
+ return 0;
+ }
case IMAGE_INTRINSIC_WIDTH:
return propertyList.getFObj()
.getLayoutDimension(PercentBase.IMAGE_INTRINSIC_WIDTH).intValue();
@@ -142,7 +148,7 @@ public class LengthBase implements PercentBase {
//log.debug("!!! LengthBase.getBaseLength() called on CUSTOM_BASE type !!!");
return 0;
default:
- //log.error("Unknown base type for LengthBase.");
+ parentFO.getLogger().error("Unknown base type for LengthBase.");
return 0;
}
}