private Rectangle GetButtonByIndex(int buttonIndex, out Rectangle destRect)
{
Rectangle rSrc = Rectangle.Empty;
bool b = IsEnabled;
switch (buttonIndex)
{
case 0://power
rSrc = b ? MainForm.RPowerOn : MainForm.RPower;
break;
case 1://record
if (b && Helper.HasFeature(Enums.Features.Recording))
rSrc = (Recording || ForcedRecording) ? MainForm.RRecordOn : MainForm.RRecord;
else
{
rSrc = MainForm.RRecordOff;
}
break;
case 2://settings
rSrc = Helper.HasFeature(Enums.Features.Edit) ? MainForm.REdit : MainForm.REditOff;
break;
case 3://web
rSrc = Helper.HasFeature(Enums.Features.Access_Media) ? MainForm.RWeb : MainForm.RWebOff;
break;
case 4://listen
if (b)
rSrc = Listening ? MainForm.RListenOn : MainForm.RListen;
else
rSrc = MainForm.RListenOff;
break;
}
if (MainForm.Conf.BigButtons)
{
rSrc.X -= 2;
rSrc.Width += 8;
rSrc.Height += 8;
}
var bp = ButtonPanel;
destRect = new Rectangle(bp.X + buttonIndex * (bp.Width / ButtonCount) + 5, bp.Top+5, rSrc.Width, rSrc.Height);
return rSrc;
}