Esempio n. 1
0
        /// <summary>
        /// Initializes all necessary data to draw all series for a column chart.
        /// </summary>
        internal void InitSeries()
        {
            ChartRendererInfo cri = (ChartRendererInfo)this.rendererParms.RendererInfo;

            int seriesIndex = 0;

            foreach (SeriesRendererInfo sri in cri.seriesRendererInfos)
            {
                sri.LineFormat = Converter.ToXPen(sri.series.lineFormat, XColors.Black, ChartRenderer.DefaultSeriesLineWidth);
                sri.FillFormat = Converter.ToXBrush(sri.series.fillFormat, ColumnColors.Item(seriesIndex++));

                sri.pointRendererInfos = new ColumnRendererInfo[sri.series.seriesElements.Count];
                for (int pointIdx = 0; pointIdx < sri.pointRendererInfos.Length; ++pointIdx)
                {
                    PointRendererInfo pri   = new ColumnRendererInfo();
                    Point             point = sri.series.seriesElements[pointIdx];
                    pri.point = point;
                    if (point != null)
                    {
                        pri.LineFormat = sri.LineFormat;
                        pri.FillFormat = sri.FillFormat;
                        if (point.lineFormat != null && !point.lineFormat.color.IsEmpty)
                        {
                            pri.LineFormat = Converter.ToXPen(point.lineFormat, sri.LineFormat);
                        }
                        if (point.fillFormat != null && !point.fillFormat.color.IsEmpty)
                        {
                            pri.FillFormat = new XSolidBrush(point.fillFormat.color);
                        }
                    }
                    sri.pointRendererInfos[pointIdx] = pri;
                }
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Initializes all necessary data to draw a series for a pie chart.
        /// </summary>
        protected void InitSeries(ChartRendererInfo rendererInfo)
        {
            SeriesCollection seriesColl = rendererInfo.chart.SeriesCollection;

            rendererInfo.seriesRendererInfos = new SeriesRendererInfo[seriesColl.Count];
            for (int idx = 0; idx < seriesColl.Count; ++idx)
            {
                SeriesRendererInfo sri = new SeriesRendererInfo();
                rendererInfo.seriesRendererInfos[idx] = sri;
                sri.series = seriesColl[idx];

                sri.LineFormat = Converter.ToXPen(sri.series.lineFormat, XColors.Black, ChartRenderer.DefaultSeriesLineWidth);
                sri.FillFormat = Converter.ToXBrush(sri.series.fillFormat, ColumnColors.Item(idx));

                sri.pointRendererInfos = new SectorRendererInfo[sri.series.seriesElements.Count];
                for (int pointIdx = 0; pointIdx < sri.pointRendererInfos.Length; ++pointIdx)
                {
                    PointRendererInfo pri   = new SectorRendererInfo();
                    Point             point = sri.series.seriesElements[pointIdx];
                    pri.point = point;
                    if (point != null)
                    {
                        pri.LineFormat = sri.LineFormat;
                        if (point.lineFormat != null && !point.lineFormat.color.IsEmpty)
                        {
                            pri.LineFormat = new XPen(point.lineFormat.color);
                        }
                        if (point.fillFormat != null && !point.fillFormat.color.IsEmpty)
                        {
                            pri.FillFormat = new XSolidBrush(point.fillFormat.color);
                        }
                        else
                        {
                            pri.FillFormat = new XSolidBrush(PieColors.Item(pointIdx));
                        }
                        pri.LineFormat.LineJoin = XLineJoin.Round;
                    }
                    sri.pointRendererInfos[pointIdx] = pri;
                }
            }
        }