From b7a37fb59c367b3ecda59962aa88db16f9302eec Mon Sep 17 00:00:00 2001 From: karljohansson Date: Tue, 30 Jun 2026 08:31:29 +0200 Subject: [PATCH] Set default SVG currentColor to black --- .../src/org/eclipse/swt/svg/JSVGRasterizer.java | 2 ++ .../test/org/eclipse/swt/svg/JSVGRasterizerTest.java | 9 ++++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/bundles/org.eclipse.swt.svg/src/org/eclipse/swt/svg/JSVGRasterizer.java b/bundles/org.eclipse.swt.svg/src/org/eclipse/swt/svg/JSVGRasterizer.java index efa87970d90..80789414819 100644 --- a/bundles/org.eclipse.swt.svg/src/org/eclipse/swt/svg/JSVGRasterizer.java +++ b/bundles/org.eclipse.swt.svg/src/org/eclipse/swt/svg/JSVGRasterizer.java @@ -31,6 +31,7 @@ import static java.awt.RenderingHints.VALUE_STROKE_PURE; import static java.awt.RenderingHints.VALUE_TEXT_ANTIALIAS_ON; +import java.awt.Color; import java.awt.Graphics2D; import java.awt.RenderingHints.Key; import java.awt.image.BufferedImage; @@ -139,6 +140,7 @@ private int calculateTargetHeight(float scalingFactor, FloatSize sourceImageSize private Graphics2D configureRenderingOptions(float widthScalingFactor, float heightScalingFactor, BufferedImage image) { Graphics2D g = image.createGraphics(); + g.setColor(Color.BLACK); g.setRenderingHints(RENDERING_HINTS); g.scale(widthScalingFactor, heightScalingFactor); return g; diff --git a/bundles/org.eclipse.swt.svg/test/org/eclipse/swt/svg/JSVGRasterizerTest.java b/bundles/org.eclipse.swt.svg/test/org/eclipse/swt/svg/JSVGRasterizerTest.java index 3305ca87527..498d06eaa69 100644 --- a/bundles/org.eclipse.swt.svg/test/org/eclipse/swt/svg/JSVGRasterizerTest.java +++ b/bundles/org.eclipse.swt.svg/test/org/eclipse/swt/svg/JSVGRasterizerTest.java @@ -22,6 +22,7 @@ import org.eclipse.swt.SWT; import org.eclipse.swt.SWTException; import org.eclipse.swt.graphics.ImageData; +import org.eclipse.swt.graphics.RGB; import org.junit.jupiter.api.Test; class JSVGRasterizerTest { @@ -29,7 +30,7 @@ class JSVGRasterizerTest { private final JSVGRasterizer rasterizer = new JSVGRasterizer(); private String svgString = """ - + """; @@ -89,4 +90,10 @@ void testRasterizeWithTargetSizeWithInvalidSVG() { assertEquals(SWT.ERROR_INVALID_IMAGE, exception.code); } + @Test + void testDefaultCurrentColorIsBlack() { + ImageData data = rasterizer.rasterizeSVG(svgStream(svgString), 100); + RGB rgb = data.palette.getRGB(data.getPixel(0, 0)); + assertEquals(new RGB(0, 0, 0), rgb); + } }