Beispiel #1
0
        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);
        }
Beispiel #2
0
        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);
        }