示例#1
0
        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);
        }