Example #1
0
 public Pen GetPen(Color color, float width = 1, DashStyle style = DashStyle.Solid)
 {
     var desc = new PenDescriber(width, color, style);
     Pen pen;
     if (pens.TryGetValue(desc, out pen)) return pen;
     pen = new Pen(color);
     if (width != 1) pen.Width = width;
     if (style != DashStyle.Solid)
     {
         pen.DashStyle = style;
         switch (pen.DashStyle)
         {
             case DashStyle.Dot:
                 pen.DashPattern = defaultDotPattern;
                 break;
             case DashStyle.Dash:
                 pen.DashPattern = defaultDashPattern;
                 break;
             case DashStyle.DashDot:
                 pen.DashPattern = defaultDashDotPattern;
                 break;
             default:
                 pen.DashPattern = defaultDashDotDotPattern;
                 break;
         }
     }
     pens.Add(desc, pen);
     return pen;
 }
Example #2
0
        public Pen GetPen(Color color, float width = 1, DashStyle style = DashStyle.Solid)
        {
            var desc = new PenDescriber(width, color, style);
            Pen pen;

            if (pens.TryGetValue(desc, out pen))
            {
                return(pen);
            }
            pen = new Pen(color);
            if (width != 1)
            {
                pen.Width = width;
            }
            if (style != DashStyle.Solid)
            {
                pen.DashStyle = style;
                switch (pen.DashStyle)
                {
                case DashStyle.Dot:
                    pen.DashPattern = defaultDotPattern;
                    break;

                case DashStyle.Dash:
                    pen.DashPattern = defaultDashPattern;
                    break;

                case DashStyle.DashDot:
                    pen.DashPattern = defaultDashDotPattern;
                    break;

                default:
                    pen.DashPattern = defaultDashDotDotPattern;
                    break;
                }
            }
            pens.Add(desc, pen);
            return(pen);
        }