public void Push(float value) { var node = new ChartNode(LastNode, value, LastNode == null ? 0 : LastNode.XOffset + CellSize.Width); if (value < MinValue) { MinValue = value; } if (value > MaxValue) { MaxValue = value; } _nodes.Add(node); if (_nodes.Count > 0 && LastNode.XOffset > Size.Width - _xOffset) { _xOffset -= (int)CellSize.Width; _nodes.Remove(_nodes.First()); } }
internal ChartNode(ChartNode next, float value, float xOffset) { Next = next; Value = value; XOffset = xOffset; }