예제 #1
0
        /// <summary>
        /// Draw a possibly shadowed pie section.
        /// </summary>
        /// <param name="g"></param>
        /// <param name="view"></param>
        public override void Paint(Graphics g, GoView view)
        {
            float      startAngle = StartAngle;
            float      sweepAngle = SweepAngle;
            Brush      brush      = Brush;
            RectangleF bounds     = Bounds;

            if (Shadowed)
            {
                SizeF shadowOffset = GetShadowOffset(view);
                if (brush != null)
                {
                    Brush shadowBrush = GetShadowBrush(view);
                    GoShape.DrawPie(g, view, null, shadowBrush, bounds.X + shadowOffset.Width, bounds.Y + shadowOffset.Height, bounds.Width, bounds.Height, startAngle, sweepAngle);
                }
                else if (Pen != null)
                {
                    Pen shadowPen = GetShadowPen(view, PenWidth);
                    GoShape.DrawPie(g, view, shadowPen, null, bounds.X + shadowOffset.Width, bounds.Y + shadowOffset.Height, bounds.Width, bounds.Height, startAngle, sweepAngle);
                }
            }
            GoShape.DrawPie(g, view, Pen, brush, bounds.X, bounds.Y, bounds.Width, bounds.Height, startAngle, sweepAngle);
        }