blob: 69f8dafa6ffa1c95252e96942bcfcfcfc4baf811 [file] [log] [blame]
<test title="TexturePaint Testing">
<description>
This test validates the convertion of Java 2D TexturePaints
into SVG patterns and fill and fill-opacity values
</description>
<description>
The test validates that a TexturePaint is properly converted
with regards to its texture image and its anchor.
</description>
<javaCode>
<![CDATA[
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
AffineTransform defaultTransform = g.getTransform();
Color labelColor = Color.black;
BufferedImage texture = new BufferedImage(20, 20, BufferedImage.TYPE_INT_RGB);
Graphics2D bg = texture.createGraphics();
bg.setPaint(Color.red);
bg.fillRect(0, 0, 10, 10);
bg.setPaint(Color.yellow);
bg.fillRect(10, 10, 10, 10);
bg.dispose();
Rectangle anchors[] = { new Rectangle(0, 0, texture.getWidth(), texture.getHeight()),
new Rectangle(texture.getWidth()/2, texture.getHeight()/2, texture.getWidth(), texture.getHeight()),
new Rectangle(0, 0, texture.getWidth()/2, texture.getHeight()/2) };
String anchorDesc[] = { "Anchor matches texture image",
"Anchor offset to texture image center",
"Anchor half the size of texture" };
// Now, fill a rectangle that is 4 times the size of the texture
// along each axis, once for each texture.
g.translate(0, 20);
for(int i=0; i<anchors.length; i++){
TexturePaint texturePaint = new TexturePaint(texture, anchors[i]);
g.setPaint(texturePaint);
g.fillRect(0, 0, texture.getWidth()*4, texture.getHeight()*4);
AffineTransform curTxf = g.getTransform();
g.translate(150, 0);
g.shear(.5, 0);
g.fillRect(0, 0, texture.getWidth()*4, texture.getHeight()*4);
g.setTransform(curTxf);
g.setPaint(labelColor);
g.drawString(anchorDesc[i], 10, texture.getHeight()*4 + 20);
g.translate(0, texture.getHeight()*4 + 40);
}
]]>
</javaCode>
</test>