public override void LayoutSymbol(SymbolLayout Sym) { Sym.AddTerminal(common, new Coord(0, -20), new Coord(0, -12)); Sym.AddCircle(EdgeType.Black, new Coord(0, -12), 2); for (int i = 0; i < Throws.Length; ++i) { int x = (i - Throws.Length / 2) * 20 + (Throws.Length % 2 == 0 ? 10 : 0); Sym.AddTerminal(throws[i], new Coord(x, 20), new Coord(x, 12)); Sym.DrawEllipse(EdgeType.Black, new Coord(x - 2, 10), new Coord(x + 2, 14)); //Sym.DrawText(i.ToString(), new Coord(x, 12), Alignment.Near, Alignment.Near); if (i == Position) { Sym.AddWire(new Coord(0, -12), new Coord(x, 12)); } } Sym.DrawText(() => Group, new Coord(-2, -12), Alignment.Far, Alignment.Far); Sym.DrawText(() => Name, new Coord(2, -12), Alignment.Near, Alignment.Far); }
public override void LayoutSymbol(SymbolLayout Sym) { Sym.AddTerminal(common, new Coord(0, -20), new Coord(0, -12)); Sym.AddCircle(EdgeType.Black, new Coord(0, -12), 2); for (int i = 0; i < Throws.Length; ++i) { int x = (i - Throws.Length / 2) * 20 + (Throws.Length % 2 == 0 ? 10 : 0); Sym.AddTerminal(throws[i], new Coord(x, 20), new Coord(x, 12)); Sym.DrawEllipse(EdgeType.Black, new Coord(x - 2, 10), new Coord(x + 2, 14)); //Sym.DrawText(i.ToString(), new Coord(x, 12), Alignment.Near, Alignment.Near); if (i == Position) Sym.AddWire(new Coord(0, -12), new Coord(x, 12)); } Sym.DrawText(() => Group, new Coord(-2, -12), Alignment.Far, Alignment.Far); Sym.DrawText(() => Name, new Coord(2, -12), Alignment.Near, Alignment.Far); }