Browse Source

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
pull/30/head
Keiron Liddle 22 years ago
parent
commit
358c7ebdbd
2 changed files with 17 additions and 12 deletions
  1. 14
    10
      src/org/apache/fop/svg/PDFGraphics2D.java
  2. 3
    2
      test/resources/fop/svg/paints.svg

+ 14
- 10
src/org/apache/fop/svg/PDFGraphics2D.java View 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);


+ 3
- 2
test/resources/fop/svg/paints.svg View File

@@ -16,14 +16,16 @@
</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>

Loading…
Cancel
Save