Browse Source

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
tags/Root_Temp_KnuthStylePageBreaking
Finn Bock 20 years ago
parent
commit
977d7d0b6e
1 changed files with 26 additions and 0 deletions
  1. 26
    0
      src/java/org/apache/fop/layoutmgr/TraitSetter.java

+ 26
- 0
src/java/org/apache/fop/layoutmgr/TraitSetter.java View File

@@ -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));
}
}
}

Loading…
Cancel
Save