X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model%2Fsrc%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fmodel%2Fcomponents%2Fatomic%2FGUIMerger.java;h=a287dd8655ed7ddf74560bbd5bcef0ee72582db1;hb=7ee61bc42cce098b93fa9b90ab0cb9f855a9c398;hp=287e4374cd5d7bfde462eb5c01705b1d647e40a0;hpb=d18d5b647d8b2e53acc4c93dc05672a5494c1123;p=Mograsim.git 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 287e4374..a287dd86 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 @@ -20,12 +20,12 @@ import net.mograsim.preferences.Preferences; public class GUIMerger extends GUIComponent { - private static final double width = 20; + private static final double width = 10; private static final double heightPerPin = 10; public final int logicWidth; - private ReadEnd[] inputEnds; + private final ReadEnd[] inputEnds; private ReadEnd outputEnd; public GUIMerger(ViewModelModifiable model, int logicWidth, String name) @@ -36,7 +36,8 @@ 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]; } @Override @@ -58,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 @@ -69,7 +71,7 @@ public class GUIMerger extends GUIComponent public void setLogicModelBinding(ReadEnd[] inputEnds, ReadEnd outputEnd) { - this.inputEnds = inputEnds; + System.arraycopy(inputEnds, 0, this.inputEnds, 0, logicWidth); this.outputEnd = outputEnd; }