'Drill Hole' changes color to red when selected

This commit is contained in:
Bane Stojkovic
2025-12-19 20:20:07 +01:00
parent ef01d52905
commit aa4f4c9c66
2 changed files with 10 additions and 10 deletions
@@ -66,19 +66,13 @@ public class DrillHole extends AbstractTransparentComponent<Void>
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<Void>
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<Void>
point.getX(), point.getY() + crosshairLength / 2));
drawingObserver.stopTracking();
drawingObserver.stopTrackingContinuityArea();
if (gerberDrawingObserver != null) {
gerberDrawingObserver.stopGerberOutput();
}