]> source.dussan.org Git - xmlgraphics-fop.git/commitdiff
improved patterns, the contents should be visible now
authorKeiron Liddle <keiron@apache.org>
Wed, 10 Jul 2002 08:22:24 +0000 (08:22 +0000)
committerKeiron Liddle <keiron@apache.org>
Wed, 10 Jul 2002 08:22:24 +0000 (08:22 +0000)
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
test/resources/fop/svg/paints.svg

index 98736e5abae38d9624076875a041bd924537a18c..b9f20737ff87781a1035ee31f902f0f335e96384 100644 (file)
@@ -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);
 
index 12a4bf74818f8b71a7b8210092378c0630932cde..709f31881e9bf4615818dab53a1501b14383e5d1 100644 (file)
         </linearGradient>
         <linearGradient id="grad2" x1="0" y1="0" x2="0" y2="1">
                 <stop offset="0" style="stop-color:crimson" />
+                <stop offset="0.4" style="stop-color:purple" />
                 <stop offset="1" style="stop-color:gold" />
         </linearGradient>
         <linearGradient id="grad3" x1="0" y1="0" x2="1" y2="1">
                 <stop offset="0" style="stop-color:crimson" />
+                <stop offset="0.7" style="stop-color:blue" />
                 <stop offset="1" style="stop-color:gold" />
         </linearGradient>
         <radialGradient id="rad"
-            fx="20%" fy="0%" rx="10%" ry="30%" r="40%">
+            fx="20%" fy="30%" rx="10%" ry="30%" r="40%">
             <stop offset="0" stop-color="gold" />
             <stop offset="1" stop-color="green" stop-opacity="0.4"/>
         </radialGradient>
@@ -33,7 +35,6 @@
     <rect x="15" y="195" width="100" height="75" style="fill:url(#grad3)" />
     <rect x="15" y="275" width="100" height="75" style="fill:url(#rad)" />
 
-
 <text x="120" y="35" style="font-size:12">Pattern</text>
 
 <defs>