using System;
using System.Drawing;
namespace DevComponents.AdvTree.Display
{
///
/// Represents class that paints rectangular expand button.
///
public class NodeExpandRectDisplay:NodeExpandDisplay
{
///
/// Draw rectangular type expand button.
///
/// Expand button context information.
public override void DrawExpandButton(NodeExpandPartRendererEventArgs e)
{
if(e.ExpandPartBounds.IsEmpty)
return;
Brush brush=GetBackgroundBrush(e);
if(brush!=null)
{
e.Graphics.FillRectangle(brush,e.ExpandPartBounds);
brush.Dispose();
}
Pen pen = GetBorderPen(e);
if (pen != null)
{
e.Graphics.DrawRectangle(pen, e.ExpandPartBounds);
pen.Dispose();
pen = null;
}
if(e.Node.Expanded)
{
pen = GetExpandPen(e);
if (pen != null)
{
e.Graphics.DrawLine(pen, e.ExpandPartBounds.X + 2, e.ExpandPartBounds.Y + e.ExpandPartBounds.Height / 2, e.ExpandPartBounds.Right - 2, e.ExpandPartBounds.Y + e.ExpandPartBounds.Height / 2);
pen.Dispose();
}
}
else
{
pen = GetExpandPen(e);
if (pen != null)
{
e.Graphics.DrawLine(pen,e.ExpandPartBounds.X+2,e.ExpandPartBounds.Y+e.ExpandPartBounds.Height/2,e.ExpandPartBounds.Right-2,e.ExpandPartBounds.Y+e.ExpandPartBounds.Height/2);
e.Graphics.DrawLine(pen,e.ExpandPartBounds.X+e.ExpandPartBounds.Width/2,e.ExpandPartBounds.Y+2,e.ExpandPartBounds.X+e.ExpandPartBounds.Width/2,e.ExpandPartBounds.Bottom-2);
pen.Dispose();
}
}
}
}
}