From: Daniel Kirschten Date: Mon, 2 Sep 2019 10:20:08 +0000 (+0200) Subject: Made GUIMerger/GUISplitter bit order more intuitive (MSB on top) X-Git-Url: https://mograsim.net/gitweb/?a=commitdiff_plain;ds=sidebyside;h=3c3b223ffd0d54242a8cda1920a562ab01efba60;p=Mograsim.git Made GUIMerger/GUISplitter bit order more intuitive (MSB on top) --- 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 656c91f2..85cafecd 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 @@ -41,9 +41,9 @@ public class GUIMerger extends GUIComponent { super(model, name); this.logicWidth = logicWidth; - setSize(width, logicWidth * heightPerPin); - double inputHeight = 0; - for (int i = 0; i < logicWidth; i++, inputHeight += 10) + setSize(width, (logicWidth - 1) * heightPerPin); + double inputHeight = (logicWidth - 1) * heightPerPin; + for (int i = 0; i < logicWidth; i++, inputHeight -= 10) addPin(new Pin(this, "I" + i, 1, PinUsage.TRISTATE, 0, inputHeight)); addPin(this.outputPin = new Pin(this, "O", logicWidth, PinUsage.TRISTATE, width, (logicWidth - 1) * heightPerPin / 2)); inputEnds = new ReadEnd[logicWidth]; 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 63650a64..8fc46790 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 @@ -41,10 +41,10 @@ public class GUISplitter extends GUIComponent { super(model, name); this.logicWidth = logicWidth; - setSize(width, logicWidth * heightPerPin); + setSize(width, (logicWidth - 1) * heightPerPin); addPin(this.inputPin = new Pin(this, "I", logicWidth, PinUsage.TRISTATE, 0, (logicWidth - 1) * heightPerPin / 2)); - double outputHeight = 0; - for (int i = 0; i < logicWidth; i++, outputHeight += 10) + double outputHeight = (logicWidth - 1) * heightPerPin; + for (int i = 0; i < logicWidth; i++, outputHeight -= 10) addPin(new Pin(this, "O" + i, 1, PinUsage.TRISTATE, width, outputHeight)); outputEnds = new ReadEnd[logicWidth]; }