diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 8d25e11d..ff94d4c5 100644 Binary files a/diylc/diylc-library/lib/diylc-core.jar and b/diylc/diylc-library/lib/diylc-core.jar differ diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java b/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java index 94021f30..db000e1c 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/SolderPad.java @@ -3,6 +3,8 @@ package org.diylc.components.connectivity; import java.awt.Color; import java.awt.Graphics2D; import java.awt.Point; +import java.awt.geom.Ellipse2D; +import java.awt.geom.Rectangle2D; import org.diylc.common.PCBLayer; import org.diylc.common.SimpleComponentTransformer; @@ -46,18 +48,18 @@ public class SolderPad extends AbstractComponent { if (checkPointsClipped(g2d.getClip())) { return; } - int diameter = getClosestOdd((int) getSize().convertToPixels()); - int holeDiameter = getClosestOdd((int) getHoleSize().convertToPixels()); + double diameter = getSize().convertToPixels(); + double holeDiameter = getHoleSize().convertToPixels(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color); if (type == Type.ROUND) { - g2d.fillOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); + g2d.fill(new Ellipse2D.Double(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter)); } else { - g2d.fillRect(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); + g2d.fill(new Rectangle2D.Double(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter)); } if (getHoleSize().getValue() > 0) { g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(point.x - holeDiameter / 2, point.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.fill(new Ellipse2D.Double(point.x - holeDiameter / 2, point.y - holeDiameter / 2, holeDiameter, holeDiameter)); } } diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 8d25e11d..ff94d4c5 100644 Binary files a/diylc/diylc-swing/lib/diylc-core.jar and b/diylc/diylc-swing/lib/diylc-core.jar differ diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index d5668cc4..4d8d4487 100644 Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ diff --git a/diylc/diylc-swing/update.xml b/diylc/diylc-swing/update.xml index e4f63c4c..a5aab7ec 100644 --- a/diylc/diylc-swing/update.xml +++ b/diylc/diylc-swing/update.xml @@ -1705,7 +1705,11 @@ NEW_FEATURE Red ticks on both rulers mark selection bounds, blue tick tracks cursor position - + + + IMPROVEMENT + Solder Pad size shouldn't be rounded up or down to the nearest integer to allow better precision + BUG_FIX Issues with DIL and SIL IC pin alignment when using metric grid and pin spacing