From: Daniel Kirschten Date: Mon, 19 Aug 2019 08:04:55 +0000 (+0200) Subject: Made GUIMerger and GUISplitter symmetrical X-Git-Url: https://mograsim.net/gitweb/?a=commitdiff_plain;h=77f1a4885b121ab2cf8a518cf6b10cb88b9ba4c9;p=Mograsim.git Made GUIMerger and GUISplitter symmetrical --- diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java index 3f5c2542..3ea238d4 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUIMerger.java @@ -36,7 +36,7 @@ public class GUIMerger extends GUIComponent double inputHeight = 0; for (int i = 0; i < logicWidth; i++, inputHeight += 10) addPin(new Pin(this, "I" + i, 1, 0, inputHeight)); - addPin(new Pin(this, "O", logicWidth, width, logicWidth * heightPerPin / 2)); + addPin(new Pin(this, "O", logicWidth, width, (logicWidth - 1) * heightPerPin / 2)); inputEnds = new ReadEnd[logicWidth]; } @@ -59,7 +59,8 @@ public class GUIMerger extends GUIComponent ColorDefinition c = BitVectorFormatter.formatAsColor(outputEnd); if (c != null) gc.setForeground(ColorManager.current().toColor(c)); - gc.drawLine(posX + width / 2, posY + heightPerPin * logicWidth / 2, posX + width, posY + heightPerPin * logicWidth / 2); + double outLineY = posY + (logicWidth - 1) * heightPerPin / 2; + gc.drawLine(posX + width / 2, outLineY, posX + width, outLineY); } @Override diff --git a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java index ca3c9e4d..ab97f538 100644 --- a/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java +++ b/net.mograsim.logic.model/src/net/mograsim/logic/model/model/components/atomic/GUISplitter.java @@ -33,7 +33,7 @@ public class GUISplitter extends GUIComponent super(model, name); this.logicWidth = logicWidth; setSize(width, logicWidth * heightPerPin); - addPin(new Pin(this, "I", logicWidth, 0, logicWidth * heightPerPin / 2)); + addPin(new Pin(this, "I", logicWidth, 0, (logicWidth - 1) * heightPerPin / 2)); double outputHeight = 0; for (int i = 0; i < logicWidth; i++, outputHeight += 10) addPin(new Pin(this, "O" + i, 1, width, outputHeight)); @@ -49,7 +49,8 @@ public class GUISplitter extends GUIComponent ColorDefinition c = BitVectorFormatter.formatAsColor(inputEnd); if (c != null) gc.setForeground(ColorManager.current().toColor(c)); - gc.drawLine(posX, posY + heightPerPin * logicWidth / 2, posX + width / 2, posY + heightPerPin * logicWidth / 2); + double inLineY = posY + (logicWidth - 1) * heightPerPin / 2; + gc.drawLine(posX, inLineY, posX + width / 2, inLineY); gc.setForeground(Preferences.current().getColor("net.mograsim.logic.model.color.foreground")); gc.drawLine(posX + width / 2, posY, posX + width / 2, posY + heightPerPin * (logicWidth - 1)); double outputHeight = posY;