private void DrawKpmGraph() { if (_activityReport?.KeyStrokesPerMinute == null || !_activityReport.KeyStrokesPerMinute.Any()) { return; } var kpmList = ActivityGraphHelper.GetKpmList(_activityReport); var maxKeyStrokes = kpmList.Max(); for (var i = 0; i < kpmList.Length; ++i) { var keyStrokes = kpmList[i]; var color = ActivityGraphHelper.GetBarColor(keyStrokes, maxKeyStrokes); var x = i * GraphProperties.BarWidth + GraphProperties.Left + GraphProperties.AxisPaddingX + 1; var y = GraphProperties.Bottom - Math.Min((float)keyStrokes / maxKeyStrokes * GraphProperties.Bottom, GraphProperties.Bottom) + GraphProperties.Top + GraphProperties.AxisPaddingY; var height = Math.Max(0, GraphProperties.Bottom - y) - GraphProperties.AxisPaddingY; _coupledGraphics.FillRectangle(new SolidBrush(color), x, y, GraphProperties.BarWidth, height); } }
public void Update(IActivityReport activityReport) { var kpmList = ActivityGraphHelper.GetKpmList(activityReport); _coupledControl.SetPropertyThreadSafe(_propertyName, kpmList.Max().ToString()); }