/// <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; } } }
/// <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; } } }