diff --git a/src/main/java/de/tudresden/inf/mci/brailleplot/svgexporter/BoolMatrixDataSvgExporter.java b/src/main/java/de/tudresden/inf/mci/brailleplot/svgexporter/BoolMatrixDataSvgExporter.java index 72619483ccc5dd1b508b33f91ccc30c77ec3d017..8518fa41003df81c4054fb59349cbefad7a7ba2d 100644 --- a/src/main/java/de/tudresden/inf/mci/brailleplot/svgexporter/BoolMatrixDataSvgExporter.java +++ b/src/main/java/de/tudresden/inf/mci/brailleplot/svgexporter/BoolMatrixDataSvgExporter.java @@ -4,15 +4,20 @@ import de.tudresden.inf.mci.brailleplot.printabledata.MatrixData; import de.tudresden.inf.mci.brailleplot.layout.RasterCanvas; import org.jfree.graphics2d.svg.SVGGraphics2D; +import java.awt.Color; import java.util.List; /** * SVG exporter class that supports {@link RasterCanvas} as input. * @author Georg GraĆnick - * @version 2019.08.20 + * @version 2019.08.30 */ public class BoolMatrixDataSvgExporter extends AbstractSvgExporter<RasterCanvas, MatrixData<Boolean>> { + final static private int EMPTY_DOT_COLOR_GRAY = 225; + final static private Color EMPTY_DOT_COLOR = new Color(EMPTY_DOT_COLOR_GRAY, EMPTY_DOT_COLOR_GRAY, EMPTY_DOT_COLOR_GRAY); + final static private Color FULL_DOT_COLOR = Color.BLACK; + public BoolMatrixDataSvgExporter(final RasterCanvas rasterCanvas) { super(rasterCanvas); @@ -28,12 +33,16 @@ public class BoolMatrixDataSvgExporter extends AbstractSvgExporter<RasterCanvas, for (int y = 0; y < mat.getRowCount(); y++) { for (int x = 0; x < mat.getColumnCount(); x++) { + int xPos = (int) Math.round((xPositions.get(x) + mCanvas.getFullConstraintLeft() - (double) dotDiameter / 2) * SCALE_FACTOR); + int yPos = (int) Math.round((yPositions.get(y) + mCanvas.getFullConstraintTop() - (double) dotDiameter / 2) * SCALE_FACTOR); if (mat.getValue(y, x)) { - int xPos = (int) Math.round((xPositions.get(x) + mCanvas.getFullConstraintLeft() - dotDiameter / 2) * SCALE_FACTOR); - int yPos = (int) Math.round((yPositions.get(y) + mCanvas.getFullConstraintTop() - dotDiameter / 2) * SCALE_FACTOR); - svg.drawOval(xPos, yPos, dotDiameter, dotDiameter); + svg.setColor(FULL_DOT_COLOR); mLogger.trace("Drew dot at position ({},{})", xPos, yPos); + } else { + svg.setColor(EMPTY_DOT_COLOR); } + + svg.drawOval(xPos, yPos, dotDiameter, dotDiameter); } } }