protected virtual void DrawRibbonAppButtonBorder2(Graphics g,
MementoRibbonAppButton memento,
PaletteState state,
Color bottomLight,
bool trackBorderAsPressed)
{
bool pressed = (state == PaletteState.Pressed);
bool tracking = (state == PaletteState.Tracking);
// Override tracking/pressed states?
if (tracking && trackBorderAsPressed)
{
pressed = true;
tracking = false;
}
Color borderGlowColor;
if (pressed)
borderGlowColor = _whiten80;
else if (tracking && !pressed)
borderGlowColor = Color.FromArgb(200, bottomLight);
else
borderGlowColor = _whiten120;
using (Pen p = new Pen(borderGlowColor))
g.DrawEllipse(p, memento.borderMain1);
using (Pen p = new Pen(Color.FromArgb(100, 52, 59, 64)))
g.DrawEllipse(p, memento.rect);
if (pressed)
{
borderGlowColor = _whiten60;
using (Pen p = new Pen(borderGlowColor))
g.DrawEllipse(p, memento.borderMain3);
}
borderGlowColor = (pressed ? _whiten50 : _whiten80);
using (Pen p = new Pen(borderGlowColor))
g.DrawArc(p, memento.borderMain2, 180, 180);
if (!pressed)
{
borderGlowColor = _whiten30;
using (Pen p = new Pen(borderGlowColor))
g.DrawArc(p, memento.borderMain4, 180, 180);
}
if (tracking && !pressed)
using (Pen p = new Pen(Color.FromArgb(100, borderGlowColor)))
g.DrawEllipse(p, memento.rect);
}