From 895ac332959ec0d677f48be4aab0ad11d12f1c6c Mon Sep 17 00:00:00 2001 From: Keiron Liddle Date: Wed, 10 Jul 2002 08:22:24 +0000 Subject: [PATCH] improved patterns, the contents should be visible now git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@194992 13f79535-47bb-0310-9956-ffa450edef68 --- src/org/apache/fop/svg/PDFGraphics2D.java | 24 +++++++++++++---------- test/resources/fop/svg/paints.svg | 5 +++-- 2 files changed, 17 insertions(+), 12 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); diff --git a/test/resources/fop/svg/paints.svg b/test/resources/fop/svg/paints.svg index 12a4bf748..709f31881 100644 --- a/test/resources/fop/svg/paints.svg +++ b/test/resources/fop/svg/paints.svg @@ -16,14 +16,16 @@ + + + fx="20%" fy="30%" rx="10%" ry="30%" r="40%"> @@ -33,7 +35,6 @@ - Pattern -- 2.39.5