Exemple #1
0
        public virtual void Paint(Graphics gr)
        {
            foreach (var linked in Linked)
            {
                gr.DrawLink(linked.Pin.Location, Location.Sub(new Point(50, 0)));
            }

            var state = gr.Save();

            gr.TranslateTransform(Location.X, Location.Y);
            gr.FillPath(FillColor.Brush(), Path);
            gr.DrawPath(BorderColor.Pen(), Path);
            Path.DrawHalo(gr, BorderColor, BorderColor.Pen());
            var rect = Path.GetBounds();

            rect.Inflate(-5, -5);
            if (Tag != null)
            {
                gr.DrawString(Tag.ToString(), Helper.Font, Brushes.White, rect, new StringFormat {
                    Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center
                });
            }
            gr.Restore(state);

            if (Pin != null)
            {
                Pin.Paint(gr);
            }
        }
Exemple #2
0
        public void Paint(Graphics gr)
        {
            if (drag != Point.Empty)
            {
                gr.DrawLink(Location, Location.Add(drag));
            }

            var state = gr.Save();

            gr.TranslateTransform(Location.X, Location.Y);
            gr.FillPath(FillColor.Brush(), Path);
            gr.DrawPath(BorderColor.Pen(), Path);
            if (drag != Point.Empty)
            {
                gr.DrawEllipse(BorderColor.Pen(), drag.X - 5, drag.Y - 5, 10, 10);
                gr.FillEllipse(FillColor.Brush(), drag.X - 5, drag.Y - 5, 10, 10);
            }
            gr.Restore(state);
        }