private Bitmap DrawArrowHeadsButton(ArrowHeads arrowHeads, Rectangle rect)
        {
            Bitmap   img = new Bitmap(rect.Width, rect.Height);
            Graphics g   = Graphics.FromImage(img);

            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            Pen pen = new Pen(Color.Black)
            {
                Width = 1
            };

            AdjustableArrowCap aac = new AdjustableArrowCap(4, 5);

            if (arrowHeads == ArrowHeads.Start || arrowHeads == ArrowHeads.Both)
            {
                pen.CustomStartCap = aac;
            }
            if (arrowHeads == ArrowHeads.End || arrowHeads == ArrowHeads.Both)
            {
                pen.CustomEndCap = aac;
            }

            g.DrawLine(pen, 3, rect.Height / 2, rect.Width - 3, rect.Height / 2);
            return(img);
        }
        private void ArrowHeadsChanged(ArrowHeads arrowHeads)
        {
            surface.ArrowHead      = arrowHeads;
            conf.Editor_ArrowHeads = arrowHeads;
            conf.Save();

            btnArrowHeads.Image = DrawArrowHeadsButton(arrowHeads, btnArrowHeads.ContentRectangle);
        }
        private Bitmap DrawArrowHeadsButton(ArrowHeads arrowHeads, Rectangle rect)
        {
            Bitmap img = new Bitmap(rect.Width, rect.Height);
            Graphics g = Graphics.FromImage(img);
            g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            Pen pen = new Pen(Color.Black) { Width = 1 };

            AdjustableArrowCap aac = new AdjustableArrowCap(4, 5);
            if (arrowHeads == ArrowHeads.Start || arrowHeads == ArrowHeads.Both) pen.CustomStartCap = aac;
            if (arrowHeads == ArrowHeads.End || arrowHeads == ArrowHeads.Both) pen.CustomEndCap = aac;

            g.DrawLine(pen, 3, rect.Height / 2, rect.Width - 3, rect.Height / 2);
            return img;
        }
        private void ArrowHeadsChanged(ArrowHeads arrowHeads)
        {
            surface.ArrowHead = arrowHeads;
            conf.Editor_ArrowHeads = arrowHeads;
            conf.Save();

            btnArrowHeads.Image = DrawArrowHeadsButton(arrowHeads, btnArrowHeads.ContentRectangle);
        }