blob: 6651d4f8ae42c842455a962ef2293eee6473fc8b [file] [log] [blame]
<test title="Color Testing">
<description>
This test validates the convertion of Java 2D Colors
into SVG fill, stroke and opacity attributes.
</description>
<description>
The test validates that color constants (such as Color.red)
are converted to their equivalent SVG constants. It also
tests that opacity is translated properly by painting
half transparent shapes.
</description>
<javaCode>
<![CDATA[
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON);
AffineTransform defaultTransform = g.getTransform();
// Colors used for labels and test output
Color labelColor = Color.black;
Color colorConstants[] = { Color.black,
Color.blue,
Color.cyan,
Color.darkGray,
Color.gray,
Color.green,
Color.lightGray,
Color.magenta,
Color.orange,
Color.pink,
Color.red,
Color.white,
Color.yellow };
String colorConstantStrings[] = { "black",
"blue",
"cyan",
"darkGray",
"gray",
"green",
"lightGray",
"magenta",
"orange",
"pink",
"red",
"white",
"yellow" };
g.translate(20, 20);
g.setPaint(labelColor);
g.drawString("Color Constants", -5, 0);
g.translate(0, 20);
for(int i=0; i<colorConstants.length; i++){
g.setPaint(labelColor);
g.drawString(colorConstantStrings[i], 10, 3);
g.setPaint(colorConstants[i]);
g.fillRect(-5, -5, 10, 10);
g.setPaint(labelColor);
g.drawRect(-5, -5, 10, 10);
g.translate(0, 20);
}
g.setTransform(defaultTransform);
g.translate(150, 20);
g.setColor(labelColor);
g.drawString("Various opacities", 0, 0);
g.translate(0, 10);
//
// Now, test opacities
//
int opacitySteps = 20;
g.setPaint(new Color(80, 255, 80));
g.fillRect(0, 0, 40, 260);
int stepHeight = 260/opacitySteps;
Font defaultFont = g.getFont();
Font opacityFont = new Font(defaultFont.getFamily(),
defaultFont.getStyle(),
(int)(defaultFont.getSize()*0.8));
g.setFont(opacityFont);
for(int i=0; i<opacitySteps; i++){
int opacity = ((i + 1)*255)/opacitySteps;
Color color = new Color(0, 0, 0, opacity);
g.setPaint(color);
g.fillRect(0, 0, 40, stepHeight);
g.setPaint(labelColor);
g.drawString("" + opacity, 50, stepHeight/2);
g.translate(0, stepHeight);
}
]]>
</javaCode>
</test>