Beispiel #1
0
        public virtual void Render(Graphics g)
        {
            CanvasPaintArgs e = new CanvasPaintArgs();

            e.g = g;


            #region RenderShapes
            foreach (Shape shape in shapes)
            {
                e.BorderPen = Pens.Black;
                e.FillBrush = Brushes.White;

                IDesignable designable = shape as IDesignable;

                if (designable != null)
                {
                    e.FillBrush = new SolidBrush(designable.FillColor);

                    e.BorderPen = new Pen(designable.BorderColor, designable.BorderSize);
                }



                shape.Render(e);
            }
            #endregion

            #region RenderSelection
            foreach (Shape shape in shapes)
            {
                ISelectable selectable = shape as ISelectable;
                if (selectable != null && selectable.IsSelected)
                {
                    selectable.RenderSelection(e);

                    IResizable resizable = shape as IResizable;
                    if (resizable != null)
                    {
                        resizable.RenderResize(e);
                    }
                }
            }
            #endregion
        }