Skip to content
Snippets Groups Projects
Commit 522662b0 authored by Andrey Ruzhanskiy's avatar Andrey Ruzhanskiy
Browse files

Merge branch 'feat/display_all_dots_in_bool_svg' into 'master'

Indicate non-embossed dots in SVGs

See merge request !23
parents 1cfb8d09 77eaa2f6
No related branches found
No related tags found
1 merge request!23Indicate non-embossed dots in SVGs
...@@ -4,15 +4,20 @@ import de.tudresden.inf.mci.brailleplot.printabledata.MatrixData; ...@@ -4,15 +4,20 @@ import de.tudresden.inf.mci.brailleplot.printabledata.MatrixData;
import de.tudresden.inf.mci.brailleplot.layout.RasterCanvas; import de.tudresden.inf.mci.brailleplot.layout.RasterCanvas;
import org.jfree.graphics2d.svg.SVGGraphics2D; import org.jfree.graphics2d.svg.SVGGraphics2D;
import java.awt.Color;
import java.util.List; import java.util.List;
/** /**
* SVG exporter class that supports {@link RasterCanvas} as input. * SVG exporter class that supports {@link RasterCanvas} as input.
* @author Georg Graßnick * @author Georg Graßnick
* @version 2019.08.20 * @version 2019.08.30
*/ */
public class BoolMatrixDataSvgExporter extends AbstractSvgExporter<RasterCanvas, MatrixData<Boolean>> { 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) { public BoolMatrixDataSvgExporter(final RasterCanvas rasterCanvas) {
super(rasterCanvas); super(rasterCanvas);
...@@ -28,12 +33,16 @@ public class BoolMatrixDataSvgExporter extends AbstractSvgExporter<RasterCanvas, ...@@ -28,12 +33,16 @@ public class BoolMatrixDataSvgExporter extends AbstractSvgExporter<RasterCanvas,
for (int y = 0; y < mat.getRowCount(); y++) { for (int y = 0; y < mat.getRowCount(); y++) {
for (int x = 0; x < mat.getColumnCount(); x++) { 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)) { if (mat.getValue(y, x)) {
int xPos = (int) Math.round((xPositions.get(x) + mCanvas.getFullConstraintLeft() - dotDiameter / 2) * SCALE_FACTOR); svg.setColor(FULL_DOT_COLOR);
int yPos = (int) Math.round((yPositions.get(y) + mCanvas.getFullConstraintTop() - dotDiameter / 2) * SCALE_FACTOR);
svg.drawOval(xPos, yPos, dotDiameter, dotDiameter);
mLogger.trace("Drew dot at position ({},{})", xPos, yPos); mLogger.trace("Drew dot at position ({},{})", xPos, yPos);
} else {
svg.setColor(EMPTY_DOT_COLOR);
} }
svg.drawOval(xPos, yPos, dotDiameter, dotDiameter);
} }
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment