BuzzerSymbol label fix (#833)

* Add IEC option

* Add Buzzer Schematic Symbol

* Add Buzzer Component

* Buzzer Symbols Cleanup

Remove unused libraries, Datasheet stuff etc.

* ResistorSymbol Cleanup

* Fix BuzzerSymbol width for label issues
This commit is contained in:
Jamie Drinkell
2024-12-16 15:25:45 +00:00
committed by GitHub
parent 7e04c18b14
commit 9968fb8283
@@ -20,7 +20,7 @@
*/ */
package org.diylc.components.misc; package org.diylc.components.misc;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.Shape; import java.awt.Shape;
import java.awt.geom.Arc2D; import java.awt.geom.Arc2D;
@@ -45,7 +45,7 @@ public class BuzzerSymbol extends AbstractSchematicLeadedSymbol<String> {
private String value = "Buzzer Symbol"; private String value = "Buzzer Symbol";
public static Size DEFAULT_LENGTH = new Size(48.0, SizeUnit.px); public static Size DEFAULT_LENGTH = new Size(48.0, SizeUnit.px);
public static Size DEFAULT_WIDTH = new Size(120.0, SizeUnit.px); public static Size DEFAULT_WIDTH = new Size(58.0, SizeUnit.px);
private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage(12d, VoltageUnit.V); private org.diylc.core.measures.Voltage voltageNew = new org.diylc.core.measures.Voltage(12d, VoltageUnit.V);
@@ -85,26 +85,21 @@ public class BuzzerSymbol extends AbstractSchematicLeadedSymbol<String> {
@Override @Override
protected Shape getBodyShape() { protected Shape getBodyShape() {
// Divide by two as the whole thing sits "above" zero
// see useShapeRectAsPosition to understand
double length = getLength().convertToPixels(); double length = getLength().convertToPixels();
double width = getWidth().convertToPixels() / 2; double width = getWidth().convertToPixels();
Arc2D.Double arc = new Arc2D.Double(0, 0, length, length, 180, 180, Arc2D.CHORD); Arc2D.Double arc = new Arc2D.Double(0, -width * 0.45, length, length, 180, 180, Arc2D.CHORD);
Line2D.Double left_leads = new Line2D.Double(length * 0.25, width * 0.32, length * 0.25, width / 2);
// width * 0.75 is an approx. Sqrt method seems a bit off? (maybe my maths sucks...) Line2D.Double right_leads = new Line2D.Double(length * 0.75, width * 0.32, length * 0.75,width / 2);
Line2D.Double left_leads = new Line2D.Double(length * 0.25, width * 0.75, length * 0.25, width); Line2D.Double left_leads_bottom = new Line2D.Double(length * 0.25, width / 2, 0, width / 2);
Line2D.Double right_leads = new Line2D.Double(length * 0.75, width * 0.75, length * 0.75, width); Line2D.Double right_leads_bottom = new Line2D.Double(length * 0.75, width / 2, length, width / 2);
Line2D.Double left_leads_bottom = new Line2D.Double(length * 0.25, width, 0, width);
Line2D.Double right_leads_bottom = new Line2D.Double(length * 0.75, width, length, width);
GeneralPath buzzer = new GeneralPath(); GeneralPath buzzer = new GeneralPath();
buzzer.append(arc, false); buzzer.append(arc, false);
buzzer.append(left_leads, false); buzzer.append(left_leads, false);
buzzer.append(right_leads, false); buzzer.append(right_leads, false);
buzzer.append(right_leads_bottom, false);
buzzer.append(left_leads_bottom, false); buzzer.append(left_leads_bottom, false);
buzzer.append(right_leads_bottom, false);
return buzzer; return buzzer;
} }
@@ -146,5 +141,5 @@ public class BuzzerSymbol extends AbstractSchematicLeadedSymbol<String> {
@Override @Override
protected boolean useShapeRectAsPosition() { protected boolean useShapeRectAsPosition() {
return false; return false;
} }
} }