package net.mograsim.logic.ui.model.wires;\r
\r
+import java.util.Map;\r
+\r
import net.haspamelodica.swt.helper.gcs.GeneralGC;\r
import net.haspamelodica.swt.helper.swtobjectwrappers.Rectangle;\r
import net.mograsim.logic.core.LogicObservable;\r
import net.mograsim.logic.core.types.BitVectorFormatter;\r
import net.mograsim.logic.core.wires.Wire.ReadEnd;\r
import net.mograsim.logic.ui.ColorHelper;\r
+import net.mograsim.logic.ui.model.ModelVisitor;\r
import net.mograsim.logic.ui.model.ViewModelModifiable;\r
import net.mograsim.logic.ui.model.components.GUIComponent;\r
+import net.mograsim.logic.ui.model.components.SimpleRectangularGUIGate;\r
\r
public class WireCrossPoint extends GUIComponent\r
{\r
@Override\r
public void render(GeneralGC gc, Rectangle visibleRegion)\r
{\r
- Rectangle bounds = getBounds();\r
ColorHelper.executeWithDifferentBackground(gc, BitVectorFormatter.formatAsColor(end),\r
- () -> gc.fillOval(bounds.x, bounds.y, CIRCLE_DIAM, CIRCLE_DIAM));\r
+ () -> gc.fillOval(getPosX(), getPosY(), CIRCLE_DIAM, CIRCLE_DIAM));\r
}\r
\r
public void setLogicModelBinding(ReadEnd end)\r
{\r
return pin;\r
}\r
+\r
+ @Override\r
+ public Map<String, Object> getInstantiationParameters()\r
+ {\r
+ Map<String, Object> m = super.getInstantiationParameters();\r
+ m.put(SimpleRectangularGUIGate.kLogicWidth, logicWidth);\r
+ return m;\r
+ }\r
+\r
+ @Override\r
+ public void accept(ModelVisitor mv)\r
+ {\r
+ mv.visit(this);\r
+ }\r
}
\ No newline at end of file