void DrawFlatArrowButton(Graphics g, Rectangle rc, bool up, DrawState state)
{
if ( HasChild() )
{
// Dont' draw flat button if there is a band with a child control
return;
}
using (Brush b = new SolidBrush((state == DrawState.Hot) ? ColorUtil.VSNetCheckedColor : ColorUtil.VSNetControlColor))
g.FillRectangle(b, rc.Left, rc.Top, rc.Width-1, rc.Height-1);
using ( Pen p = new Pen(ColorUtil.VSNetBorderColor) )
{
if ( state == DrawState.Hot )
g.DrawRectangle(p, rc.Left, rc.Top, rc.Width-2, rc.Height-2);
GDIUtil.DrawArrowGlyph(g, rc, 7, 4, up, Brushes.Black);
}
// Remember last state of the flat arrow button
if ( up )
{
UpFlatArrowState = state;
}
else
{
DownFlatArrowState = state;
}
}