Skip to content

Commit 3fe6d2b

Browse files
DLTKJoelJohanssonHeikoKlare
authored andcommitted
Set default SVG currentColor to black
1 parent b31dbba commit 3fe6d2b

2 files changed

Lines changed: 10 additions & 1 deletion

File tree

bundles/org.eclipse.swt.svg/src/org/eclipse/swt/svg/JSVGRasterizer.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import static java.awt.RenderingHints.VALUE_STROKE_PURE;
3232
import static java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_ON;
3333

34+
import java.awt.Color;
3435
import java.awt.Graphics2D;
3536
import java.awt.RenderingHints.Key;
3637
import java.awt.image.BufferedImage;
@@ -139,6 +140,7 @@ private int calculateTargetHeight(float scalingFactor, FloatSize sourceImageSize
139140
private Graphics2D configureRenderingOptions(float widthScalingFactor, float heightScalingFactor,
140141
BufferedImage image) {
141142
Graphics2D g = image.createGraphics();
143+
g.setColor(Color.BLACK);
142144
g.setRenderingHints(RENDERING_HINTS);
143145
g.scale(widthScalingFactor, heightScalingFactor);
144146
return g;

bundles/org.eclipse.swt.svg/test/org/eclipse/swt/svg/JSVGRasterizerTest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,15 @@
2222
import org.eclipse.swt.SWT;
2323
import org.eclipse.swt.SWTException;
2424
import org.eclipse.swt.graphics.ImageData;
25+
import org.eclipse.swt.graphics.RGB;
2526
import org.junit.jupiter.api.Test;
2627

2728
class JSVGRasterizerTest {
2829

2930
private final JSVGRasterizer rasterizer = new JSVGRasterizer();
3031
private String svgString = """
3132
<svg viewBox="0 0 100 100" xmlns="http://www.w3.org/2000/svg">
32-
<rect width="100%" height="100%"/>
33+
<rect width="100%" height="100%" fill="currentColor"/>
3334
</svg>
3435
""";
3536

@@ -89,4 +90,10 @@ void testRasterizeWithTargetSizeWithInvalidSVG() {
8990
assertEquals(SWT.ERROR_INVALID_IMAGE, exception.code);
9091
}
9192

93+
@Test
94+
void testDefaultCurrentColorIsBlack() {
95+
ImageData data = rasterizer.rasterizeSVG(svgStream(svgString), 100);
96+
RGB rgb = data.palette.getRGB(data.getPixel(0, 0));
97+
assertEquals(new RGB(0, 0, 0), rgb);
98+
}
9299
}

0 commit comments

Comments
 (0)