From e38fb8462168dc44c63f0e3109a2f7e4238cb497 Mon Sep 17 00:00:00 2001 From: bancika Date: Wed, 19 Jan 2011 18:47:15 +0000 Subject: [PATCH] boards don't disappear when points are flipped --- .../DIYLC/library/main.jar | Bin 521326 -> 521527 bytes .../components/boards/AbstractBoard.java | 14 ++++++++++---- .../diylc/components/boards/PerfBoard.java | 8 ++++---- .../diylc/components/boards/VeroBoard.java | 8 ++++---- .../components/semiconductors/DIL_IC.java | 2 +- 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar index 16d4375d90076e405dd391ef2d3af7093abb473a..e01573d3bb46a14b123853f5e9c01c6c520e45a0 100644 GIT binary patch delta 7946 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 B^)mnf delta 7741 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 diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/AbstractBoard.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/AbstractBoard.java index 21e2af7d..30e054bc 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/AbstractBoard.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/AbstractBoard.java @@ -28,6 +28,8 @@ public abstract class AbstractBoard extends AbstractTransparentComponent protected String value = ""; protected Point[] controlPoints = new Point[] { new Point(0, 0), new Point(DEFAULT_WIDTH.convertToPixels(), DEFAULT_HEIGHT.convertToPixels()) }; + protected Point firstPoint = new Point(); + protected Point secondPoint = new Point(); protected Color boardColor = BOARD_COLOR; protected Color borderColor = BORDER_COLOR; @@ -43,14 +45,14 @@ public abstract class AbstractBoard extends AbstractTransparentComponent / MAX_ALPHA)); } g2d.setColor(boardColor); - g2d.fillRect(controlPoints[0].x, controlPoints[0].y, controlPoints[1].x - - controlPoints[0].x, controlPoints[1].y - controlPoints[0].y); + g2d.fillRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y + - firstPoint.y); g2d.setComposite(oldComposite); } g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); - g2d.drawRect(controlPoints[0].x, controlPoints[0].y, controlPoints[1].x - - controlPoints[0].x, controlPoints[1].y - controlPoints[0].y); + g2d.drawRect(firstPoint.x, firstPoint.y, secondPoint.x - firstPoint.x, secondPoint.y + - firstPoint.y); // Do not track any changes that follow because the whole board has been // tracked so far. drawingObserver.stopTracking(); @@ -97,6 +99,10 @@ public abstract class AbstractBoard extends AbstractTransparentComponent @Override public void setControlPoint(Point point, int index) { controlPoints[index].setLocation(point); + firstPoint.setLocation(Math.min(controlPoints[0].x, controlPoints[1].x), Math.min( + controlPoints[0].y, controlPoints[1].y)); + secondPoint.setLocation(Math.max(controlPoints[0].x, controlPoints[1].x), Math.max( + controlPoints[0].y, controlPoints[1].y)); } @EditableProperty diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/PerfBoard.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/PerfBoard.java index d4ae4139..09a8efca 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/PerfBoard.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/PerfBoard.java @@ -39,15 +39,15 @@ public class PerfBoard extends AbstractBoard { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } - Point p = new Point(controlPoints[0]); + Point p = new Point(firstPoint); int diameter = getClosestOdd(PAD_SIZE.convertToPixels()); int holeDiameter = getClosestOdd(HOLE_SIZE.convertToPixels()); int spacing = this.spacing.convertToPixels(); - while (p.y < controlPoints[1].y - spacing) { - p.x = controlPoints[0].x; + while (p.y < secondPoint.y - spacing) { + p.x = firstPoint.x; p.y += spacing; - while (p.x < controlPoints[1].x - spacing) { + while (p.x < secondPoint.x - spacing) { p.x += spacing; g2d.setColor(padColor); g2d.fillOval(p.x - diameter / 2, p.y - diameter / 2, diameter, diameter); diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/VeroBoard.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/VeroBoard.java index 10839513..d9910044 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/VeroBoard.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/boards/VeroBoard.java @@ -42,13 +42,13 @@ public class VeroBoard extends AbstractBoard { g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); } - Point p = new Point(controlPoints[0]); + Point p = new Point(firstPoint); int stripSize = getClosestOdd(STRIP_SIZE.convertToPixels()); int holeSize = getClosestOdd(HOLE_SIZE.convertToPixels()); int spacing = this.spacing.convertToPixels(); - while (p.y < controlPoints[1].y - spacing) { - p.x = controlPoints[0].x; + while (p.y < secondPoint.y - spacing) { + p.x = firstPoint.x; p.y += spacing; g2d.setColor(padColor); g2d.fillRect(p.x + SPACING.convertToPixels() / 2, p.y - stripSize / 2, @@ -56,7 +56,7 @@ public class VeroBoard extends AbstractBoard { g2d.setColor(padColor.darker()); g2d.drawRect(p.x + SPACING.convertToPixels() / 2, p.y - stripSize / 2, controlPoints[1].x - spacing - p.x, stripSize); - while (p.x < controlPoints[1].x - spacing) { + while (p.x < secondPoint.x - spacing) { p.x += spacing; g2d.setColor(Constants.CANVAS_COLOR); g2d.fillOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java index 51809a82..ee548369 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java @@ -277,7 +277,7 @@ public class DIL_IC extends AbstractTransparentComponent { } } - static enum PinCount { + public static enum PinCount { _4, _8, _10, _12, _14, _16, _24, _32;