improve precision of exported files

This commit is contained in:
Branislav Stojkovic
2019-01-31 13:43:18 +01:00
parent 1b8a72d24a
commit 53eb70e693
15 changed files with 52 additions and 36 deletions
@@ -290,7 +290,7 @@ public class TemplateDialog extends JDialog {
super.paint(g);
// Graphics2D g2d = (Graphics2D) g;
// AffineTransform transform = g2d.getTransform();
presenter.draw((Graphics2D) g, EnumSet.of(DrawOption.ZOOM, DrawOption.ANTIALIASING), null);
presenter.draw((Graphics2D) g, EnumSet.of(DrawOption.ZOOM, DrawOption.ANTIALIASING), null, null);
// g2d.setTransform(transform);
// Rectangle rect = canvasPanel.getBounds();
// BorderFactory.createEtchedBorder().paintBorder(canvasPanel,
@@ -237,7 +237,7 @@ public class CanvasPanel extends JComponent implements Autoscroll {
if (ConfigurationManager.getInstance().readBoolean(IPlugInPort.SHOW_GRID_KEY, true)) {
drawOptions.add(DrawOption.GRID);
}
plugInPort.draw(g2d, drawOptions, null);
plugInPort.draw(g2d, drawOptions, null, null);
if (useHardwareAcceleration) {
VolatileImage volatileImage = (VolatileImage) bufferImage;
do {
@@ -318,8 +318,8 @@ public class UploadDialog extends ButtonDialog {
zoomRatio = rect.getHeight() / d.getHeight();
}
g2d.scale(zoomRatio, zoomRatio);
UploadDialog.this.plugInPort.draw(g2d, EnumSet.of(DrawOption.ANTIALIASING), null);
// g2d.scale(zoomRatio, zoomRatio);
UploadDialog.this.plugInPort.draw(g2d, EnumSet.of(DrawOption.ANTIALIASING), null, zoomRatio);
}
public String getKeywords() {
@@ -21,15 +21,15 @@
*/
package org.diylc.swing.plugins.file;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.EnumSet;
import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.DrawOption;
import org.diylc.common.IPlugInPort;
import org.diylc.swingframework.IDrawingProvider;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.util.EnumSet;
import org.diylc.appframework.miscutils.ConfigurationManager;
import org.diylc.common.DrawOption;
import org.diylc.common.IPlugInPort;
import org.diylc.swingframework.IDrawingProvider;
/**
* {@link IDrawingProvider} implementation that uses {@link IPlugInPort} to draw a project onto the
@@ -51,12 +51,12 @@ public class ProjectDrawingProvider implements IDrawingProvider {
}
@Override
public Dimension getSize() {
public Dimension getSize() {
return plugInPort.getCanvasDimensions(useZoom);
}
@Override
public void draw(int page, Graphics g) {
public void draw(int page, Graphics g, double zoomFactor) {
EnumSet<DrawOption> drawOptions = EnumSet.of(DrawOption.ANTIALIASING);
if (useZoom) {
drawOptions.add(DrawOption.ZOOM);
@@ -67,7 +67,7 @@ public class ProjectDrawingProvider implements IDrawingProvider {
if (ConfigurationManager.getInstance().readBoolean(IPlugInPort.OUTLINE_KEY, false)) {
drawOptions.add(DrawOption.OUTLINE_MODE);
}
plugInPort.draw((Graphics2D) g, drawOptions, null);
plugInPort.draw((Graphics2D) g, drawOptions, null, zoomFactor);
}
@Override
@@ -147,8 +147,8 @@ public class ProjectPreview extends JPanel implements PropertyChangeListener, IF
// System.out.println(x + "," + y);
// g2d.translate(x, y);
g2d.scale(zoomRatio, zoomRatio);
presenter.draw(g2d, EnumSet.noneOf(DrawOption.class), null);
// g2d.scale(zoomRatio, zoomRatio);
presenter.draw(g2d, EnumSet.noneOf(DrawOption.class), null, zoomRatio);
g2d.setColor(Color.black);
g2d.drawRect(0, 0, d.width - (int) (1 / zoomRatio), d.height - (int) (1 / zoomRatio));
@@ -59,8 +59,8 @@ public class TraceMaskDrawingProvider implements IDrawingProvider {
}
@Override
public void draw(int page, Graphics g) {
plugInPort.draw((Graphics2D) g, EnumSet.of(DrawOption.ANTIALIASING), new PCBLayerFiler(getUsedLayers()[page]));
public void draw(int page, Graphics g, double zoomFactor) {
plugInPort.draw((Graphics2D) g, EnumSet.of(DrawOption.ANTIALIASING), new PCBLayerFiler(getUsedLayers()[page]), zoomFactor);
}
@Override