ZForge.Controls.XPTable.Renderers.GradientHeaderRenderer.OnPaintBackground C# (CSharp) Method

OnPaintBackground() protected method

Raises the PaintBackground event
protected OnPaintBackground ( PaintHeaderEventArgs e ) : void
e ZForge.Controls.XPTable.Events.PaintHeaderEventArgs A PaintHeaderEventArgs that contains the event data
return void
        protected override void OnPaintBackground(PaintHeaderEventArgs e)
        {
            base.OnPaintBackground(e);

            if (e.Column == null || e.Column.ColumnState != ColumnState.Pressed)
            {
                using (LinearGradientBrush brush = new LinearGradientBrush(e.HeaderRect, this.StartColor, this.EndColor, LinearGradientMode.Vertical))
                {
                    e.Graphics.FillRectangle(brush, e.HeaderRect);
                }

                using (Pen pen = new Pen(this.EndColor))
                {
                    e.Graphics.DrawLine(pen, e.HeaderRect.Left, e.HeaderRect.Top, e.HeaderRect.Right-2, e.HeaderRect.Top);
                    e.Graphics.DrawLine(pen, e.HeaderRect.Left, e.HeaderRect.Top, e.HeaderRect.Left, e.HeaderRect.Bottom-1);
                }

                using (Pen pen = new Pen(this.StartColor))
                {
                    e.Graphics.DrawLine(pen, e.HeaderRect.Right-1, e.HeaderRect.Top, e.HeaderRect.Right-1, e.HeaderRect.Bottom-1);
                    e.Graphics.DrawLine(pen, e.HeaderRect.Left+1, e.HeaderRect.Bottom-1, e.HeaderRect.Right-1, e.HeaderRect.Bottom-1);
                }
            }
            else
            {
                Color pressed = this.PressedColor;

                if (pressed == Color.Empty)
                {
                    pressed = ControlPaint.Light(this.startColor);
                }

                using (SolidBrush brush = new SolidBrush(pressed))
                {
                    e.Graphics.FillRectangle(brush, e.HeaderRect);
                }

                using (Pen pen = new Pen(this.StartColor))
                {
                    e.Graphics.DrawRectangle(pen, e.HeaderRect.X, e.HeaderRect.Y, e.HeaderRect.Width-1, e.HeaderRect.Height-1);
                }
            }
        }