X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=LogicUI%2Fsrc%2Fera%2Fmi%2Fgui%2Fmodel%2Fwires%2FWireCrossPoint.java;h=04c5f1e8406cc3ef892f693e37d740478de08e5f;hb=80bfbd8ebf0ad8a7ad98584544a0c73f43e6f3b6;hp=7c19c13eef953968f57972317ac7d8444de5ccb3;hpb=53db506919cb378f8f3e2584491ddbc5357ccd8c;p=Mograsim.git diff --git a/LogicUI/src/era/mi/gui/model/wires/WireCrossPoint.java b/LogicUI/src/era/mi/gui/model/wires/WireCrossPoint.java index 7c19c13e..04c5f1e8 100644 --- a/LogicUI/src/era/mi/gui/model/wires/WireCrossPoint.java +++ b/LogicUI/src/era/mi/gui/model/wires/WireCrossPoint.java @@ -10,19 +10,25 @@ import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle; public class WireCrossPoint extends GUIComponent { + private final Pin pin; + private ReadEnd end; + private final int logicWidth; - public WireCrossPoint(ViewModel model) + public WireCrossPoint(ViewModel model, int logicWidth) { super(model); + this.logicWidth = logicWidth; setSize(0, 0); - addPin(new Pin(this, 0, 0)); + addPin(this.pin = new Pin(this, logicWidth, 0, 0)); } @Override public void render(GeneralGC gc, Rectangle visibleRegion) { - ColorHelper.executeWithDifferentBackground(gc, BitVectorFormatter.formatAsColor(end), () -> gc.fillOval(-1, -1, 2, 2)); + Rectangle bounds = getBounds(); + ColorHelper.executeWithDifferentBackground(gc, BitVectorFormatter.formatAsColor(end), + () -> gc.fillOval(bounds.x - 1, bounds.y - 1, 2, 2)); } public void setLogicModelBinding(ReadEnd end) @@ -30,4 +36,14 @@ public class WireCrossPoint extends GUIComponent this.end = end; end.addObserver((i, o) -> callComponentLookChangedListeners()); } + + public int getLogicWidth() + { + return logicWidth; + } + + public Pin getPin() + { + return pin; + } } \ No newline at end of file