Browse Source

Do the regiontraits before changes ctm because the ctm only apply for the

region reference area, not the viewport itself.


git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@197328 13f79535-47bb-0310-9956-ffa450edef68
pull/30/head
Finn Bock 20 years ago
parent
commit
7d0370cba2

+ 2
- 2
src/java/org/apache/fop/render/AbstractRenderer.java View File

@@ -330,11 +330,11 @@ public abstract class AbstractRenderer extends AbstractLogEnabled
currentBlockIPPosition = currentIPPosition;

RegionReference region = port.getRegion();
handleRegionTraits(port);

// shouldn't the viewport have the CTM
startVParea(region.getCTM());

// do after starting viewport area
handleRegionTraits(port);
if (region.getRegionClass() == Region.BODY_CODE) {
renderBodyRegion((BodyRegion) region);
} else {

+ 4
- 3
src/java/org/apache/fop/render/pdf/PDFRenderer.java View File

@@ -546,9 +546,9 @@ public class PDFRenderer extends PrintRenderer {
*/
protected void handleRegionTraits(RegionViewport region) {
currentFontName = "";
float startx = 0;
float starty = 0;
Rectangle2D viewArea = region.getViewArea();
float startx = (float)(viewArea.getX() / 1000f);
float starty = (float)(viewArea.getY() / 1000f);;
float width = (float)(viewArea.getWidth() / 1000f);
float height = (float)(viewArea.getHeight() / 1000f);

@@ -557,8 +557,9 @@ public class PDFRenderer extends PrintRenderer {
bpMarginOffset = region.getBorderAndPaddingWidthBefore();
ipMarginOffset = region.getBorderAndPaddingWidthStart();
}
beginTextObject();
drawBackAndBorders(region, startx, starty, width, height);
endTextObject();
}

/**

Loading…
Cancel
Save