From: Finn Bock Date: Wed, 4 Feb 2004 13:06:36 +0000 (+0000) Subject: Do the regiontraits before changes ctm because the ctm only apply for the X-Git-Tag: Root_Temp_KnuthStylePageBreaking~860 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=90ab183b428db3fb49d3b79ed89a2ddd9e241c35;p=xmlgraphics-fop.git 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 --- diff --git a/src/java/org/apache/fop/render/AbstractRenderer.java b/src/java/org/apache/fop/render/AbstractRenderer.java index 13b874379..5ed907c35 100644 --- a/src/java/org/apache/fop/render/AbstractRenderer.java +++ b/src/java/org/apache/fop/render/AbstractRenderer.java @@ -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 { diff --git a/src/java/org/apache/fop/render/pdf/PDFRenderer.java b/src/java/org/apache/fop/render/pdf/PDFRenderer.java index e4979585c..a97bb68b9 100644 --- a/src/java/org/apache/fop/render/pdf/PDFRenderer.java +++ b/src/java/org/apache/fop/render/pdf/PDFRenderer.java @@ -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(); } /**