Standardize how folded transistors are displayed - updated TO-92 and

TO-1 packages
This commit is contained in:
bancika
2020-04-18 10:18:55 +02:00
parent 098c0a9baf
commit 297c8d58c1
5 changed files with 35 additions and 79 deletions
@@ -3001,7 +3001,11 @@
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Added "Rotary Selector Switch" component</description>
</org.diylc.appframework.update.Change>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>IMPROVEMENT</changeType>
<description>Standardize how folded transistors are displayed - updated TO-92 and TO-1 packages</description>
</org.diylc.appframework.update.Change>
</changes>
<url>https://github.com/bancika/diy-layout-creator/releases</url>
</org.diylc.appframework.update.Version>
@@ -67,8 +67,7 @@ public class TransistorTO1 extends AbstractTransistorPackage {
public static Size BODY_DIAMETER = new Size(0.24d, SizeUnit.in);
public static Size BODY_LENGTH = new Size(0.4d, SizeUnit.in);
public static Size EDGE_RADIUS = new Size(2d, SizeUnit.mm);
private boolean folded = false;
private Size pinSpacing = PIN_SPACING;
public TransistorTO1() {
@@ -120,31 +119,32 @@ public class TransistorTO1 extends AbstractTransistorPackage {
if (folded) {
switch (orientation) {
case DEFAULT:
newBody =
new Area(new RoundRectangle2D.Double(x - bodyLength, y - bodyDiameter / 2, bodyLength, bodyDiameter,
edgeRadius, edgeRadius));
newBody.add(new Area(new Rectangle2D.Double(x - bodyLength / 2, y - bodyDiameter / 2, bodyLength / 2,
bodyDiameter)));
break;
case _90:
newBody =
new Area(new RoundRectangle2D.Double(x - bodyDiameter / 2, y - bodyLength, bodyDiameter, bodyLength,
edgeRadius, edgeRadius));
newBody.add(new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y - bodyLength / 2, bodyDiameter,
bodyLength / 2)));
break;
case _180:
newBody =
new Area(new RoundRectangle2D.Double(x, y - bodyDiameter / 2, bodyLength, bodyDiameter, edgeRadius,
edgeRadius));
newBody =
new Area(new RoundRectangle2D.Double(x, y - bodyDiameter / 2, bodyLength, bodyDiameter, edgeRadius,
edgeRadius));
newBody.add(new Area(new Rectangle2D.Double(x, y - bodyDiameter / 2, bodyLength / 2, bodyDiameter)));
break;
case _270:
newBody =
new Area(new RoundRectangle2D.Double(x - bodyDiameter / 2, y, bodyDiameter, bodyLength, edgeRadius,
edgeRadius));
case _90:
newBody =
new Area(new RoundRectangle2D.Double(x - bodyDiameter / 2, y, bodyDiameter, bodyLength, edgeRadius,
edgeRadius));
newBody.add(new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y, bodyDiameter, bodyLength / 2)));
break;
case _180:
newBody =
new Area(new RoundRectangle2D.Double(x - bodyLength, y - bodyDiameter / 2, bodyLength, bodyDiameter,
edgeRadius, edgeRadius));
newBody.add(new Area(new Rectangle2D.Double(x - bodyLength / 2, y - bodyDiameter / 2, bodyLength / 2,
bodyDiameter)));
break;
case _270:
newBody =
new Area(new RoundRectangle2D.Double(x - bodyDiameter / 2, y - bodyLength, bodyDiameter, bodyLength,
edgeRadius, edgeRadius));
newBody.add(new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y - bodyLength / 2, bodyDiameter,
bodyLength / 2)));
break;
default:
throw new RuntimeException("Unexpected orientation: " + orientation);
}
@@ -250,18 +250,6 @@ public class TransistorTO1 extends AbstractTransistorPackage {
}
}
@EditableProperty
public boolean getFolded() {
return folded;
}
public void setFolded(boolean folded) {
this.folded = folded;
updateControlPoints();
// Reset body shape;
body = null;
}
@EditableProperty(name = "Pin spacing")
public Size getPinSpacing() {
return pinSpacing;
@@ -72,7 +72,6 @@ public class TransistorTO126 extends AbstractTransistorPackage {
public static Size LEAD_LENGTH = new Size(3.5d, SizeUnit.mm);
public static Size LEAD_THICKNESS = new Size(0.8d, SizeUnit.mm);
private boolean folded = false;
private Size leadLength = LEAD_LENGTH;
public TransistorTO126() {
@@ -338,17 +337,6 @@ public class TransistorTO126 extends AbstractTransistorPackage {
g2d.drawLine(width / 2 + bodyWidth / 3, margin + bodyHeight + 1, width / 2 + bodyWidth / 3, height - margin);
}
@EditableProperty
public boolean getFolded() {
return folded;
}
public void setFolded(boolean folded) {
this.folded = folded;
// Invalidate the body
this.body = null;
}
@EditableProperty(name = "Lead Length")
public Size getLeadLength() {
if (leadLength == null) {
@@ -77,7 +77,6 @@ public class TransistorTO220 extends AbstractTransistorPackage {
private Color tabColor = TAB_COLOR;
private Color tabBorderColor = TAB_BORDER_COLOR;
private boolean folded = false;
private Size leadLength = LEAD_LENGTH;
public TransistorTO220() {
@@ -387,17 +386,6 @@ public class TransistorTO220 extends AbstractTransistorPackage {
this.tabColor = tabColor;
}
@EditableProperty
public boolean getFolded() {
return folded;
}
public void setFolded(boolean folded) {
this.folded = folded;
// Invalidate the body
this.body = null;
}
@EditableProperty(name = "Lead Length")
public Size getLeadLength() {
if (leadLength == null) {
@@ -66,7 +66,6 @@ public class TransistorTO92 extends AbstractTransistorPackage {
public static Size PIN_SPACING = new Size(0.05d, SizeUnit.in);
public static Size BODY_DIAMETER = new Size(0.2d, SizeUnit.in);
private boolean folded = false;
private Size pinSpacing = PIN_SPACING;
public TransistorTO92() {
@@ -77,17 +76,6 @@ public class TransistorTO92 extends AbstractTransistorPackage {
borderColor = BORDER_COLOR;
}
@EditableProperty
public boolean getFolded() {
return folded;
}
public void setFolded(boolean folded) {
this.folded = folded;
// Reset body shape;
body = null;
}
@EditableProperty(name = "Pin spacing")
public Size getPinSpacing() {
if (pinSpacing == null) {
@@ -141,17 +129,17 @@ public class TransistorTO92 extends AbstractTransistorPackage {
if (folded) {
switch (orientation) {
case DEFAULT:
newBody = new Area(new Rectangle2D.Double(x - bodyDiameter, y - bodyDiameter / 2, bodyDiameter, bodyDiameter));
case DEFAULT:
newBody = new Area(new Rectangle2D.Double(x, y - bodyDiameter / 2, bodyDiameter, bodyDiameter));
break;
case _90:
newBody = new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y - bodyDiameter, bodyDiameter, bodyDiameter));
case _90:
newBody = new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y, bodyDiameter, bodyDiameter));
break;
case _180:
newBody = new Area(new Rectangle2D.Double(x, y - bodyDiameter / 2, bodyDiameter, bodyDiameter));
newBody = new Area(new Rectangle2D.Double(x - bodyDiameter, y - bodyDiameter / 2, bodyDiameter, bodyDiameter));
break;
case _270:
newBody = new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y, bodyDiameter, bodyDiameter));
case _270:
newBody = new Area(new Rectangle2D.Double(x - bodyDiameter / 2, y - bodyDiameter, bodyDiameter, bodyDiameter));
break;
default:
throw new RuntimeException("Unexpected orientation: " + orientation);