From 977d7d0b6e2422742404aabb44b6726edc7fa1e2 Mon Sep 17 00:00:00 2001 From: Finn Bock Date: Thu, 29 Jan 2004 19:36:04 +0000 Subject: [PATCH] Added addMargins() to set the SPACE_* traits. PR: 25802. git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197291 13f79535-47bb-0310-9956-ffa450edef68 --- .../org/apache/fop/layoutmgr/TraitSetter.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/java/org/apache/fop/layoutmgr/TraitSetter.java b/src/java/org/apache/fop/layoutmgr/TraitSetter.java index 87975058d..5d0b89fa5 100644 --- a/src/java/org/apache/fop/layoutmgr/TraitSetter.java +++ b/src/java/org/apache/fop/layoutmgr/TraitSetter.java @@ -55,6 +55,7 @@ import org.apache.fop.traits.BorderProps; import org.apache.fop.area.Area; import org.apache.fop.area.Trait; import org.apache.fop.fo.properties.CommonBackground; +import org.apache.fop.fo.properties.CommonMarginBlock; /** * This is a helper class used for setting common traits on areas. @@ -204,4 +205,29 @@ public class TraitSetter { curBlock.addTrait(Trait.BACKGROUND, back); } } + + /** + * Add space to a block area. + * Layout managers that create block areas can use this to add space + * outside of the border rectangle to the area. + * @param curBlock the current block. + * @param marginProps the margin properties. + */ + public static void addMargins(Area curBlock, + CommonBorderAndPadding bpProps, + CommonMarginBlock marginProps) { + int spaceStart = marginProps.startIndent - + bpProps.getBorderStartWidth(false) - + bpProps.getPaddingStart(false); + if (spaceStart != 0) { + curBlock.addTrait(Trait.SPACE_START, new Integer(spaceStart)); + } + + int spaceEnd = marginProps.endIndent - + bpProps.getBorderEndWidth(false) - + bpProps.getPaddingEnd(false); + if (spaceEnd != 0) { + curBlock.addTrait(Trait.SPACE_END, new Integer(spaceEnd)); + } + } } -- 2.39.5