diff --git a/diylc/diylc-core/src/main/resources/update.xml b/diylc/diylc-core/src/main/resources/update.xml index f041171eb..62c94bbc1 100644 --- a/diylc/diylc-core/src/main/resources/update.xml +++ b/diylc/diylc-core/src/main/resources/update.xml @@ -401,6 +401,10 @@ IMPROVEMENT Corrected 'Mini Toggle Switch' position names for center-OFF variants to be in the correct order (thank you mm-rnd) + + IMPROVEMENT + 'Drill Hole' changes color to red when selected + https://github.com/bancika/diy-layout-creator/releases diff --git a/diylc/diylc-library/src/main/java/org/diylc/components/electromechanical/DrillHole.java b/diylc/diylc-library/src/main/java/org/diylc/components/electromechanical/DrillHole.java index 3e343d6d5..b39a79bbd 100644 --- a/diylc/diylc-library/src/main/java/org/diylc/components/electromechanical/DrillHole.java +++ b/diylc/diylc-library/src/main/java/org/diylc/components/electromechanical/DrillHole.java @@ -66,19 +66,13 @@ public class DrillHole extends AbstractTransparentComponent public void draw(Graphics2D g2d, ComponentState componentState, boolean outlineMode, Project project, IDrawingObserver drawingObserver, IGerberDrawingObserver gerberDrawingObserver) { + if (checkPointsClipped(g2d.getClip())) { return; } double holeDiameter = getDiameter().convertToPixels(); double borderWidth = STROKE_WIDTH.convertToPixels(); // Use constant stroke width - g2d.setColor( - componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING - ? SELECTION_COLOR - : color); - - drawingObserver.startTrackingContinuityArea(true); - // Export to Gerber drill layer if (gerberDrawingObserver != null) { GerberLayer drillLayer = GerberLayer.DrillNonPlated; @@ -96,7 +90,10 @@ public class DrillHole extends AbstractTransparentComponent holeDiameter, holeDiameter)); // Draw colored border - g2d.setColor(color); + g2d.setColor( + componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING + ? SELECTION_COLOR + : color); g2d.setStroke(new BasicStroke((float) borderWidth)); g2d.draw(new Ellipse2D.Double(point.getX() - holeDiameter / 2, point.getY() - holeDiameter / 2, holeDiameter, holeDiameter)); @@ -118,8 +115,7 @@ public class DrillHole extends AbstractTransparentComponent point.getX(), point.getY() + crosshairLength / 2)); drawingObserver.stopTracking(); - drawingObserver.stopTrackingContinuityArea(); - + if (gerberDrawingObserver != null) { gerberDrawingObserver.stopGerberOutput(); }