From f79498bc220dc7470c061a6504866a566c3cafc9 Mon Sep 17 00:00:00 2001 From: bancika Date: Thu, 22 Dec 2016 15:21:01 +0100 Subject: [PATCH] transistor and potentiometer symbols can be rotated --- .../diylc/components/Abstract3LegSymbol.java | 45 ++++++++++++++++-- .../components/semiconductors/BJTSymbol.java | 5 +- .../components/semiconductors/JFETSymbol.java | 4 +- .../semiconductors/MOSFETSymbol.java | 4 +- diylc/diylc-swing/library/main.jar | Bin 342384 -> 342898 bytes diylc/diylc-swing/update.xml | 2 +- 6 files changed, 50 insertions(+), 10 deletions(-) diff --git a/diylc/diylc-library/src/org/diylc/components/Abstract3LegSymbol.java b/diylc/diylc-library/src/org/diylc/components/Abstract3LegSymbol.java index 1a52251f..6b3abad1 100644 --- a/diylc/diylc-library/src/org/diylc/components/Abstract3LegSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/Abstract3LegSymbol.java @@ -14,6 +14,7 @@ import org.diylc.common.Display; import org.diylc.common.HorizontalAlignment; import org.diylc.common.IPlugInPort; import org.diylc.common.ObjectCache; +import org.diylc.common.Orientation; import org.diylc.common.VerticalAlignment; import org.diylc.components.AbstractComponent; import org.diylc.components.semiconductors.SymbolFlipping; @@ -41,6 +42,7 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { protected SymbolFlipping flip = FLIPPING; protected Display display = Display.NAME; transient protected Shape[] body; + protected Orientation orientation = Orientation.DEFAULT; public Abstract3LegSymbol() { super(); @@ -183,8 +185,8 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { @Override public void setControlPoint(Point point, int index) { controlPoints[index].setLocation(point); - // Invalidate body - body = null; + + refreshDrawing(); } @EditableProperty @@ -194,7 +196,8 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { public void setFlip(SymbolFlipping flip) { this.flip = flip; - updateControlPoints(); + + refreshDrawing(); } @EditableProperty @@ -214,6 +217,42 @@ public abstract class Abstract3LegSymbol extends AbstractComponent { public void setDisplay(Display display) { this.display = display; } + + @EditableProperty + public Orientation getOrientation() { + if (orientation == null) + orientation = Orientation.DEFAULT; + + return orientation; + } + + public void setOrientation(Orientation orientation) { + this.orientation = orientation; + + refreshDrawing(); + } + + protected void refreshDrawing() { + updateControlPoints(); + // make sure we have a new drawing + body = null; + getBody(); + + if (getOrientation() == Orientation.DEFAULT) + return; + + Point first = this.controlPoints[0]; + double angle = Double.parseDouble(getOrientation().name().replace("_", "")); + AffineTransform rotate = AffineTransform.getRotateInstance(Math.toRadians(angle), first.x, first.y); + for (int i = 1; i < this.controlPoints.length; i++) { + rotate.transform(this.controlPoints[i], this.controlPoints[i]); + } + if (this.body != null) { + for (int i = 0; i < this.body.length; i++) { + this.body[i] = rotate.createTransformedShape(this.body[i]); + } + } + } /** * Returns transistor shape consisting of 3 parts, in this order: main body, connectors, polarity diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java index 910d743b..72d92fda 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/BJTSymbol.java @@ -95,7 +95,8 @@ public class BJTSymbol extends Abstract3LegSymbol { public void setPolarity(BJTPolarity polarity) { this.polarity = polarity; - // Invalidate body - body = null; + + + refreshDrawing(); } } diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java index 5914b2e8..9e52316c 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/JFETSymbol.java @@ -87,7 +87,7 @@ public class JFETSymbol extends Abstract3LegSymbol { public void setPolarity(FETPolarity polarity) { this.polarity = polarity; - // Invalidate body - body = null; + + refreshDrawing(); } } diff --git a/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java b/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java index ddac6429..a2282e7b 100644 --- a/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java +++ b/diylc/diylc-library/src/org/diylc/components/semiconductors/MOSFETSymbol.java @@ -90,7 +90,7 @@ public class MOSFETSymbol extends Abstract3LegSymbol { public void setPolarity(FETPolarity polarity) { this.polarity = polarity; - // Invalidate body - body = null; + + refreshDrawing(); } } diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index 6292afab7e9026fc3a3bbb17d3f6015a9ff40f3a..81c47fdee7c9edd87011ce993758d3b195304f4d 100644 GIT binary patch delta 28332 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%0DygaDy~@)ZAVB}k+p7k2Fb zLN%qKr$cy3`b;+8gbU>QL1}ezxA@cPFMfeEdQaQ~YqEDai4cRhGH94j27<@jPQpZ> zhs^I({Bs`v-wv}y!9tAi;e5^`$Bs^RK#s9POX|sdCrv|B>$4DqAVDUSNJ_H5WAo?r z{C{K9nQ<(HUOJDA{CUUh-`*=1p!qLl0hS}`pC9l3y}!v;!c-=(wi?Q(|5jxSs54l? zO)$a(=F9z_#0g3QU42le%AiH?WTLaSz*HqTVaVhmQSk?8Q4@LeHp&BTr0jqjxxohc z-|-x8BO;rD?zXr#7#N%<=D@WH@U=W34(p>+02s03e NEW_FEATURE - Tube symbols can be rotated + Tube, transistor and potentiometer symbols can be rotated IMPROVEMENT