/// <summary> /// When the mouse wheel event occurs, this forwards the event to this control. /// </summary> /// <param name="delta">The delta.</param> /// <param name="x">The x.</param> public void DoMouseWheel(int delta, float x) { double val = _graph.GetValue(x); if (delta > 0) { _graph.Minimum += ((val - _graph.Minimum) / 2); _graph.Maximum -= ((_graph.Maximum - val) / 2); } else { _graph.Minimum -= (val - _graph.Minimum); _graph.Maximum += (_graph.Maximum - val); } if (_isRaster) { if (_graph.Minimum < _rasterSymbolizer.Scheme.Statistics.Minimum) { _graph.Minimum = _rasterSymbolizer.Scheme.Statistics.Minimum; } if (_graph.Maximum > _rasterSymbolizer.Scheme.Statistics.Maximum) { _graph.Maximum = _rasterSymbolizer.Scheme.Statistics.Maximum; } } else { if (_graph.Minimum < _scheme.Statistics.Minimum) { _graph.Minimum = _scheme.Statistics.Minimum; } if (_graph.Maximum > _scheme.Statistics.Maximum) { _graph.Maximum = _scheme.Statistics.Maximum; } } FillBins(); UpdateBreaks(); Invalidate(); }