From cbe8af910cb8b8b340d46bd172c579e6a7f44c3d Mon Sep 17 00:00:00 2001 From: hneemann Date: Mon, 12 Aug 2019 10:03:49 +0200 Subject: [PATCH] increased the free space at the edges at auto-fit, closes #300 --- .../de/neemann/digital/gui/components/CircuitComponent.java | 5 +++-- .../neemann/digital/gui/components/CircuitScrollPanel.java | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java index d69702540..c1e588c09 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitComponent.java @@ -937,8 +937,9 @@ public class CircuitComponent extends JComponent implements ChangedListener, Lib AffineTransform newTrans = new AffineTransform(); if (gr.getMin() != null && getWidth() != 0 && getHeight() != 0) { Vector delta = gr.getMax().sub(gr.getMin()); - double sx = ((double) getWidth()) / (delta.x + Style.NORMAL.getThickness() * 4); - double sy = ((double) getHeight()) / (delta.y + Style.NORMAL.getThickness() * 6); + int pad = circuitScrollPanel.getBarWidth(); + double sx = ((double) getWidth() - pad) / (delta.x + SIZE * 2); + double sy = ((double) getHeight() - pad) / (delta.y + SIZE * 2); double s = Math.min(sx, sy); diff --git a/src/main/java/de/neemann/digital/gui/components/CircuitScrollPanel.java b/src/main/java/de/neemann/digital/gui/components/CircuitScrollPanel.java index 2d530dd00..f00651a1e 100644 --- a/src/main/java/de/neemann/digital/gui/components/CircuitScrollPanel.java +++ b/src/main/java/de/neemann/digital/gui/components/CircuitScrollPanel.java @@ -117,4 +117,10 @@ public class CircuitScrollPanel extends JPanel { bar.setVisible(viewMin > circuitMin || viewMax < circuitMax); } + /** + * @return the width of the bars + */ + int getBarWidth() { + return vertical.getPreferredSize().width; + } }