From 6dba12eab8efe00307cc2305cb7bc8f632d67736 Mon Sep 17 00:00:00 2001 From: bancika Date: Mon, 17 Jan 2011 00:19:47 +0000 Subject: [PATCH] board improvements show point for non-stretchable components too --- .../DIYLC/library/main.jar | Bin 520091 -> 520311 bytes .../src/org/diylc/presenter/Presenter.java | 3 ++- .../DIYLC/src/org/diylc/utils/Constants.java | 2 +- .../components/boards/AbstractBoard.java | 4 ++-- .../diylc/components/boards/PerfBoard.java | 11 ++++++++++- .../diylc/components/boards/VeroBoard.java | 16 +++++++++++++--- .../components/connectivity/TraceCut.java | 12 ++++++------ 7 files changed, 34 insertions(+), 14 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 5f49ce99e4944003cc498ecf8d19ec8ac98181d2..c66b9ed3e4515469267b16e9289571b8dfdf540d 100644 GIT binary patch delta 10696 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 U2Lr?La$91qD!xF<0G1BDpd!vFvP diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java index a84a9126..279f75a2 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java @@ -418,7 +418,8 @@ public class Presenter implements IPlugInPort { Map, Set> components = new HashMap, Set>(); Point scaledPoint = scalePoint(point); if (componentSlot != null - && componentSlot.getCreationMethod() == CreationMethod.POINT_BY_POINT) { + && (componentSlot.getCreationMethod() == CreationMethod.POINT_BY_POINT || !componentSlot + .isStretchable())) { potentialControlPoint = scaledPoint; snapPointToGrid(potentialControlPoint); messageDispatcher.dispatchMessage(EventType.REPAINT); diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java index 375ded08..7597e7e7 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java @@ -7,7 +7,7 @@ import java.awt.Stroke; public class Constants { - public static final int PIXELS_PER_INCH = 120;//Toolkit.getDefaultToolkit().getScreenResolution(); + public static final int PIXELS_PER_INCH = 150;//Toolkit.getDefaultToolkit().getScreenResolution(); public static int GRIDS_PER_INCH = 8; // public static Size GRID_SIZE = new Size(1d / GRIDS_PER_INCH, SizeUnit.in); // public static final int GRID = 20; 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 3c0f1faa..05a2a88b 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 @@ -1,7 +1,6 @@ package org.diylc.components.boards; import java.awt.AlphaComposite; -import java.awt.BasicStroke; import java.awt.Color; import java.awt.Composite; import java.awt.Graphics2D; @@ -14,6 +13,7 @@ import org.diylc.core.Project; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; +import org.diylc.utils.Constants; public abstract class AbstractBoard extends AbstractTransparentComponent { @@ -35,7 +35,7 @@ public abstract class AbstractBoard extends AbstractTransparentComponent @Override public void draw(Graphics2D g2d, ComponentState componentState, Project project, IDrawingObserver drawingObserver) { - g2d.setStroke(new BasicStroke()); + g2d.setStroke(Constants.BASIC_STROKE); if (componentState != ComponentState.DRAGGING) { Composite oldComposite = g2d.getComposite(); if (alpha < MAX_ALPHA) { 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 4be884d1..d4ae4139 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 @@ -51,9 +51,14 @@ public class PerfBoard extends AbstractBoard { p.x += spacing; g2d.setColor(padColor); g2d.fillOval(p.x - diameter / 2, p.y - diameter / 2, diameter, diameter); + g2d.setColor(padColor.darker()); + g2d.drawOval(p.x - diameter / 2, p.y - diameter / 2, diameter, diameter); g2d.setColor(Constants.CANVAS_COLOR); g2d.fillOval(p.x - holeDiameter / 2, p.y - holeDiameter / 2, holeDiameter, holeDiameter); + g2d.setColor(padColor.darker()); + g2d.drawOval(p.x - holeDiameter / 2, p.y - holeDiameter / 2, holeDiameter, + holeDiameter); } } } @@ -85,7 +90,11 @@ public class PerfBoard extends AbstractBoard { g2d.drawRect(2, 2, width - 4, height - 4); g2d.setColor(PAD_COLOR); g2d.fillOval(width / 4, width / 4, width / 2, width / 2); + g2d.setColor(PAD_COLOR.darker()); + g2d.drawOval(width / 4, width / 4, width / 2, width / 2); g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(width / 2 - 1, width / 2 - 1, 2, 2); + g2d.fillOval(width / 2 - 2, width / 2 - 2, 5, 5); + g2d.setColor(PAD_COLOR.darker()); + g2d.drawOval(width / 2 - 2, width / 2 - 2, 5, 5); } } 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 363cd6d0..10839513 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 @@ -25,7 +25,7 @@ public class VeroBoard extends AbstractBoard { public static Color BORDER_COLOR = BOARD_COLOR.darker(); public static Size SPACING = new Size(0.1d, SizeUnit.in); - public static Size STRIP_SIZE = new Size(0.085d, SizeUnit.in); + public static Size STRIP_SIZE = new Size(0.07d, SizeUnit.in); public static Size HOLE_SIZE = new Size(0.7d, SizeUnit.mm); protected Size spacing = SPACING; @@ -53,10 +53,15 @@ public class VeroBoard extends AbstractBoard { g2d.setColor(padColor); g2d.fillRect(p.x + SPACING.convertToPixels() / 2, p.y - stripSize / 2, controlPoints[1].x - spacing - p.x, stripSize); + 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) { p.x += spacing; g2d.setColor(Constants.CANVAS_COLOR); g2d.fillOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); + g2d.setColor(padColor.darker()); + g2d.drawOval(p.x - holeSize / 2, p.y - holeSize / 2, holeSize, holeSize); } } g2d.setComposite(oldComposite); @@ -89,8 +94,13 @@ public class VeroBoard extends AbstractBoard { g2d.drawRect(2, 2, width - 4, height - 4); g2d.setColor(PAD_COLOR); g2d.fillRect(4, width / 4, width - 8, width / 2); + g2d.setColor(PAD_COLOR.darker()); + g2d.drawRect(4, width / 4, width - 8, width / 2); g2d.setColor(Constants.CANVAS_COLOR); - g2d.fillOval(width / 3 - 1, width / 2 - 1, 3, 3); - g2d.fillOval(2 * width / 3 - 1, width / 2 - 1, 3, 3); + g2d.fillOval(width / 3 - 2, width / 2 - 2, 5, 5); + g2d.fillOval(2 * width / 3 - 2, width / 2 - 2, 5, 5); + g2d.setColor(PAD_COLOR.darker()); + g2d.drawOval(width / 3 - 2, width / 2 - 2, 5, 5); + g2d.drawOval(2 * width / 3 - 2, width / 2 - 2, 5, 5); } } diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/TraceCut.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/TraceCut.java index 2307c4d2..595e1987 100644 --- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/TraceCut.java +++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/TraceCut.java @@ -1,6 +1,5 @@ package org.diylc.components.connectivity; -import java.awt.BasicStroke; import java.awt.Color; import java.awt.Graphics2D; @@ -13,13 +12,14 @@ import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.EditableProperty; import org.diylc.core.measures.Size; import org.diylc.core.measures.SizeUnit; +import org.diylc.utils.Constants; @ComponentDescriptor(name = "Trace Cut", category = "Connectivity", author = "Branislav Stojkovic", description = "test", instanceNamePrefix = "Cut", stretchable = false, zOrder = IDIYComponent.ABOVE_BOARD) public class TraceCut extends AbstractSinglePointComponent { private static final long serialVersionUID = 1L; - public static Size SIZE = new Size(0.085d, SizeUnit.in); + public static Size SIZE = new Size(0.07d, SizeUnit.in); public static Color FILL_COLOR = Color.white; public static Color BORDER_COLOR = Color.red; public static Color SELECTION_COLOR = Color.blue; @@ -31,13 +31,13 @@ public class TraceCut extends AbstractSinglePointComponent { @Override public void draw(Graphics2D g2d, ComponentState componentState, Project project, IDrawingObserver drawingObserver) { - int size = this.size.convertToPixels() / 2 * 2; - int dotDiameter = (size / 3 * 2) / 2 * 2 + 1; + int size = getClosestOdd(this.size.convertToPixels()); + int dotDiameter = size - 6; g2d.setColor(fillColor); g2d.fillRect(point.x - size / 2, point.y - size / 2, size, size); g2d.setColor(componentState == ComponentState.SELECTED || componentState == ComponentState.DRAGGING ? SELECTION_COLOR : borderColor); - g2d.setStroke(new BasicStroke(1)); + g2d.setStroke(Constants.BASIC_STROKE); g2d.drawRect(point.x - size / 2, point.y - size / 2, size, size); g2d .fillOval(point.x - dotDiameter / 2, point.y - dotDiameter / 2, dotDiameter, @@ -51,7 +51,7 @@ public class TraceCut extends AbstractSinglePointComponent { g2d.setColor(FILL_COLOR); g2d.fillRect((width - size) / 2, (height - size) / 2, size, size); g2d.setColor(BORDER_COLOR); - g2d.setStroke(new BasicStroke(1)); + g2d.setStroke(Constants.BASIC_STROKE); g2d.drawRect((width - size) / 2, (height - size) / 2, size, size); g2d.fillOval((width - dotDiameter) / 2, (height - dotDiameter) / 2, dotDiameter, dotDiameter);