Merge branch 'development' of
[Mograsim.git] / LogicUI / src / era / mi / gui / model / wires / WireCrossPoint.java
1 package era.mi.gui.model.wires;
2
3 import era.mi.gui.ColorHelper;
4 import era.mi.gui.model.ViewModel;
5 import era.mi.gui.model.components.GUIComponent;
6 import era.mi.logic.types.BitVectorFormatter;
7 import era.mi.logic.wires.Wire.ReadEnd;
8 import net.haspamelodica.swt.helper.gcs.GeneralGC;
9 import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;
10
11 public class WireCrossPoint extends GUIComponent
12 {
13         private ReadEnd end;
14
15         public WireCrossPoint(ViewModel model)
16         {
17                 super(model);
18                 setSize(0, 0);
19                 addPin(new Pin(this, 0, 0));
20         }
21
22         @Override
23         public void render(GeneralGC gc, Rectangle visibleRegion)
24         {
25                 ColorHelper.executeWithDifferentBackground(gc, BitVectorFormatter.formatAsColor(end), () -> gc.fillOval(-1, -1, 2, 2));
26         }
27
28         public void setLogicModelBinding(ReadEnd end)
29         {
30                 this.end = end;
31                 end.addObserver((i, o) -> callComponentChangedListeners());
32         }
33 }