void ZoomOut()
{
barPixels -= 4;
if (barPixels < 4)
barPixels = 2;
int oldChartBars = chartBars;
chartBars = chartWidth / barPixels;
if (chartBars > Data.Bars - Data.FirstBar)
chartBars = Data.Bars - Data.FirstBar;
if (lastBar < Data.Bars - 1)
{
firstBar -= (chartBars - oldChartBars) / 2;
if (firstBar < Data.FirstBar)
firstBar = Data.FirstBar;
if (firstBar > Data.Bars - chartBars)
firstBar = Data.Bars - chartBars;
}
else
{
firstBar = Math.Max(Data.FirstBar, Data.Bars - chartBars);
}
lastBar = firstBar + chartBars - 1;
scroll.Value = firstBar;
scroll.LargeChange = chartBars;
InvalidateAllPanels();
return;
}