public override bool DrawPlot(Layer layer, ChartProperty property, bool onlyUpdateLastBar) { AxisX cAxisX = layer.AxisX; IntPtr iOldFont = __cGDI.SelectFont(property.TextFont); int iIndex = cAxisX.BarNumber, iCount = 1; if (onlyUpdateLastBar) { iIndex = cAxisX.BarNumber + cAxisX.BarCount - 1; iIndex = (iIndex > cAxisX.DataCount) ? cAxisX.DataCount : iIndex; } else { iCount = cAxisX.BarCount; int iEndIndex = cAxisX.BarNumber + iCount - 1; iCount = (iEndIndex > cAxisX.DataCount) ? cAxisX.DataCount - cAxisX.BarNumber : iCount; } IEnumerable <ITextObject> cTextObjects = __cTextObjects.GetTextObjects(property.DrawingSource, iIndex, iCount); ProccessObjects(cTextObjects, property, onlyUpdateLastBar); __cGDI.RemoveObject(__cGDI.SelectFont(iOldFont)); return(true); }