/// <summary> /// Gets a cached pen. /// </summary> /// <param name="stroke">The stroke.</param> /// <param name="thickness">The thickness.</param> /// <param name="dashArray">The dash array.</param> /// <param name="lineJoin">The line join.</param> /// <returns>A <see cref="Pen" />.</returns> private Pen CreatePen(OxyColor stroke, double thickness, double[] dashArray = null, OxyPlot.LineJoin lineJoin = OxyPlot.LineJoin.Miter) { var pen = new Pen(stroke.ToColor(), (float)thickness); if (dashArray != null) { pen.DashPattern = this.ToFloatArray(dashArray); } switch (lineJoin) { case OxyPlot.LineJoin.Round: pen.LineJoin = System.Drawing.Drawing2D.LineJoin.Round; break; case OxyPlot.LineJoin.Bevel: pen.LineJoin = System.Drawing.Drawing2D.LineJoin.Bevel; break; //// The default LineJoin is Miter } return pen; }