Пример #1
0
        public override bool IsVisibleOnChart(ChartControl chartControl, ChartScale chartScale, DateTime firstTimeOnChart, DateTime lastTimeOnChart)
        {
            if (DrawingState == DrawingState.Building)
            {
                return(true);
            }

            float      minX       = float.MaxValue;
            float      maxX       = float.MinValue;
            ChartPanel chartPanel = chartControl.ChartPanels[PanelIndex];

            foreach (Point pt in ChartAnchors.Select(a => a.GetPoint(chartControl, chartPanel, chartScale)))
            {
                minX = (float)Math.Min(minX, pt.X);
                maxX = (float)Math.Max(maxX, pt.X);
            }

            DateTime leftWidthTime  = chartControl.GetTimeByX((int)minX);
            DateTime rightWidthTime = chartControl.GetTimeByX((int)maxX);

            return(leftWidthTime <= lastTimeOnChart && rightWidthTime >= firstTimeOnChart);
        }