From 2cc916c8c115b301264f09b52ec7e220c32ea5b2 Mon Sep 17 00:00:00 2001 From: Branislav Stojkovic Date: Sun, 16 Dec 2018 01:47:30 +0100 Subject: [PATCH] improve continuity highlighting massively simplified outline tracing --- .../components/AbstractLeadedComponent.java | 49 ++- .../org/diylc/presenter/DrawingManager.java | 4 + .../src/org/diylc/presenter/G2DWrapper.java | 112 +------ .../src/org/diylc/presenter/Presenter.java | 44 ++- diylc/diylc-library/lib/diylc-core.jar | Bin 246131 -> 245361 bytes .../components/connectivity/CopperTrace.java | 314 +++++++++--------- .../diylc/components/connectivity/Eyelet.java | 6 +- diylc/diylc-swing/lib/diylc-core.jar | Bin 246131 -> 245361 bytes diylc/diylc-swing/library/main.jar | Bin 434509 -> 434602 bytes .../swing/plugins/config/ConfigPlugin.java | 2 +- 10 files changed, 230 insertions(+), 301 deletions(-) diff --git a/diylc/diylc-core/src/org/diylc/components/AbstractLeadedComponent.java b/diylc/diylc-core/src/org/diylc/components/AbstractLeadedComponent.java index 8805dfa2..f1202ae6 100644 --- a/diylc/diylc-core/src/org/diylc/components/AbstractLeadedComponent.java +++ b/diylc/diylc-core/src/org/diylc/components/AbstractLeadedComponent.java @@ -21,32 +21,31 @@ */ package org.diylc.components; -import java.awt.AlphaComposite; -import java.awt.Color; -import java.awt.Composite; -import java.awt.FontMetrics; -import java.awt.Graphics2D; -import java.awt.Point; -import java.awt.Rectangle; -import java.awt.Shape; -import java.awt.geom.AffineTransform; -import java.awt.geom.Ellipse2D; -import java.awt.geom.Rectangle2D; -import java.util.Observable; +import java.awt.AlphaComposite; +import java.awt.Color; +import java.awt.Composite; +import java.awt.FontMetrics; +import java.awt.Graphics2D; +import java.awt.Point; +import java.awt.Rectangle; +import java.awt.Shape; +import java.awt.geom.AffineTransform; +import java.awt.geom.Ellipse2D; +import java.awt.geom.Rectangle2D; -import org.diylc.appframework.miscutils.ConfigurationManager; -import org.diylc.common.Display; -import org.diylc.common.IPlugInPort; -import org.diylc.common.ObjectCache; -import org.diylc.core.ComponentState; -import org.diylc.core.IDrawingObserver; -import org.diylc.core.Project; -import org.diylc.core.Theme; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.EditableProperty; -import org.diylc.core.measures.Size; -import org.diylc.core.measures.SizeUnit; -import org.diylc.utils.Constants; +import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.Display; +import org.diylc.common.IPlugInPort; +import org.diylc.common.ObjectCache; +import org.diylc.core.ComponentState; +import org.diylc.core.IDrawingObserver; +import org.diylc.core.Project; +import org.diylc.core.Theme; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; +import org.diylc.utils.Constants; /** * Base class for all leaded components such as resistors or capacitors. Has two control points and diff --git a/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java b/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java index e4d3ef3d..6152e9f0 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java +++ b/diylc/diylc-core/src/org/diylc/presenter/DrawingManager.java @@ -391,6 +391,10 @@ public class DrawingManager { componentAreaMap.clear(); lastDrawnStateMap.clear(); } + + public void clearContinuityArea() { + this.continuityArea = null; + } public List> findComponentsAt(Point point, Project project) { List> components = new ArrayList>(); diff --git a/diylc/diylc-core/src/org/diylc/presenter/G2DWrapper.java b/diylc/diylc-core/src/org/diylc/presenter/G2DWrapper.java index 0d127147..a3c1515e 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/G2DWrapper.java +++ b/diylc/diylc-core/src/org/diylc/presenter/G2DWrapper.java @@ -30,21 +30,18 @@ import java.awt.Paint; import java.awt.Polygon; import java.awt.Rectangle; import java.awt.RenderingHints; +import java.awt.RenderingHints.Key; import java.awt.Shape; import java.awt.Stroke; -import java.awt.RenderingHints.Key; import java.awt.font.FontRenderContext; import java.awt.font.GlyphVector; import java.awt.geom.AffineTransform; import java.awt.geom.Arc2D; import java.awt.geom.Area; -import java.awt.geom.CubicCurve2D; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.geom.NoninvertibleTransformException; -import java.awt.geom.PathIterator; import java.awt.geom.Point2D; -import java.awt.geom.QuadCurve2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; import java.awt.image.BufferedImage; @@ -88,8 +85,8 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver { private AffineTransform currentTx; private AffineTransform initialTx; private Area currentArea; - private List currentContinuityPositiveAreas; - private List currentContinuityNegativeAreas; + private List continuityPositiveAreas; + private List continuityNegativeAreas; private Shape lastShape; private double zoom; @@ -104,8 +101,8 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver { this.canvasGraphics = canvasGraphics; this.zoom = zoom; currentArea = new Area(); - currentContinuityPositiveAreas = new ArrayList(); - currentContinuityNegativeAreas = new ArrayList(); + continuityPositiveAreas = new ArrayList(); + continuityNegativeAreas = new ArrayList(); currentTx = new AffineTransform(); } @@ -115,8 +112,8 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver { public void startedDrawingComponent() { drawingComponent = true; currentArea = new Area(); - currentContinuityPositiveAreas = new ArrayList(); - currentContinuityNegativeAreas = new ArrayList(); + continuityPositiveAreas = new ArrayList(); + continuityNegativeAreas = new ArrayList(); originalStroke = canvasGraphics.getStroke(); originalColor = canvasGraphics.getColor(); originalTx = canvasGraphics.getTransform(); @@ -140,7 +137,7 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver { canvasGraphics.setTransform(originalTx); canvasGraphics.setComposite(originalComposite); canvasGraphics.setFont(originalFont); - return new ComponentArea(currentArea, currentContinuityPositiveAreas, currentContinuityNegativeAreas); + return new ComponentArea(currentArea, continuityPositiveAreas, continuityNegativeAreas); } @Override @@ -185,9 +182,9 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver { if (trackingContinuityAllowed) { if (trackingContinuityPositive) - currentContinuityPositiveAreas.add(area); + continuityPositiveAreas.add(area); else - currentContinuityNegativeAreas.add(area); + continuityNegativeAreas.add(area); } lastShape = s; } @@ -203,95 +200,8 @@ class G2DWrapper extends Graphics2D implements IDrawingObserver { if (!drawingComponent || !trackingAllowed || s.equals(lastShape)) { return; } - lastShape = s; - PathIterator pathIterator = s.getPathIterator(null); - double thickness; - if (getStroke() instanceof BasicStroke) { - thickness = ((BasicStroke) getStroke()).getLineWidth() + 2 * LINE_SENSITIVITY_MARGIN; - } else { - thickness = 2 * LINE_SENSITIVITY_MARGIN; - } - Point2D prevPoint = null; - while (!pathIterator.isDone()) { - double[] coord = new double[6]; - int type = pathIterator.currentSegment(coord); - switch (type) { - case PathIterator.SEG_MOVETO: - prevPoint = new Point2D.Double(coord[0], coord[1]); - break; - case PathIterator.SEG_LINETO: - // Represent straight line with a rectangle. - Point2D nextPoint = new Point2D.Double(coord[0], coord[1]); - Double theta = Math.atan2(nextPoint.getY() - prevPoint.getY(), nextPoint.getX() - prevPoint.getX()); - double width = - Math.sqrt(Math.pow(nextPoint.getX() - prevPoint.getX(), 2) - + Math.pow(nextPoint.getY() - prevPoint.getY(), 2)); - double midX = (prevPoint.getX() + nextPoint.getX()) / 2; - double midY = (prevPoint.getY() + nextPoint.getY()) / 2; - Rectangle2D rect = new Rectangle2D.Double(midX - width / 2, midY - thickness / 2, width, thickness); - Area area = new Area(rect); - area.transform(AffineTransform.getRotateInstance(theta, midX, midY)); - // area.transform(currentTx); - appendShape(area); - // Set the prev point to line end - prevPoint = nextPoint; - break; - case PathIterator.SEG_CUBICTO: - CubicCurve2D cubicCurve = - new CubicCurve2D.Double(prevPoint.getX(), prevPoint.getY(), coord[0], coord[1], coord[2], coord[3], - coord[4], coord[5]); - addCubicCurveArea(cubicCurve); - prevPoint = new Point2D.Double(coord[4], coord[5]); - break; - case PathIterator.SEG_QUADTO: - QuadCurve2D quadCurve = - new QuadCurve2D.Double(prevPoint.getX(), prevPoint.getY(), coord[0], coord[1], coord[2], coord[3]); - addQuadCurveArea(quadCurve); - prevPoint = new Point2D.Double(coord[3], coord[3]); - break; - } - pathIterator.next(); - } - } - /** - * Adds a cubic curve to the component area. It uses subdivision to approximate the curve with a - * series of straight lines. - * - * @param curve - */ - private void addCubicCurveArea(CubicCurve2D curve) { - // When end points are close enough, approximate the curve with a - // straight line. - if (curve.getFlatness() < CURVE_SENSITIVITY) { - appendShapeOutline(new Line2D.Double(curve.getP1(), curve.getP2())); - } else { - CubicCurve2D leftSubcurve = new CubicCurve2D.Double(); - CubicCurve2D rightSubcurve = new CubicCurve2D.Double(); - curve.subdivide(leftSubcurve, rightSubcurve); - addCubicCurveArea(leftSubcurve); - addCubicCurveArea(rightSubcurve); - } - } - - /** - * Adds a quad curve to the component area. It uses subdivision to approximate the curve with a - * series of straight lines. - * - * @param curve - */ - private void addQuadCurveArea(QuadCurve2D curve) { - // When end points are close enough, approximate the curve with a - // straight line. - if (curve.getFlatness() < CURVE_SENSITIVITY) { - appendShapeOutline(new Line2D.Double(curve.getP1(), curve.getP2())); - } else { - QuadCurve2D leftSubcurve = new QuadCurve2D.Double(); - QuadCurve2D rightSubcurve = new QuadCurve2D.Double(); - curve.subdivide(leftSubcurve, rightSubcurve); - addQuadCurveArea(leftSubcurve); - addQuadCurveArea(rightSubcurve); - } + appendShape(getStroke().createStrokedShape(s)); } @Override diff --git a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java index d53ea4fc..87f96e7e 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/Presenter.java +++ b/diylc/diylc-core/src/org/diylc/presenter/Presenter.java @@ -236,7 +236,8 @@ public class Presenter implements IPlugInPort { public void loadProject(Project project, boolean freshStart) { LOG.info(String.format("loadProject(%s, %s)", project.getTitle(), freshStart)); this.currentProject = project; - drawingManager.clearComponentAreaMap(); + drawingManager.clearComponentAreaMap(); + drawingManager.clearContinuityArea(); updateSelection(EMPTY_SELECTION); messageDispatcher.dispatchMessage(EventType.PROJECT_LOADED, project, freshStart); messageDispatcher.dispatchMessage(EventType.REPAINT); @@ -597,7 +598,8 @@ public class Presenter implements IPlugInPort { // Notify the listeners. if (!oldProject.equals(currentProject)) { messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Add " - + componentTypeSlot.getName()); + + componentTypeSlot.getName()); + drawingManager.clearContinuityArea(); projectFileManager.notifyFileChange(); } } else if (ConfigurationManager.getInstance().readBoolean(HIGHLIGHT_CONTINUITY_AREA, false)) { @@ -688,7 +690,8 @@ public class Presenter implements IPlugInPort { return false; messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Rotate Selection"); - messageDispatcher.dispatchMessage(EventType.REPAINT); + messageDispatcher.dispatchMessage(EventType.REPAINT); + drawingManager.clearContinuityArea(); return true; } @@ -916,7 +919,8 @@ public class Presenter implements IPlugInPort { Project oldProject = currentProject.clone(); moveComponents(controlPointMap, dx, dy, false); messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Move Selection"); - messageDispatcher.dispatchMessage(EventType.REPAINT); + messageDispatcher.dispatchMessage(EventType.REPAINT); + drawingManager.clearContinuityArea(); } @Override @@ -1197,7 +1201,8 @@ public class Presenter implements IPlugInPort { Project oldProject = currentProject.clone(); rotateComponents(this.selectedComponents, direction, isSnapToGrid()); messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), - "Rotate Selection"); + "Rotate Selection"); + drawingManager.clearContinuityArea(); messageDispatcher.dispatchMessage(EventType.REPAINT); } } @@ -1307,7 +1312,8 @@ public class Presenter implements IPlugInPort { messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Mirror Selection"); - messageDispatcher.dispatchMessage(EventType.REPAINT); + messageDispatcher.dispatchMessage(EventType.REPAINT); + drawingManager.clearContinuityArea(); } } @@ -1419,7 +1425,8 @@ public class Presenter implements IPlugInPort { // operation. if (!preDragProject.equals(currentProject)) { - messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, preDragProject, currentProject.clone(), "Drag"); + messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, preDragProject, currentProject.clone(), "Drag"); + drawingManager.clearContinuityArea(); projectFileManager.notifyFileChange(); } messageDispatcher.dispatchMessage(EventType.REPAINT); @@ -1468,7 +1475,8 @@ public class Presenter implements IPlugInPort { updateSelection(newSelection); - messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Duplicate"); + messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Duplicate"); + drawingManager.clearContinuityArea(); projectFileManager.notifyFileChange(); messageDispatcher.dispatchMessage(EventType.REPAINT); } @@ -1488,7 +1496,8 @@ public class Presenter implements IPlugInPort { drawingManager.invalidateComponent(component); } currentProject.getComponents().removeAll(selectedComponents); - messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Delete"); + messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Delete"); + drawingManager.clearContinuityArea(); projectFileManager.notifyFileChange(); updateSelection(EMPTY_SELECTION); messageDispatcher.dispatchMessage(EventType.REPAINT); @@ -1527,7 +1536,7 @@ public class Presenter implements IPlugInPort { // Notify the listeners. messageDispatcher.dispatchMessage(EventType.REPAINT); if (!oldProject.equals(currentProject)) { - messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Group"); + messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Group"); projectFileManager.notifyFileChange(); } } @@ -1540,7 +1549,7 @@ public class Presenter implements IPlugInPort { // Notify the listeners. messageDispatcher.dispatchMessage(EventType.REPAINT); if (!oldProject.equals(currentProject)) { - messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Ungroup"); + messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Ungroup"); projectFileManager.notifyFileChange(); } } @@ -1618,7 +1627,7 @@ public class Presenter implements IPlugInPort { } } if (!oldProject.equals(currentProject)) { - messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Send to Back"); + messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), "Send to Back"); projectFileManager.notifyFileChange(); messageDispatcher.dispatchMessage(EventType.REPAINT); } @@ -1672,7 +1681,7 @@ public class Presenter implements IPlugInPort { } if (!oldProject.equals(currentProject)) { messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), - "Bring to Front"); + "Bring to Front"); projectFileManager.notifyFileChange(); messageDispatcher.dispatchMessage(EventType.REPAINT); } @@ -1984,7 +1993,8 @@ public class Presenter implements IPlugInPort { // Notify the listeners. if (!oldProject.equals(currentProject)) { messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), - "Edit Selection"); + "Edit Selection"); + drawingManager.clearContinuityArea(); projectFileManager.notifyFileChange(); } messageDispatcher.dispatchMessage(EventType.REPAINT); @@ -2021,7 +2031,8 @@ public class Presenter implements IPlugInPort { // Notify the listeners. if (!oldProject.equals(currentProject)) { messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), - "Edit Project"); + "Edit Project"); + drawingManager.clearContinuityArea(); projectFileManager.notifyFileChange(); } drawingManager.fireZoomChanged(); @@ -2199,7 +2210,8 @@ public class Presenter implements IPlugInPort { // Notify the listeners. if (!oldProject.equals(currentProject)) { messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, currentProject.clone(), - "Edit Selection"); + "Edit Selection"); + drawingManager.clearContinuityArea(); projectFileManager.notifyFileChange(); } messageDispatcher.dispatchMessage(EventType.REPAINT); diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index 493dad85877681b2c9f554592af526865c6a38f4..ebd91e8b9a526bf57dcbb1a4cdb35b613974c151 100644 GIT binary patch delta 34217 zcmY(JWmKC@lz>T);!uifaVQSOt$1;#Nbw@Y-60frr?|UoaSQHJ+}$0D+Y-LB=j{G@ zpSd#k&dfVA3E^J)pq)RWA}dHk!yrOI!9zi*p+qBp0-!{5z5q~SIRT`vPYnPSP!%Qi z7vM7l^#I0K-41{SBH#h}UIjHE9YpX2a=i+_0EDp-BmXz#tLXyB0P!G&W_tBde0%xf4gw(bLZ^U% zFc&l6O{T}LeCxG>Yx_n;0x@WaJ(2k1o80uV=8e|mU*G&2DFohlM`;FOtP%AT#GRKW z{7pSbi}%LuPaogR@96I#W@v_fI0#4B{=S*B*m2(2#G&*?RIc$iu5m}dWwYm#1){2= zM9D_o6p7aYp`fr~V?lhl2_e4F=rz{@ZEsF>LWyrw5H)<`AMs#1`BBAInUN>-20~-i z^gC3%heUP_xPFUZ8;tX|h#}$BZ*om!^4sv`qd&i8^pC@RlQZJ!-t5B(&~KbbLVe?U zN*#o;N$D#PxMuu?M3>D}f{Y|H+YkbnJWeEtmcP>SEoN!W>|0;|I=Hvk;q`cLa$)0t zIi{OK-(-Wfl{bIk&bK#E^P{U2;vb9AGXudv&n+bCRsvaK=N^b#{0<=Z74=~Nz+3uyd00TzfBOM%j2$xv z843ys_xCdZr=AiX(1wiix=;9N+JD+WLqVBCCuCK>8s1?6{Gb7^A#ed7Aj~8Hut7LQ z44{JWffRrUAsi(D6+$c;06xqsndt#4uOq7WX9P5&zfw>TkOZ;M3j@MlSzs&_$O3vG{G|9_8UYnRIHdcq8bAUX`E^{Add><7uj7hIIClczC7`53Bh(9N0nZ(*P8%@Ao86V;1MEUTLQ8mOtb;W!o70G2@nFY+qwZ3A(Zt3 zJVWd2EOxaEEa3FF+9DPqPUSMR=v<5ugjAXE_7J zK-hf==y;nMk zVBT9}Fb#xy8YCZL_3IkHUE3MVC+E=wP*BZ$2^Duh`~>D|AZo%{ z4G;;`Gi_}gY3Mnf|gx040C2LrACbZh}F`v_nhV*rHZ;4 zGkzbnvXH77HyDi|7ZOwcg@qxv*$08c;4jZNI}c7Z-=H2|1S>B`I4^fvIZxB?T zZ=gHA`-0)>D`7dD2(?UqeJeY1aRRog&{{-;u+ojEd;OoDv@A*k8uuJo*#97E89;-v z$3s(+Nfc^S^c^|+X9Et4erD!R^d`@-BAM4!Vb4gB4;5($jSSK|k(t+2t6Df>^9HBM zY{@ICH=|J1DF2)@G%{Cz$DYQqV`N@5D<;dyE?_pJG3T~1C(pz`1yhKiG$}pubIPv} zgrNK(D?c(BWy&IV$H9z4(H@Rnu(pb%ip{crEz(lY*yKI0iIzScZ(wr9_+caBVrgZ@ zLS}NBiLcm^hrub3t~p9u)Z-=0O|ZU7w=&f7DB%dh?J2&KkzGv|jyc_i!yDyb-l%qO z_OmnhM57P7?oY#SRbH3phIBeFdLE8=AQVedzHhOGhs}8 zRAi0pq02HDEzu|n_R`o7M9uNPU(%BogQiH}Pp;{?l9sb7c_jhPv=-xVUUeOvbrY9X z$xCvrh2h6~yuo|uW$k@%36UBqqzoe!LDuzH zu>ZK&<J`u#c zmUnZFn7d2pOfN{l+1nQDypQp3mHDc}LLAvE+xks1^d LUB@@z%4DA)0D|t>68KE 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%0D*& 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 delta 34922 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≷XZ^W9|(>*m~cr`mZE zlx3fA+()Dka#h3PN-A<+po3(?yElGPdx0t2{)$u=3^M{rfW&mgMQpBZ#)m#<6$V)v z0DbRiSliW#Yex5Dxg!K~=P1M)%S@qjW9JCnx*-zjLjb>tZV7CMv<5xpogy962r{Nx{c@-1<)gENa}Fl_V#Nwd+4ag`^Wndl2@UYHx}v*Fw)R>br5 zZnUARPd1(XzuMM&`$>{PWokEFCP9l;7sRqL9}%bdqvtND)O`oz0glml@w9e8fJZSI{Kt$S0Ni}38ZF|IgI+RVas3DA#aQssQdOu@VQZOxKX!Jyxm|J=0eP~ z9AjVxrr||m%~5qGNjZ#}3_0p7TVWSR`zw-+nG?AFA6V}{9{ZPDAD3W$Tg&~iGXe~x7bN&F--R=G}25A z?P68n5i7R)0UG$p7g)p+lhxt}2^YZ?q>c+Bww*T<9W2HsnGi!RbwmGs~`Wf6#-C^hG*7#?Mtyt6;a z&Hr|PPXh6b^rX^CD@M5B>P&voZVdSm_~Z6%0drhbB`X+R3U+gsUHj~%6z`Kqj3^xZ z!zz*1wPC{LK~xC1mGRyxQMVHCjT~jwBXs{9#Z!llY(x2_k+>o$m{pD0OLeN-oT8T3 zFg-0>k+VOs_!OEIANNnOLYBRX%$8QG7^l^Zx(Qi5H3z7i?;A)+=S zHYwN2X|eaY66(72`B>Zn;Z8HN^u%w{geY&M6;e{AJG_K{m*R{!jyOLBdRRF3 z!|qdw9imHFd!YD6*Eb5bXSAM?mm8hS6@-4+Tq}aW5Z)LmJE~n*Itw8zdYW~Wh;jV8 zGJ4Poa!}ru@>CUj{0%a^Ij(>|rR#iBj^C(~TtBapTP>*${OG`gpbvk{c^kS?k{@gXNw$(;@N+ai90ssG94cyyzH8FBWW8N+9SP&3W>`9s9Kn9Q& zyxZ44^bDBChR16`8LaXc{ojKlT*Q#)*P_ zT(k-i#6V>WcmrOt&wi^{zCfl=7BVt2+23WpMnUb3cs}M8GN23=E_%1TjvbASjEz-f zdfaXdKx8T19XkLYFV=ZHQm#18+3-OI?0-z8ghdveXY`<1>P6dM&<&~;y0VDFuM*K} z2zQpKbP%1Gy6b4?B^v89tzjEoW2{4xb%wSeUCEOi2VhgYLI*=qyaETe5%dg07Trt* zeXxYg21*@%4i31RX>c?J57Jzm$Ga^=Wp*oYoM@ZzmaUr~RYC|2iwGt~XAXc^SexX# z2#+eE>}xl#-7w?Rj@=Mftp-^B+0NBvy>1pPr+7(su`C-RuXa6uzwkdb+L6S53Mc;S zh6?gh>v}wz2-e?>{#_IEc9%Ubn;X3;IwRp;RPo3_{EpZ?IkB2&nWA0r(^eu=bwY)$*rARyJdI!3+G994Ad;_ zC-bsCJzEX3dPW!g)E(v*?D0ahcakJ82%y&PI_u=8Fd_ZzR0%!f3v&=P$nZjg8f1L& zo%*$MQ|Me@_GL8lH^)6{{44uCY3T!UMcZI%M}W0Go!byf!vSd_w$}hk!)D9VISD!- z9L=>c-qu}YiS{5M%i;d1qx!VLIUYXi7oK~aP zL|pZQs&no4^0gXU?|D%D&G9k+Qp4@hzRlv&+-i{TF&tI-uI)KdSc*^uo%P$8331PBt(UFe`I#a8<-9&0;_y`pz1;5J=qbKCepwnZuFu~ zh`L~4HtVR6-=sF2a-8o(ss%xB$p}(>IaD3t#4#*-0TpXN`$T(iq8|V>(eUXAUIIpB z!y8Hi`7RiZp@f#rmk=&yml!@oI&6e_oRkuIuk6y)Q)XdTI`s#0sJ7*qD*P7>a!B&? zx+t+{zhD%Q7$&H3R0!`%OtQPSzlm;zfg?;ST}d&?e!>{zC+?Y8&T_CoPdg>FHPgq{ zZKpCB2_dK1L5avX{lp97iLW0!JL@ zTm!oUke^>f0rou(3%J>4`i*2LvGj}+Vm3*uQZNx>qCKFn@sd2dcnWK?DxU9`9}AKP z@{BG%_4KqGbj-*VbExr-WEp(@3G>|}xWV%QC@8Kv3YL<% z;NkwMJ@Njf=U2(@X8b>->2xr%5K=Xa#mN%3_~%z?FmiIlSf@$Gnp5hjp)9h)%X_F2 zgRAkssOPgmVb-04bde0Y6|>qQeS~MIDqXPwTmW2KKhYjhey>$p`@#JJI;5Bv0@=1v zLN3+_0g{>aaSo|3e{KA&$0pNoO) zSFWhs4Gou+GVXEBB?~d%n$s;?dmN=i5j=7dEN-MgQn8qyHPfgm;2pSZjz zGXc=RE%AqnRZOYefzGA`_zPOsR#i|7k|R3Ti1Mq5Xa-SQjj+gt|QQZw3XSbozLX zz6t#|&FAAL`RA4oaYr;eouw`CxieC6xvD%I_wbOmv5ie5znrZt{W#-t6a)J?mZ?@4 zmv-d0dqS)!vme;aQ+FbRlAVP(I138x-GtVIP;q1Rh2jLP&-Ewsm64m>%>2|o}m z!+?adx!Pv?4R!5n-9>vYI)|qpTmolh~s zpT*Cvl$r-=cB&~MlWJnyef%BG89?F^g67;IH#K;k^_P`ZoP2*wP3k;5Lj3IoHMm27 zAuzmBOTXHV+nUqWaw)Qq=_cf9SKX#ec|fk#^>vPN?3-5pDLzG(?Y+bvb)QR9@f;22 zzlG&xS>~lcS9=mihvq@Oh?z|0{%%E~We=a8*(wuIG)2}WPZe)>xIX-yZBu)#EYCacFRnpg>6W1vfLT-AaHLjXbqB=_ za&LU4f5Pw)Kbq!n$Myk^D?feNvS8Y%+(n~#p%;K1FFgYaL@PS=|HL z3qCDsggmDA!fh`!;+!iwgFG3PR0}%oQK3KS)un%e^C|1*m;nfd=og)_kCKdc!C;RM zG|@A62GNg+7KY=l2RYlwCf7|r^np~xWmWo|*#hEB)kd&tRN2ztEO$7uaWN&?BuCVG z1(?&ri`0T-c+`|=4(I~=aT~`l&poecOTzE}5n;=BQ~We8%@Jl)>=T)kTI3ROsg~dh z`SUsQWbtG|ijAbFFB<|xNDU(_AUk)2{HXs=(pWl?^$ofQIB&PFXz7<0irlx%HGPBVaSW@%sd%LO zl*<&WFo@~p`z-0@2k>RhN_Zj|{hStBtS0k~i04XqG7Bi`BQCM3M6vn%nANUAS8P6h zOVsnLdb2qbUR)F}%8^w%-=EG8uU8tyWla}pcjApnah*Jn!1>w6hUXzv=?$)o5W zc}6#e&QPG$utQTgL-I$%ns5fkgz!>#in444o=9u#$$_XNQ^}ieGKldmvf3$)DPPdW>yz@bFj3lVzM~hkx$_&zy4@kISiNDX*goWJ5_0+Z}mATdriSL(?x|5 z{~*nhvA6O)r*4|b3QrdRO*1D>Mh=gn(~TwW3MY@s)>mrRlWT$aGbCSpThxwBdv3p- zlBmy$^CTtyq7$s;Z2lg6-%P~y@9RY=P&X2@r!||E*!^O#ljjKa$%xxCN3{Ps z@LSrC4S?`fGd7#as_4GfhwkcH)ksomy{nb5e$enl4$Qbm-?1t3 zV-yqh?GpIQxu~PW7!9;2r7#!U5AH9a{Joa&-X}Zr;?GRhY4#48H>y7mk6h-bxT+@B zN!k`n%M{bx3PV!1K^{`>kr%-m^4ckm7_>hZe%v*~Y7*OBw#mSr1)1|W`-+J%!%JTC z|475MYH017$IS@x?JGJSZ+-t0hWI;^E=>@%a}H zXXg2+bFXQ^=;IUmpE=ky?Dxt$`j z=cIhCoX(aTSg?M2R?Th_$2n4L7){6P$xoj@@vyB&c!bCn|NT-PO$hMd#PS9 z{qA(5SbyBE_zALK^0GahC#-(ZXy?Yd!kEr-ecf7+SmrqrqP_K0e)<`0!7)WLsmv^a zMM+=%tI^Wj@c>{Yn2bR~y?ysBdOzA)D+(bQWncs9g8))~%zzd>L_)Mx{(7mex*+o~ zjmdo;aY0EdQ$fV zS9+z>$bmz)Gq>bVseAT&rMTZZMNAv4i6#;_V7g851BfcL8WRso2q8;{d11m2DHlBY z$?TDiR7VR-_+X&JtjN?NinIk_s0L~~V#%Ly^y2(0sD-7rVN*(zlamg~D*Fwl@O}=^Ae)~;(SG0nweDq<-67Knn zF{_;VuraHyI)f3bs5&uQGF_<}Te1s=*{$NNduk$ z!?r~YnqtpfXnemljXmIvFf_lYFNkB)Xf!YCxNIseb7p2yu^DXd5KY1??G9u`;S>33 zscs$UAns)PdI0#N6-NIGd+`T>i-2b&Ks?Z^TD7 z1ou<|5?ubKYe6Pc8rJnh@zFTam^j1N3CcMxj4;C&TJjH7(G3q{Xjk`N*eu7rlJ=go zD1Y73XuIx$zYmy|a2pb>^$QQ7Qzqr#H5EFI05S>Rwn=o04e!6d5Ix8ht{GWJG)|AAmZW;7eS1ZJ|+Lv%x0b6TZXed*r1vbs{8<+yIMvc5Pua)*|>lrw?n z3z0jU1)0T$qvpVk)6XBGr9BeUAq?{VEs{z3=Shf;noj%X`I#a@giJQx)09cZQ#>{k z^C0VwH7EwN(iZ%X@s0}%st4bGMv1lvF3_hXS@kajI$W)I!;dE;-lH_f%rTtZP8*E! zB8&KeS|Q~So-kz;x{M1u+x{_C#x_huYCpK5+M3=R&o$%ydW3NPvFgCV+bz9!lpW0c z;1b=l@;Xf=Q50vS_FmHi6AUH!VQLPS*7onWCt-d zn{BU;c_E_r>k3gmq%xw&r0d;sZC8h=N6-DJ{;usFQ6+QBU)GA=bg+5AUd|UC z7T=Ke?;CAxK8AK)z&6%h-Tv0l{!tLftMUS$XnxaIkhnoGT@Al*GhD&&#!&a=SI=Pg z^tRpXmNrLf@GNWcL_*x`A5oY;IN$T=reYEDDef0tw2^g4mZ&Ozd=U(_d7!@;x{O)- zz(GNeEC#?alhCpG5MIf{L2mHji-WRRuOOsSIJTCn!i2AC4h2Vij9+q&Z9GyaNE#-G zz?z+cnlQAOhw1W#i~@Q1xkteQLzN;uV_fsF6;G#omn~t#*l|x5J{=n2nWmkfwm!~_ zDkr&%y|v0X3)^cT7BXPa0muk&swq151*C+GF~+383is`)Cd803_8ANcy2j{`7Lgc+KItlKZdLV0?zq99g{Ltt40RySt{3z(2!$-F#4n1;nMVp~$3jpe4lz1iQg+k}$0NrZ4lyU@8oO+k zEVWaiTxi)E$pEf0XGGdkf?s=~m>Uuqw(BnhLO#JrVu;QSlhp|4zk(nVDn7PS2*Gd@ zY&eMi{Yy;gKiW29a*}pM;S%N3P<5ygkH92qtWk!~)DW|3CqLvy`UkDmf7GMY*GYmg8qIw8_o{a0NH$`?%Q;|L4@xw=)ucUz}0iz~4X&+FB z#W)kcUKqgZMN85$`Dq4dSmqO+&JA(3YB2Dh3zxTIugwkdLtAaHba!w6@9WD3;tk*> z_%sIkCXgQejRIFd3GiuVm;(1e5-`6$0>i=Fc?SM?W1SNu6!>ZUk?cg2>l`m2#Tc11R!n_s09)}2?Yj{5CjbjB!Uvog@O`+!;|igg@7qR#%6O{^#{EJ>~Z1IKklY z@saE_nS0=S`|T}1$Ds-h=#G}mq?s#Od`$&ry@WOiD5}gS)fS)zU$HI0IK3hmAHat$Y9$(`G*O2%7x^ zlli~9aIfQXB{SdNO3NUh>&NUY>yyJA&;sXeI(9=w?yF6e^@*qYV8~pL(miXmChCX> zYnfie3|+9c-|d&cb_6!{$O(nf0)=8uJC{@sK6$U^im^_6bAwrq6{~WO#I%Q*nyPMD z#!`+MEltPzub(8-1E`#;(%ct{1ZC2HbFKfvSy!RZ!!gkmyL4@Yx@E>5{~*$> z1Af<;H?bh~T*16@0h;0IkO0}yUEh+EKQ zbNi$2b4D7GsE<>Gx4TFiZsti(#_7NV>fS+s-8JliUEW!SO|@oQPx*-&sfdW6 zP0^!+2V`*bS{6-JKOn6R)##9v;DD_46^`E$`|gTc^qGJ4)$iy+P|(|;==I|a2(*6?VwVaX7%)t% z`C^Z~jfwt5+Uga^!4sYojb33a6`)WJQM4KC0W=f}GeFHz?}BHI*&xJs;Rq^rGyIHP zfIkvMSw5K(rTk^18!5oFDJ9KxGa@XBC}5j_aope@0+tZ))Q5ni4#(IRjz1=&>_$K5}&F9NmGbkmt@Rc_o6(-&V8Uw{k~ zyE4ozrB{oT*`|7IsOknQi>qyQwF8Z zuI*`dro^4ZHg#RhpM6^qAMFkb}@4$>ziAzTz#1{tdtLM!Dlq6bm3XNc3U*4 z{P6Dyg9t=1h6LK1J1&^7Aqlu9j}(PD95zbR#Pf_csG}V#BV|d8?d1IM*(M^*RvGl; zxTWesy{rLQ*c&pF*`;Q@dVFJ>eZDnI@s;nfHSNSm|BsPICBurtJ-MK6eobjrUsClT zB$5k8OTU3W+k%Fl>0+H*)0lxi$HFztBcIPR4377-0XOKwtM{-0H^CA0ulZ4!mOg_u zt_9bC<4zR&*+pBs2c8yUM^H$YE5VU`fVZUicl@IkI}c50sFSJ16`042uFuHVRj0<+ zp6fuqA1l_Ck4UZ^T_mgv0Wgn%i*37rW3~mo+Ok`tl@O#GR{49EfMbpY->#d(Bi}Kf zy#jmRV>6Ht`vL{rU@nX&(&DpY`X|2?fnp9tK9HHvw-a+(@Q~x>vTtT=Kj$x zpXZR=Ynag$;1OCcqo1W?W|7100o_yGd>sEsL+V8T@Q9o5k%=l0qo(-nNQB+qjU>4r z9F^5&ocK?-G|`P~&KE(@Zt!Qh?-tMaNi!cq=6-`v1I?A<<|~cvFZ$YPY~=5PXf8T54&G7IujM$jO9T3NkRlgTKI61{@JT@FBx^MA>GiCh=&><8yd>B z{w`FR?O*f<$?d8rPk4oaYB~y**IL>OmkoRMS|KE4GfMA_W8XRsER>m#Ocnwj^%IJxT$o6_R`j=ebG z5wIYKFvB}b(BY>G1V6DO9%_r$*&m8}?ef0;B|g6uPQVVMs!^F_-}>p{A=1W)Jf>t8 z#+&l;Vo^j!bS5cki08Ja2VnuSx2HXb25yjZ%3Yt=w{o=oZUK3#uw1Ed3Vf84aW`G9 z{D83sqYBk*gBBk%f%92FPJxk^vt-*P*dupC@pekFk{h8Y*Tj^aIpmPqeSzmB%_A2C zz=B{?_4!`pWc-ivTTAx~)8`DFw{u7I%E~)<VOab|lfDN0GjOb?x8liQ-oSsvsh!R@3ieH8tC(~eLR-tKTyBa~i^Ze(n$>(*2bL%{D9$~#pSD$)9awMt6<@XG zbukGRuH6O@vsmL4{|w=-J1i>JWeX9(2OS#bU=GEjb5ZGiC>aGBBfE8*y{wMD{P8zX z$ij^Tc5;+>)#bK7L*Gjy#b@aZ`~)csmg&{Bh`unlSV<$SmZz3FV%(<}O#sXNn5yx} zd3`4*`??*9V1tky6H9^%%b;qIvWa?4(OgB{V09l_nwLaButTtMiLJn>BHMQ1Mtp^+ zDs{QxPuA=0;QbI{g&O83QGg#R`W0;edd>#g4}zB|Gj7Z(3QoeLfhoIUy%}VXCG(Gc z@a{)t>hccklX>W^^9_)yG*0LxQ!7VcYXr(zHHJ0umXKz0fOJJJXX08+&B*NT!o0z*=ZNl?cI2+HKUdJwi6-gKi)&lz#Z zg;Tl&V!66nQz1pZgPB7Xoz|d3|27m%byDnuh`93G;xklhbXURIl?cGy@UAb0dYX&N=IWYtWAqfpP9c9| z9efg9rhSBD@%TlT|5M$`Sh9No$$lFY-$rWtTa>K+ScrVfF{UXKO@FD9Ge)Eg~17%9VtRi@rgPQe}@YJ})AwQLaG@$cR{83V~--kZsks zGjju~<(+kH7uh82F(vGjVkI&B zq(lbZ>c~A=3WYTZage5ex!WIbqf&r`m@7Wj0u8p8IQrhfKcD^!g;4(NC3KA@W{ zvHrurQ=5zGB_RY&%oGZjvF~%Kn*?NLWI(QBP>=IZN)COxsyU+8O51@>a`{VCvYZSS z(^+s-*`*Uar_YEAXGs@+FX+OBFhojPZed@3C2b1Q+ZOClxB&ISSs(;~K-=cx;g_o#k;)j<$kz^Gdy|p1$ znaN7nmX^kX{_Q2|xL9s6ha7XTQlE1Q4VlO6lfne;!l^0Z5Ch&hFSci-ivh zk6O%L`RmBeKw#zO8Q&EER=3Rts>b}F0EoIZG!EaR+$7C+!8KB41HdX1Im~r zz5Xupp;WeHi``4wBtj81DZvwFUaW1bs|#OL(qL1Ul^aAxs}{IR2c+W4RTSs>>~QXR`8)G-4LP$)dB zV)SM7#e~`^sjbhd;i?ikqx^@`ADNr{%Y^bLC4WmY$^6lmDnIv^VPk^2Lh?s-&~&QL z5o9vEfQ`?tQ9cC?m@=+e*^G-4tmc-&g(cHvRN?osSS@3rMpoY({i~TkcMu?USbv$Ukx^r^Xz0ehvYFAw7Wz|XS)|~<6pcLsW>Nx~S{0sj;3mMkx2CV3j zX$}0ZUOu$?Iq)tdqcqKM)lcy-bG;@(*tny!vP$%RW%|i{E0HcquGU&u!;ljpMxc#` zooKyV#e{}rLYrdqLm3%zI6$aR%(%bwGMC(Kz!oZm8_X?DDB;d5QDtlrSU>AFIVxoq ztk_wie^M`MSmFSCI-g&U#BLv-A4O%0FYi*pZM4bv)pN5q>cND+uLTR3{W3pG-9)XV z0bgILVx{!@GOASJkGbnz3;-)ma&C)56;Y6}$#88imzg&u%?rBC3IL*X%$iX{ND}GQ z{B;AB^|{%qWQc&dET?LZWuV6JACTEaVQc!51Du>-Z2HoqssB{eGdnvmO@6erSi-7Q z@uf*)$y$dCN`Ys1cF*$4`6i(J_jc4iK(-0e#=o4!5?00rSu$Rzynn$Y`uo&5>yB|} z=2BakYZ7N}IZNGbycLkY8Kc3Cl4`edLWB5cr}SW;s)2R8hxDL|A(1-LPOf45>TCuw z3gQ;Bd9;qQTZA06HY{^B12U-@9!&Dww;#Wo$V!@(wL&t?IR1R&%NUDI&V|%`COPY3~!%UbB`}x@?l=RefptJJwdxEC8FaM7AWV1JIcSD3-2( zl!zVu7Hpq0v&;m3t##p3^0l=@mLJH|Fw|Fqm}pzvHf8e16g*Ixw+#Ac<{(>B2JSKp4$??*U%BU^H6vYNC_1!NXGj|k54v(^~73Uch|%E&Ce2<)`q z!%oA}zVr$6$(25u>b31Lyv-r{Z%}YOIl^|L+2A}(f15cVy;wrsLp43+9oYObPQVeH zbH84rKo3EbZAIu%iEFTHak&q&f>*L@Q@M{s2R29q1AY?4jNoHE>t`M%u5K&p7V4Jt zFwt6lZ_QOGF<7U?3<%`Pq?!tF2DgR-Dk8xa0Ic6rE`$yU4W-A1*Z+Yht$=@%(1aU?Kz z+;txOntZrnWI0d8ma#P7cqDUjG~%#6*=1qLMoA7Gjs zYu@%t({dA+v`wjNX}OPB2W(hoE6Nrj(OJ} z6h!UJz@{?`mlOlXy>l75kgPuzTd*WB1-ei}z;7pLf*yRj5W*_FjAZIKUH+zEiFoig z;C`W|q-+PDT>r{8FR9$O*MhoPfX#82WGvnKTQz!}JJz`7CfeQ*qgz_O-oiSG|Fwz0 zoJeUoI+bThx3+S^2WD;>+;L>Jw){j07RZ@*GR&KIi$d>vhzwnSi?>U!#Fd9P z+eDDDL}bE4Hg3bZ@#7EF&jWMNzMar}n57!{y8%wIdFAy0BscZuyQzQ>{VwlAi96a> zhNv15c45uO_#0>}1BDzI?h^(3pH0K^hs{3JwFA?`=k_c^!(#Us5l&LI9a;%-M==xn ztw7WyBS}5Q6Q~{vFIybCa(C4nNO`ZjW(3(OWfD#WU}+`rILZ+L&rK`kv} z-<}4{O{;~~AO%v;3k~cule>H-ewj)%9Oqwjm*S>%zvc~0kgb! zeWQ}>wkdz?AB3ZaoK^%{l32+dYaSQESc4OwU1ieNh7ue8uYF`45fXSRGDTcp9zQTb zwzscYX25U_R2uvaXpHlNfj;>Tz0}-N&Z--{qqlpE*&b`Ux-ScilW+?LfNfizhGUL6F8MM4|Qtm2MoFS{&n@uPBGHr!=DmUBIM}~mh6DiCoM}?B{y7AM;QJ_u&eyw*Ip;8N?yo1E2$e5 zm#vpU<=Xk$+vPtR^;^zVF$ z=lnJM5`ll4W=xr_looIBNyw{i6c)QRji}yLB_$AYgW|#H!1#f9l_%uI?iyETAkKBNR>K2d^xD9cdMk3&fA&uwF zvV$?p;HyU(rke~v0D?;v){7CeBIK{hIv> z^v&HYdde*Oh29u`SnIaY=4CTT3&Z3no52zQP%l=h)rxe!S3QVJvWHy<7j9Bx8um%# z@Fw73DKu%eq$JOS3kj&AoeUj3p5fV>2@|n~tGzoaue&F03X0w{WqEXV1Z&W_Q>J!`^TAH3q8o1 zqmrE-u#xUl)Ur{r%O;H}GHO?=NUl=LjkA%Q7?E^f+pI8K&;xMZE^MnTKBEd*w{6e6 zVk#+0MIZX0+*F{_tesH2@R!^P3@KV*;Y4EjGJMI{;jJxheH!%7+U2KBU51+}ey{&d-aN8| zrXbuo+NE*ZW+vd}zuEBF4Fwzt+zXBP&+7_rruUOnNEiagElKUs8$X*H_i5G-s=Ke5 z2l7p0FJOz%4BCZrt=j~kU*DF1m0W=!w19h#VX|i~iV;L4unkB0pn5V+FU*8$wOl4l zdf7xC)YZFgIi_ zcnUY4S|tqx*cy%1hQlm^2_&=r%JKAQ=a@6&wuz6pkcQ%ww_XZVKvNM5u=1sx#XG;< zGFIgpr5Ml8E=9%fgBjVd{h9VdEC57JDwTnwrY_${<|^REmtK1iFU!b>!e?Z!&^Fk_&F?y`bd=jUg|op1##`p%X#SEv@{qg&;$^|7Zf-+5yGj60`&W!D48HSD;Xxxwdfa?q8sB(h*gQdFhI5?dukzP|tEl-R zgYr(W8b6Nl@BA>iap`<`%Z=yGxdW`<;KZUnBUJWd6%0L$!2rx7LY_yyx?@3{fFy|! z1Kn$}gK&cpqje&T0$FBGcj{ak@FMagKM$2Hx;Ql8rTKtU_DaLDn-=*S-JK*n)q==7 z`#`78Hqbe>vV+)BdrK*v3BiPZ0u@ehF18%W=VSzH&07x%Y}YqO04xboQU2}+NvQO1 ztnOLzjmte=>q%+Fo^tS_a${{cFWOIF1g;M!;GC5NM+RXGkyf++@xV`Y+n1mF1_yqY zYuTVZBxHWzNe34~;+;Ro*?Gc_eBk`Y;cRaj$=yXEu4Uk%x~Ie!=vHqow&n4G&9ic@58ZrrF?h^D=tH7ysvNEvBqJrjo_CZfXk(t19noX|+E(&W&amP;+}rNcy8=;OgF z&fsh2xZ_J8@hsQer-54PjZ z6K>0s$SIe3V5D~`8lY}KNx-+D_5&7$^y&2K0$a}a9cBb@1}bqYx@J#N<^Gt6mw&zM z;3~ct>HiLg`+Ls6X(qH-U<>OB4nCB2cAdgxV)_g79}!eyw}f*%lNb6>%-o5msy(xZ z9Z~c;DEAjus+Hu@36g`JW)=nuIpAoHPq!wQ8K7nci3 z5s5E$Jtj}Hc!e;H=-mZ%p9?~7CZ{)4UjjkfS|0~KD@Dm6pOAhJ)JKC3rHW4=+3_dN zY1q@sqfF27gmlBY(Te6vL+S+{<3Lx89AhD6NpPidWI;%xf2Fms(d#Pm_&H666g!&h zZlLvKp#S4Ig^Xqi+rN?~zNGjs%~58?(LP&XjFlcePUGOcr6KwJ;IBjs*j}~GoWUfb z&a9wsJ%OlMLsFMPjI$R@61J;195esaz456QS&0XcO6j3dK4U_uohImgH>(VDT|-q9K{;)8YO z4^cnHIf~$h5srMU#~iXbLfHoU#%9am zpzpLt^@#qQcHXduFW;h;}?-A(Wei?qM{55BGX?Wx1gBc>SG0uJfSvM1irRDJJXZxRR8V zAqbhjCm>;LBwq?NwR(V8!)$1Up!+==pI)4&?ua;0XeLlNrP6rJe=i2|MGbM(TIg62 z_Qd`y#cumy=4bL%K4+9lvMK{TisHdJC(#lSl*1&Z_wYzs9GI#te)x+YQO%e{a;`MX z%?yZ10@D>pv&ewBCV>Q?ghf*B{(i2XRMShc*~ksri_oka|n_9&pJp&QGW*m257^1&dv z5~P}ssB47%0spfUC6BCVB9nU_JTL|wvAburf>DG-*`c>V&}&0S4bJ^npW7h(*%?+@>3f>RpT;xZ|?BaFY!B^U3UU_An^6W$7fwQAX&^!@wuDk^le>4 zEMKhB(A6V&anw2mb>fDupV;U7N3`NTTQ!*1?JQYKrS@m8(k7xIZs>dy+L&%81>)R zrkq$7y992>l5Et0;KSY`e~J~sLq|-^dLC$qjS8AqxOBPZ-3p#(lCN_opjzw)b|+Cc zjcK5icnl00a2hdC(XmJK2oAZHB?AW7_=lSC2)Cg|zz;@rJmQk5j8#kq1(+3x7FcG} zjsLnfGb`ORBRvQ{$n}asjT%d4yfZOoA~7$r0h~AQuF{)ZgHe9VvG%(j2Ll#*`OviJBRun zHhT$061#r6Ilj0B!}~j&qA=_ShMb0oag4hoX1vE;qt=9V46~XbXy&YAa?dcZiaXUF*XhbT#NruR5P-_6GO4ro0guTSzM%sIQBMcgV6IG}*t z8~#rUT-*@J&RE3QvoVpO-IT#r@3Md+JsFp{YL|!K*OL$wPX38)bGxb(bGz~sb3N^0 z>dqedpIqW}K>6lG%b@;oNO7s`z269liZwu1e$9L*Unms1MOznqoE0BG+Etr=E#UPrn|0&)lY3}AALPofZShEIN z&ng;`S!as*gBZlbv$s9q?;nAB|9Boh=s;;=r93%*JG`vVIu`g4HFS~{SaBF&lFoPT z;2kiMo5^8u-@q3KwP1=mi<$~JdGB67X9+CA@z{S7Dk?3^bK`^gT}M5^Ir1sNV`v+7 zKc|Z`HPu50U_3+3Km)za!+M9pEqadZFUA^yacza`yEFTf$+dQx+xz*VuyqflRvPpZrw%U^4CNziWSZw?hFfi=% zMY=q{Jj=nFE37~f4m+fW=^^OlV!$s@2zsw9@2=uM(4)Fa9}+}OG0zBD&;dK+K(P_^C+9eAA(+0B@>{hYLOlhj5jCTM${x-;?aC8U z&Pe2vwO^+#pdk3{0uw>yHJqaL@J9GNLwwma&f? zwg+1zCt2oGk3o1S#NAD4SRXxE;*caMxJK`yiALE2XP1n>hH)D4BJDf71NEx3^(&Mu zE0p=C*y!TBCq)evqbp8RS$GSz!Hq>>)DgrX=_Klg;KfD=!5-kMm!lZJB(`Mh?sSLi!mQ3yWvIy%g3M793gL7O*t|vP! zUxB*&&Ij*{Ie4KZj*q0C9a6P<(K|c}03*9t#CQTRW9N5;HQlgdm(nCHZ z%RIi1CSQVKmi=*tIt`90nI#7DGDmf^%Z(usEDv*yZaaZTr&!vLWwN-JI9_D-- zb!YXn@dn`{BDERjsDO)C9PWnoRfW)wzL>~g-%FthJ;H)e1SgH4QUd?Q6q9;=KW;G7 z%(*sskMjbtd^g7MWN6W3%nooy;)mst_tN`5?hiu!6 zmd)RTwDp}Dju_kL5)*wVES(#7&)}c6YoEq-w?Xd9=i_cnLl{d#gYoOlf#6{=e|RIrH09M&W5uU{ti6?}kJ5@V$@)(5iz-g| zC}fC7vStVRD>4v!1;+*sK2DDilkeobprq)cKzdWe{}F-!C?R2e-lF30Z$xMTMv)Yf zPnP_TjdXck|{#}EoYOk-$9POcq@}*wdOKyaHScJa@XZe5V2+`Cy+JWlFrdL zBa$v5?sqOaDg3i`e^$Ik?Y<9zc=-A~+5Yjt-79t%5bn{db1&gMUxHnh$Wg<5eF^vL zG`}b@i9C|FYu>2BwTlsc0{2cx`&D(m2R5X4nX#rF*`Yf?u4W&85s{-Ontx?_Mo|NO zDB*b7N$w5|Vq$KiU(WY@=~=Y%>$I#Ouw$jfrS-Joq7rWS$Em)-)+`hTsosCfHptau z?A`!5qQ!(=otMN1{^i$S=r)ktN(Q^Y&9d=5-(IeizrqDw`$s<&_)>`i`^b=8E2*s?OYrq6P_yRk7S6zNVA? zdGSSu=`xzB`oto9>&)uwz(gJUgeV8fUsPQJK;{HvCq6F83%=In5c));cKypmh#c}B8$~Vr29qzZ5cnuF!B$Q zD0-W|Y~oW+Fsw_EqwUMBNJvIrQJjz#MqE*xk&;AQ{aTf%kGxVl6)ycuwr`Z(z|W)> z3?!bEnhq00mAsA1obf(w<@ei8&|VLbOE_{F4{_>ui%Q@cIkdD%p^)lYg8*&Z9Nm%y ze9Nq;H@7~wIlp%lJtiqe6!W^;=lIj5~; z8%Grz{QVRZ@6p4>j!%LKhM~wyeYvg84-_90L+8s0i@)$IyS|h0}%| z@smNb4fB)1%`xrWl}D7OTU3&Jl(~&+6xt@hQuWMt=u z&Ki64oU&-2!1&9h=5>&|Htb4A?Dt?8uhORP6$e2~ekO;G?j}#uEYY^X`6zs^|3mm& znHg$fo49rX?WwhHC3qIL{FD(jcox{hPa;otmuisKd*6ba8wa$&;LHTf`lLmb^@Li# zu=2~;t1?PgfN;yTsPwW&HJ73e4SIi`NSAWGa3}zfQ^#I{|0*6cD|UY%svhrsvL$XeCT~U> z@sg;!nn-3%i(TmbREy~H=q3O$6L7Ml%81mg1f*y~$iD)6fxVqBU;sX{*7r@*FV+j> zvn}UK8yXjAT6s!`R*&AKIRJHxmfFd+{$MMjk|btz$q@a`TSY~!HKgH8s3>o!afBa& zT*dw3oRqv#;6aJUEvf#MU+m0Jf2rbxBvP2AX18^H!GD@Z^lm#zb+TsKZXv5N4$Xq& zm^~d*&^b%G*rPBe9?X8?>Og`yeLRsMs3;UCo`sT$PR>;!8}l9&lrKD+e6_oyD5REyuvY! z+~sp{p-|n!p3{De?XA{lC!yI<6jm7fCs!4l0GthfgJh${+DIy(W)qS)??!T$+hdd- zs1Tq6$dw_Jt5v&5za%*s@bV*MWOI@<(=>0zg?mrI-|^H%@6Mn;6)ONszIrYod3zZI#T7b7u?}muO=9 zxJ#k#2Vam@#AOlAe9^>q!Ic@6%W@PBKN-P;4mV#R$zP>50&}TC14qe3x+eCO zKU3BS*X01s34&OSa*U>^k&aWGh6>a}3OOF@9{QdI>Tpcwa4YEAr*p|km+n-#qjkw; zH0Y;06P#R85e~_OIHzLHm+4R52~o!CQAxoQIA%qkHwxW>E0^e>VYH*zN!sG$?KQDF z)hp4Q?nLrroj^ONx)fN69gywSvv7O`L=h4=Eqr=M$-h-=SJ2E)36Qqwj2Tm*bvDskV1xtB({cmjwc-s?_V-3fG6&9ELAE&f(e&g|GsrI#7pj z<|0Ra3CS1A^aD^KJ7soTi6eV+CPa0;Y;AChBq8*RKxc*3XaU@sF38;07FWntPma2zZ|L%GNr^wk6qjv7=xA*RpUBMysYDejgz|GXz1Sgtg;%BP`^?3j2wJK z`>%%qSSYZ~umQY?IK(UA+tWuqWO@EMgB>HmiZr^bHs$aFqf5zBi61{W4bsw1&*tsSmy)e6C z!!sYz<+TOj4@taHUu;5%Kj(=z|b%-4y>%!96}c=56wq~y@8OyckW}H@E0@p zOVt24yGDKGs66CApJQe+RVU!;Q*k&Y@vhbjzt;*@3uTtz04AQRczf%Yst>u23anfNHD3!dU)W{gM0r)`al)>@4$AYmPEPApQ&zGR)rL=C>`i81pYaZJSLkIORg#i z;0at0H@zjthfLZ8_TR-I23tc zQXHFF7g&9|EjA^x46A8IF2L0qEf>ILwVN!1d<8i{g0zyCcQjS$(TLT%tIB9sw=l=Mrdh@7sgn6hfL5@O zsAsuCPRsf+PQa|Y;%LiGUnPorVmKI8FKwW>Q?RKkg4sM+5+o{!>(_`|lPRe8t{*00 z;X_nY3@GoY1veTYJpHa0Y;RZXm!i%noVbTB9sPu(S};Q@qe|5x(gEa0-1dnP+rI4x z%Uri&LEOHvNTp0ufyE~RwvJQVJCs_fS)XIas(RMV!6OHc_n-GtF3L*sc&-FgU1G&x zRwEK2$xeov#Z?L@;tpdr)v;jLirg=meC7LxHHvBI5FlMVcX{iUAFDIA$~(GhP> zh3OBA;+mnqGkQ0{HV(wB$4y=S#z?nuF0D*gg3@rA@SFm5sG`ST*-RGwO;mB$1ciP0 z-U!ChQ*IK1&b~P4$Q{rvdk@Z^%@7(+(@=@%B&B0P_!Ag0Ux%XHl4R>M1FO5#^w91F z?q#(6wcjN$FKKC48Dx`8xCR-KJ4eA-?ij)piI)xWd zzecS^l6VeL(bl#}6(V?a0>TqjpR&4n)8eDzzHrCM#~s;T(vmt>tuSrxr4x+g=Cw-f z1PxY>G_n|tK)?I&*Rw`;iEx^K!i+Iy;Wz&S3lTR3V$mZpa#tQZ9hVFLs>$s~`mKnO z4PnxY8;c^Ot$sXGhQ={&&SyxM?Wb(K5QhsDgIvr?kORdG((K{hLmvS!0JtjPE)ao8 zb(3%+*FHBRw_$<^>HYOaSitZTNVoAAiGj$T`y=FRB{t~WegZ;QCENVWz(og%{YeJ< zQ)=-Lus1^c8`6)uwUjiwCt6I?t}j1z!6V}tyso)MlI!clhO4@m>#WZQ>WNUtWx{p8 zfM?|{3rzGpQ@5HRouIGTbw=Msv}|LOws)tZPydp-Z82h%1M@ubw=V-+UshZTKr0yq zZhy1Jufky#yz4^}9qxPP-ohsR(pr_TT};2-4BR8tpradi&~}G~N0F1ntEJ3E;{Ijd zQ?d*y(c+S2s|F|1LKAPRCoR^(_pCQ_LOwp)lwx=0sCcpUFFL}Fz1&@e=({I0weF8{ z=$L_$1^vx(#S5u_Y|2l^_R8GmM?aXk^}ueYvLf^_IKNnEA{7PS6|d;zX()3|kN1?eV>$$xi=7a&&JMwefm-!I zO4Tyz6cvT4u+QYks_gOO<^o9n%W-8a)*UF2bUntKz>vy6Lwir}c*m{^$>$Ib*d`Ps zCb&8cv{Um)Z(`tKW!Gm=wt?bQJ1KoKp4WYl;gTK^QwwHTB>QuVvf}KM(PYcP+J)qt zw6nt%5H_4lvGb>h{KiqC?!Zgvj|O_VxaN+rCe7`%oloo!jI5~?{((_hVpXmKHh!R8 zW3x0LBD|d>DsPT7G{JVSA$kD>+i&$AM- zeqiLcmJ^=5pO}?cBzp|E1*h$kwR7INC|C!&0X~ZC(P%Lj;uoG5Np3gaXm* zKD~FR;<$cAdnk2j0>TBEPHTk3`Ms(AlJGmAM4rwly^^}^_m-Q)zCBU~Rm4vq@Y738 z`;Pv1Ml9Q_=DSFOr+5S!0&ao!v5KnRco%9i<|}^BN;0~<>8qHNHE%7ka(-zM?#yeY zJ8yN4E&B<$YkfS2bWu08GJvz$7yXwB@>Xv%avFvLx8MxXFP%S)Ll3HBE~l*dzIRNh zbfx;*`3>DnpY^jeBL5-9Af259Hi;eZ;C;jVf~NbO4xuvQPzU1QzBcpE;&2`8oq5?p z&eCfH?ynYji5o)~t{VAYPpKC599A!=(Qz|MC9_voOgxhJlOs@7nYu7xVRyoZPT@+!$YEHpHeQ&*kGkTVMU*vH)H|JPe_n{B)xeL>~g8 zb8{ng=OyZ)O8g+x3+haFw%MD6mM)G}O8I!DczZipGPW~Ax?M@f^c9wgg&$a(t=|Wr zK8u0x!o~5XJk3*vw^+C_27a|>a+IS9^|5Q>o>dbksJ|h7(Q^jsX1{d1ZT}`%27D_9 zHyjk=$81%aO${BnaxXP9hXG<|GabJX4W`n&Lk?`L&P1-Q!R1&=6R=&@^4A|+TV^%oY z)*%p=C|A!~&`hRHDMWQkQFWZ~?BE3SeoKUQWsKK&n6d}u<=W+n14sON>dK&XRFB=rdaizkRzHYMd}s{v#@h) zMDPJ)a+f{B++r^x#o5T_I=vjAD!U~yZgjDSiZ!(|N1v){87f5FUWAzP$Pn_nsxI3yo%0h=T8ET$p>RO~bPY6Z8g zmj~~1W^g9nSY?$X!$zLm@`wl6e8&ovNrPoWowZ}1s-L124TuL=Y^cYIf}AUwTQ6Lf zYZ&jELO9O(?DO^KuHn8*q%ElQvC2T{o<5JYPS6KyvRvBM6^^WE;Mpi>s+Rq#Q}DIg zH}<0FWuiM^9Tg@N%JLXK#a7}m(|V@e?ZJ@aX?7P#^E_GuW|A2Et;o&}aLW3;hgKFL zuJ2po+!E=4GQ|k7!@@JEXVSQEk_)cPEKbGAkAE=S(G74p)N%yY{@M}Jet(8S99dGq>}#zEJwqD$*h=TKk5g)J1kZbcNV9-f`Y6yX`Li}}g;uaHyVL7|*U-QuY$TOm~58|+Fz4mQ@-zS1mI?y;m+y4(H z#6?pP%)t?V;_K;7DW-=CpDT_x?%atS5}UQ#S}8>G@yLA{aAN!ihOQeFvU##=hm8uF zh5^Eo!{2d!sY=B=Y7i$AieqHMhIuAb?mE`f0w+#@3NO?aT)H7_k9XR>H55O|E{xT; zve?U>b!`?nE+&gOSiY7w3!||+T1XR7bPSIE4FDZv>Wlb z|DNU2{v{}>{~nW^U}C=;+<>4@EeS~dFCl6t)s_H2+&*zkVM_E=l@dc-{poAq3a7$Z=cRxB|x>jw*R>y4}md0Ly?yNabM zk;a1?FMeHQ$kY7Ss5`h51#US>Yv~);#mtwQ)Vxc2MUan(L0mn`Vs&$3 z-uL0tYj9Ie?!sXe$`flZV zpv|5fNQ5{HC=R;Gfb=Cbab0eHFTg`0ezIq$P$`JiJqE=1BZR4LSKI<1Ao=|E`I_MI z@GJfiHn?Zc(li`pr?{GIdpJ8TV=mS;xDVpKPz?n!XPe?$O9U6Y9obg5&NbCv zNHvUAku!tTMA`>PE@<4ezyCn~?|r~qTBQL(aIZV!JgEbq-gd?T*9N>F8||kD7=n1^ zVkUt1W2Qfw1Ki$@pN_W%D7@jeJwX3;1D;f2M*!z50387Wuh8oVV0wisM*!>VIl`$l zP5|LIbZ`RjzM5;D00M9H$_XI-O8K1uTyNCJ86f^jUxRT|x10f#|7GB&Qn~<$-iVY7 zfbTUR@&m?QK17jS0g`WC9an(dtGCMaeFSH&0PZ&{of|;)4TIePx^KAqABwmG)ZTcG zJ3#&o&;LU~4}i)WPxtsx-Sq&-yz#G|0O>aj@B~P`;V;h*T?#LN?Hf<^0+_!cs5e0I z4ORZba&Lh88wdD&)KT&I@R$31=>PQr$iDeSd_VNEeF5TceBT$~{DwNfkMT4DKk^~{ zKH^pX!xFy_`<>s%xJ3Lv^wa$T%5V8+{s5gflnwacMF9ZKSDq3G(0FZ@W+1@e6*>a} zmajk&^wFcx|8W056bl9zziCtj1B~7fCFBF$LI758d?)0iCVMDA?v024hfAR!W2FxJ zK+iCM!khnR7(nR_iNgV6uVr6P{Lp-b!SIinBSruu-n^O-0MR!ri1--!UBpMWROCme z3L^pfZ+?iVj}B=^eRR4x>SM;}(EyD%zx{tW9{oP^REn4n4Ezt*V*n;^aiXyw@%gbI zdUyYErMQo}C2=42=eUpYD8+x&tBU`ygC~5`CD z+sya8=1hR(YXWH2dp(5@$j<_(y&CVc-V+3~-yt&lU2{4cAphzk$pI+8f_u)pO3w#C z=e~!?<-RAR<-S*6%YC0TUEcfPJ@ekH4}Abi{(D)&{CAaa`2dMm&FlPk6|RDJV_?C1 z-edtl>D5PC2vB(i&%$?KU*UTsOwoIYY7s!@)mQYvE{fj8xQgG6;l=L>Q^oJ~h)Ujv zWMA?=&bE^Gmcy04PfVxuUF_Qjdn|oVkScpm$S8YP*(!UV7-ji;b-VKSknZw#G3ama zA@bkeeW~Bx2eJ79G!^f2cdK~!b$tLt<$FEF%6DUW<$J@{@&gEvH}|KP6m0E;)iS^v7R+AB&ld|VbA8b0DM8b20^S>wlI>-!J!nm)Mu ze>n3W(l>wD!<#=Y*IUgWi;At~WAVke0QBJBj0EDj+7oP*d<@XTmPT%2M|E2Lpy*Vb^A5+ zZ6@siTtFz`KO<|$yHTp+)fff&pE3N^_$KBOq6CACP;qc)I;QW*s(*QlLv102$s!rvLx| diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/CopperTrace.java b/diylc/diylc-library/src/org/diylc/components/connectivity/CopperTrace.java index 9e059919..fd788999 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/CopperTrace.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/CopperTrace.java @@ -1,163 +1,165 @@ /* + * + * DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors. + * + * This file is part of DIYLC. + * + * DIYLC is free software: you can redistribute it and/or modify it under the terms of the GNU + * General Public License as published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * DIYLC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General + * Public License for more details. + * + * You should have received a copy of the GNU General Public License along with DIYLC. If not, see + * . + */ +package org.diylc.components.connectivity; - DIY Layout Creator (DIYLC). - Copyright (c) 2009-2018 held jointly by the individual authors. +import java.awt.Color; +import java.awt.Graphics2D; +import java.awt.Shape; - This file is part of DIYLC. +import org.diylc.common.SimpleComponentTransformer; +import org.diylc.common.ObjectCache; +import org.diylc.common.PCBLayer; +import org.diylc.components.AbstractLeadedComponent; +import org.diylc.core.ComponentState; +import org.diylc.core.CreationMethod; +import org.diylc.core.IDIYComponent; +import org.diylc.core.VisibilityPolicy; +import org.diylc.core.annotations.BomPolicy; +import org.diylc.core.annotations.ComponentDescriptor; +import org.diylc.core.annotations.EditableProperty; +import org.diylc.core.annotations.KeywordPolicy; +import org.diylc.core.measures.Size; +import org.diylc.core.measures.SizeUnit; - DIYLC is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. +@ComponentDescriptor(name = "Copper Trace", author = "Branislav Stojkovic", category = "Connectivity", + creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "Trace", + description = "Straight copper trace", zOrder = IDIYComponent.TRACE, bomPolicy = BomPolicy.NEVER_SHOW, + autoEdit = false, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "PCB", + transformer = SimpleComponentTransformer.class) +public class CopperTrace extends AbstractLeadedComponent { - DIYLC is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + private static final long serialVersionUID = 1L; - You should have received a copy of the GNU General Public License - along with DIYLC. If not, see . + public static Size THICKNESS = new Size(1d, SizeUnit.mm); + public static Color COLOR = Color.black; -*/ -package org.diylc.components.connectivity; - -import java.awt.Color; -import java.awt.Graphics2D; -import java.awt.Shape; - -import org.diylc.common.SimpleComponentTransformer; -import org.diylc.common.ObjectCache; -import org.diylc.common.PCBLayer; -import org.diylc.components.AbstractLeadedComponent; -import org.diylc.core.ComponentState; -import org.diylc.core.CreationMethod; -import org.diylc.core.IDIYComponent; -import org.diylc.core.VisibilityPolicy; -import org.diylc.core.annotations.BomPolicy; -import org.diylc.core.annotations.ComponentDescriptor; -import org.diylc.core.annotations.EditableProperty; -import org.diylc.core.annotations.KeywordPolicy; -import org.diylc.core.measures.Size; -import org.diylc.core.measures.SizeUnit; - -@ComponentDescriptor(name = "Copper Trace", author = "Branislav Stojkovic", category = "Connectivity", - creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "Trace", - description = "Straight copper trace", zOrder = IDIYComponent.TRACE, bomPolicy = BomPolicy.NEVER_SHOW, - autoEdit = false, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "PCB", transformer = SimpleComponentTransformer.class) -public class CopperTrace extends AbstractLeadedComponent { - - private static final long serialVersionUID = 1L; - - public static Size THICKNESS = new Size(1d, SizeUnit.mm); - public static Color COLOR = Color.black; - - private Size thickness = THICKNESS; - private PCBLayer layer = PCBLayer._1; - - public CopperTrace() { - super(); - this.leadColor = COLOR; - } - - @Override - public void drawIcon(Graphics2D g2d, int width, int height) { - g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(3)); - g2d.setColor(COLOR); - g2d.drawLine(1, height - 2, width - 2, 1); - } - - @Override - protected Color getLeadColorForPainting(ComponentState componentState) { - return componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR - : getLeadColor(); - } - - @Override - public VisibilityPolicy getControlPointVisibilityPolicy(int index) { - return VisibilityPolicy.WHEN_SELECTED; - } - - @Override - @EditableProperty(name = "Color") - public Color getLeadColor() { - return leadColor; - } - - @EditableProperty(name = "Width") - public Size getThickness() { - return thickness; - } - - public void setThickness(Size thickness) { - this.thickness = thickness; - } - - @EditableProperty - public PCBLayer getLayer() { - if (layer == null) { - layer = PCBLayer._1; - } - return layer; - } - - public void setLayer(PCBLayer layer) { - this.layer = layer; - } - - @Override - protected float getLeadThickness() { - return (float) getThickness().convertToPixels(); - } - - @Override - protected boolean shouldShadeLeads() { - return false; - } - - public Color getBodyColor() { - return super.getBodyColor(); - } - - @Override - public Color getBorderColor() { - return super.getBorderColor(); - } - - @Override - public Byte getAlpha() { - return super.getAlpha(); - } - - @Override - public Size getLength() { - return super.getLength(); - } - - @Override - public Size getWidth() { - return super.getWidth(); - } - - @Override - public Void getValue() { - return null; - } - - @Override - public void setValue(Void value) {} - - @Override - protected Shape getBodyShape() { - return null; - } - - @Override - protected Size getDefaultWidth() { - return null; - } - - @Override - protected Size getDefaultLength() { - return null; - } -} + private Size thickness = THICKNESS; + private PCBLayer layer = PCBLayer._1; + + public CopperTrace() { + super(); + this.leadColor = COLOR; + } + + @Override + public void drawIcon(Graphics2D g2d, int width, int height) { + g2d.setStroke(ObjectCache.getInstance().fetchBasicStroke(3)); + g2d.setColor(COLOR); + g2d.drawLine(1, height - 2, width - 2, 1); + } + + @Override + protected Color getLeadColorForPainting(ComponentState componentState) { + return componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR + : getLeadColor(); + } + + @Override + public VisibilityPolicy getControlPointVisibilityPolicy(int index) { + return VisibilityPolicy.WHEN_SELECTED; + } + + @Override + @EditableProperty(name = "Color") + public Color getLeadColor() { + return leadColor; + } + + @EditableProperty(name = "Width") + public Size getThickness() { + return thickness; + } + + public void setThickness(Size thickness) { + this.thickness = thickness; + } + + @EditableProperty + public PCBLayer getLayer() { + if (layer == null) { + layer = PCBLayer._1; + } + return layer; + } + + public void setLayer(PCBLayer layer) { + this.layer = layer; + } + + @Override + protected float getLeadThickness() { + return (float) getThickness().convertToPixels(); + } + + @Override + protected boolean shouldShadeLeads() { + return false; + } + + public Color getBodyColor() { + return super.getBodyColor(); + } + + @Override + public Color getBorderColor() { + return super.getBorderColor(); + } + + @Override + public Byte getAlpha() { + return super.getAlpha(); + } + + @Override + public Size getLength() { + return super.getLength(); + } + + @Override + public Size getWidth() { + return super.getWidth(); + } + + @Override + public Void getValue() { + return null; + } + + @Override + public void setValue(Void value) {} + + @Override + protected Shape getBodyShape() { + return null; + } + + @Override + protected Size getDefaultWidth() { + return null; + } + + @Override + protected Size getDefaultLength() { + return null; + } + + @Override + protected boolean IsCopperArea() { + return true; + } +} diff --git a/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java b/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java index a8367b6d..4004d991 100644 --- a/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java +++ b/diylc/diylc-library/src/org/diylc/components/connectivity/Eyelet.java @@ -66,8 +66,10 @@ public class Eyelet extends AbstractComponent { } int diameter = getClosestOdd((int) size.convertToPixels()); int holeDiameter = getClosestOdd((int) holeSize.convertToPixels()); - g2d.setColor(color); - g2d.fillOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); + g2d.setColor(color); + drawingObserver.startTrackingContinuityArea(true); + g2d.fillOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); + drawingObserver.stopTrackingContinuityArea(); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : color.darker()); g2d.drawOval(point.x - diameter / 2, point.y - diameter / 2, diameter, diameter); diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index 493dad85877681b2c9f554592af526865c6a38f4..ebd91e8b9a526bf57dcbb1a4cdb35b613974c151 100644 GIT binary patch delta 34217 zcmY(JWmKC@lz>T);!uifaVQSOt$1;#Nbw@Y-60frr?|UoaSQHJ+}$0D+Y-LB=j{G@ zpSd#k&dfVA3E^J)pq)RWA}dHk!yrOI!9zi*p+qBp0-!{5z5q~SIRT`vPYnPSP!%Qi z7vM7l^#I0K-41{SBH#h}UIjHE9YpX2a=i+_0EDp-BmXz#tLXyB0P!G&W_tBde0%xf4gw(bLZ^U% zFc&l6O{T}LeCxG>Yx_n;0x@WaJ(2k1o80uV=8e|mU*G&2DFohlM`;FOtP%AT#GRKW z{7pSbi}%LuPaogR@96I#W@v_fI0#4B{=S*B*m2(2#G&*?RIc$iu5m}dWwYm#1){2= zM9D_o6p7aYp`fr~V?lhl2_e4F=rz{@ZEsF>LWyrw5H)<`AMs#1`BBAInUN>-20~-i z^gC3%heUP_xPFUZ8;tX|h#}$BZ*om!^4sv`qd&i8^pC@RlQZJ!-t5B(&~KbbLVe?U zN*#o;N$D#PxMuu?M3>D}f{Y|H+YkbnJWeEtmcP>SEoN!W>|0;|I=Hvk;q`cLa$)0t zIi{OK-(-Wfl{bIk&bK#E^P{U2;vb9AGXudv&n+bCRsvaK=N^b#{0<=Z74=~Nz+3uyd00TzfBOM%j2$xv z843ys_xCdZr=AiX(1wiix=;9N+JD+WLqVBCCuCK>8s1?6{Gb7^A#ed7Aj~8Hut7LQ z44{JWffRrUAsi(D6+$c;06xqsndt#4uOq7WX9P5&zfw>TkOZ;M3j@MlSzs&_$O3vG{G|9_8UYnRIHdcq8bAUX`E^{Add><7uj7hIIClczC7`53Bh(9N0nZ(*P8%@Ao86V;1MEUTLQ8mOtb;W!o70G2@nFY+qwZ3A(Zt3 zJVWd2EOxaEEa3FF+9DPqPUSMR=v<5ugjAXE_7J zK-hf==y;nMk zVBT9}Fb#xy8YCZL_3IkHUE3MVC+E=wP*BZ$2^Duh`~>D|AZo%{ z4G;;`Gi_}gY3Mnf|gx040C2LrACbZh}F`v_nhV*rHZ;4 zGkzbnvXH77HyDi|7ZOwcg@qxv*$08c;4jZNI}c7Z-=H2|1S>B`I4^fvIZxB?T zZ=gHA`-0)>D`7dD2(?UqeJeY1aRRog&{{-;u+ojEd;OoDv@A*k8uuJo*#97E89;-v z$3s(+Nfc^S^c^|+X9Et4erD!R^d`@-BAM4!Vb4gB4;5($jSSK|k(t+2t6Df>^9HBM zY{@ICH=|J1DF2)@G%{Cz$DYQqV`N@5D<;dyE?_pJG3T~1C(pz`1yhKiG$}pubIPv} zgrNK(D?c(BWy&IV$H9z4(H@Rnu(pb%ip{crEz(lY*yKI0iIzScZ(wr9_+caBVrgZ@ zLS}NBiLcm^hrub3t~p9u)Z-=0O|ZU7w=&f7DB%dh?J2&KkzGv|jyc_i!yDyb-l%qO z_OmnhM57P7?oY#SRbH3phIBeFdLE8=AQVedzHhOGhs}8 zRAi0pq02HDEzu|n_R`o7M9uNPU(%BogQiH}Pp;{?l9sb7c_jhPv=-xVUUeOvbrY9X z$xCvrh2h6~yuo|uW$k@%36UBqqzoe!LDuzH zu>ZK&<J`u#c zmUnZFn7d2pOfN{l+1nQDypQp3mHDc}LLAvE+xks1^d LUB@@z%4DA)0D|t>68KE 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%0D*& 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 delta 34922 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≷XZ^W9|(>*m~cr`mZE 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 diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index a2e31ed0fc9a9bda65999bbffd81f133002f98a2..a3c0bba9048080506a08ec1c1ba5a2e617d0990c 100644 GIT binary patch delta 13454 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 Yq>cXGQVD*?!=aUs9+bNcBq;9x0JpuJ6#xJL diff --git a/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java b/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java index d939a0cf..cef1b084 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java +++ b/diylc/diylc-swing/src/org/diylc/swing/plugins/config/ConfigPlugin.java @@ -102,7 +102,7 @@ public class ConfigPlugin implements IPlugIn { .createConfigAction(plugInPort, "Sticky Points", IPlugInPort.STICKY_POINTS_KEY, true), CONFIG_MENU); swingUI.injectMenuAction( ActionFactory.getInstance() - .createConfigAction(plugInPort, "Highlighted Connected Areas", IPlugInPort.HIGHLIGHT_CONTINUITY_AREA, false), CONFIG_MENU); + .createConfigAction(plugInPort, "Highlight Connected Areas", IPlugInPort.HIGHLIGHT_CONTINUITY_AREA, false), CONFIG_MENU); File themeDir = new File("themes"); if (themeDir.exists()) {