Browse Source

Expanded the vertical/horizontal background image position calculations (motivation: easier to read and also helps with debugging).

git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/branches/Temp_AFPGOCAResources@689428 13f79535-47bb-0310-9956-ffa450edef68
tags/fop-1_0
Adrian Cumiskey 16 years ago
parent
commit
00f21a6a4a
1 changed files with 18 additions and 12 deletions
  1. 18
    12
      src/java/org/apache/fop/layoutmgr/TraitSetter.java

+ 18
- 12
src/java/org/apache/fop/layoutmgr/TraitSetter.java View File

@@ -394,12 +394,15 @@ public class TraitSetter {
int width = area.getIPD();
width += backProps.getPaddingStart(false, context);
width += backProps.getPaddingEnd(false, context);
back.setHoriz(backProps.backgroundPositionHorizontal.getValue(
new SimplePercentBaseContext(context,
LengthBase.IMAGE_BACKGROUND_POSITION_HORIZONTAL,
(width - back.getImageInfo().getSize().getWidthMpt())
)
));
int imageWidthMpt = back.getImageInfo().getSize().getWidthMpt();
int lengthBaseValue = (width - imageWidthMpt);
SimplePercentBaseContext simplePercentBaseContext
= new SimplePercentBaseContext(context,
LengthBase.IMAGE_BACKGROUND_POSITION_HORIZONTAL,
lengthBaseValue);
int horizontal = backProps.backgroundPositionHorizontal.getValue(
simplePercentBaseContext);
back.setHoriz(horizontal);
} else {
//TODO Area IPD has to be set for this to work
log.warn("Horizontal background image positioning ignored"
@@ -415,12 +418,15 @@ public class TraitSetter {
int height = area.getBPD();
height += backProps.getPaddingBefore(false, context);
height += backProps.getPaddingAfter(false, context);
back.setVertical(backProps.backgroundPositionVertical.getValue(
new SimplePercentBaseContext(context,
LengthBase.IMAGE_BACKGROUND_POSITION_VERTICAL,
(height - back.getImageInfo().getSize().getHeightMpt())
)
));
int imageHeightMpt = back.getImageInfo().getSize().getHeightMpt();
int lengthBaseValue = (height - imageHeightMpt);
SimplePercentBaseContext simplePercentBaseContext
= new SimplePercentBaseContext(context,
LengthBase.IMAGE_BACKGROUND_POSITION_VERTICAL,
lengthBaseValue);
int vertical = backProps.backgroundPositionVertical.getValue(
simplePercentBaseContext);
back.setVertical(vertical);
} else {
//TODO Area BPD has to be set for this to work
log.warn("Vertical background image positioning ignored"

Loading…
Cancel
Save