From b4700f82c6ad9e75c71f8088ee31a5c79de247d9 Mon Sep 17 00:00:00 2001 From: Finn Bock Date: Sun, 10 Oct 2004 21:08:16 +0000 Subject: [PATCH] Simplify the calculation of the viewport. Now that indents are calculated correctly, we can just use them without doing any lookup of absolute margins. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@198033 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/fop/fo/pagination/RegionBody.java | 35 ++----------------- 1 file changed, 2 insertions(+), 33 deletions(-) diff --git a/src/java/org/apache/fop/fo/pagination/RegionBody.java b/src/java/org/apache/fop/fo/pagination/RegionBody.java index 8b7dad5ea..8eeadcc81 100644 --- a/src/java/org/apache/fop/fo/pagination/RegionBody.java +++ b/src/java/org/apache/fop/fo/pagination/RegionBody.java @@ -25,11 +25,7 @@ import java.awt.Rectangle; import org.apache.fop.datatypes.ColorType; import org.apache.fop.datatypes.FODimension; import org.apache.fop.fo.FONode; -import org.apache.fop.fo.FObj; -import org.apache.fop.fo.PropertyList; import org.apache.fop.fo.properties.CommonMarginBlock; -import org.apache.fop.fo.properties.Property; -import org.apache.fop.fo.FOPropertyMapping; /** * The fo:region-body element. @@ -57,36 +53,9 @@ public class RegionBody extends Region { * set but indent is explicitly set, it will return that. */ CommonMarginBlock mProps = propMgr.getMarginProps(); - int start = getRelMargin(PropertyList.START, PR_START_INDENT); - Rectangle vpRect; - if (this.wm == WritingMode.LR_TB || this.wm == WritingMode.RL_TB) { - vpRect = new Rectangle(start, mProps.spaceBefore, - reldims.ipd - start - - getRelMargin(PropertyList.END, PR_END_INDENT), + return new Rectangle(mProps.startIndent, mProps.spaceBefore, + reldims.ipd - mProps.startIndent - mProps.endIndent, reldims.bpd - mProps.spaceBefore - mProps.spaceAfter); - } else { - vpRect = new Rectangle(start, mProps.spaceBefore, - reldims.bpd - mProps.spaceBefore - mProps.spaceAfter, - reldims.ipd - start - - getRelMargin(PropertyList.END, PR_END_INDENT)); - } - return vpRect; - } - - /** - * Get the relative margin using parent's writing mode, not own - * writing mode. - */ - private int getRelMargin(int reldir, int relPropId) { - FObj parent = (FObj) getParent(); - String sPropName = "margin-" - + parent.getPropertyList().getAbsoluteWritingMode(reldir); - int propId = FOPropertyMapping.getPropertyId(sPropName); - Property prop = propertyList.getExplicitOrShorthand(propId); - if (prop == null) { - prop = propertyList.getExplicitOrShorthand(relPropId); - } - return ((prop != null) ? prop.getLength().getValue() : 0); } /** -- 2.39.5