aboutsummaryrefslogtreecommitdiffstats
path: root/src/org/apache
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/apache')
-rw-r--r--src/org/apache/fop/svg/PDFGraphics2D.java24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/org/apache/fop/svg/PDFGraphics2D.java b/src/org/apache/fop/svg/PDFGraphics2D.java
index 98736e5ab..b9f20737f 100644
--- a/src/org/apache/fop/svg/PDFGraphics2D.java
+++ b/src/org/apache/fop/svg/PDFGraphics2D.java
@@ -768,7 +768,7 @@ public class PDFGraphics2D extends AbstractGraphics2D {
// this makes the pattern the right way up, since
// it is outside the original transform around the
// whole svg document
- pattStream.write("1 0 0 -1 0 " + rect.getHeight() + " cm\n");
+ pattStream.write("1 0 0 -1 0 " + (rect.getHeight() + rect.getY()) + " cm\n");
pattStream.write(pattGraphic.getString());
pattStream.write("Q");
@@ -776,16 +776,20 @@ public class PDFGraphics2D extends AbstractGraphics2D {
ArrayList bbox = new ArrayList();
bbox.add(new Double(0));
bbox.add(new Double(0));
- bbox.add(new Double(rect.getWidth()));
- bbox.add(new Double(rect.getHeight()));
+ bbox.add(new Double(rect.getWidth() + rect.getX()));
+ bbox.add(new Double(rect.getHeight() + rect.getY()));
+
ArrayList translate = new ArrayList();
- // TODO combine with pattern transform
- translate.add(new Double(1));
- translate.add(new Double(0));
- translate.add(new Double(0));
- translate.add(new Double(1));
- translate.add(new Double(0/*rect.getX()*/));
- translate.add(new Double(0/*rect.getY()*/));
+ AffineTransform pattt = pp.getPatternTransform();
+ pattt.translate(rect.getWidth() + rect.getX(), rect.getHeight() + rect.getY());
+ double[] flatmatrix = new double[6];
+ pattt.getMatrix(flatmatrix);
+ translate.add(new Double(flatmatrix[0]));
+ translate.add(new Double(flatmatrix[1]));
+ translate.add(new Double(flatmatrix[2]));
+ translate.add(new Double(flatmatrix[3]));
+ translate.add(new Double(flatmatrix[4]));
+ translate.add(new Double(flatmatrix[5]));
FontSetup.addToResources(pdfDoc, res, fi);