public override string Compile() { if (_Size <= 0 || _Color.IsEmpty || _Color == Color.Transparent) { return(Compile(_X1, _Y1, 1, Color.Transparent)); } var line = new Point2D(_X1, _Y1).PlotLine2D(new Point2D(_X2, _Y2)); var compiled = line.Aggregate(String.Empty, (c, p) => c + Compile(p.X, p.Y, _Size, _Color)); if (String.IsNullOrWhiteSpace(compiled)) { compiled = Compile(_X1, _Y1, 1, Color.Transparent); } return(compiled); }