protected override void DrawPath(SeriesBase series, System.Drawing.Pen pen) { if (series is PieSeries) { var points = new PointCollection(); var pointCount = 0; var partsCollection = new PartsCollection(); if (series is PieSeries) { var pieSeries = series as PieSeries; points = pieSeries.PiePoints; pointCount = pieSeries.PiePoints.Count; partsCollection = pieSeries.Parts; } if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < partsCollection.Count; i++) { UIElement renderElement = partsCollection[i].CreatePart(); if (renderElement != null && !PartsCanvas.Children.Contains(renderElement)) PartsCanvas.Children.Add(renderElement); } } else { if (series is PieSeries) { for (int i = 0; i < pointCount; i++) { switch (RenderingMode) { case RenderingMode.GDIRendering: //GDIGraphics.DrawLine(pen, points[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); break; case RenderingMode.Default: break; case RenderingMode.WritableBitmap: //this.WritableBitmap.Lock(); //WritableBitmapGraphics.DrawLine(pen, points[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); // this.WritableBitmap.Unlock(); break; default: break; } } } this.Collection.InvalidateBitmap(); } } }
protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is PieSeries) { var points = new PointCollection(); var pointCount = 0; var partsCollection = new PartsCollection(); if (series is PieSeries) { var pieSeries = series as PieSeries; points = pieSeries.PiePoints; pointCount = pieSeries.PiePoints.Count; partsCollection = pieSeries.Parts; } if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < partsCollection.Count; i++) { UIElement renderElement = partsCollection[i].CreatePart(); if (renderElement != null && !PartsCanvas.Children.Contains(renderElement)) PartsCanvas.Children.Add(renderElement); } } } }
protected override void DrawPath(SeriesBase series, System.Drawing.Pen pen) { if (series is HiLoOpenCloseSeries) { var points = new PointCollection(); var lowPoints = new PointCollection(); var openPoints = new PointCollection(); var closePoints = new PointCollection(); var openOffPoints = new PointCollection(); var closeOffPoints = new PointCollection(); var pointCount = 0; PartsCollection partsCollection = new PartsCollection(); if (series is HiLoOpenCloseSeries) { HiLoOpenCloseSeries lineSeries = series as HiLoOpenCloseSeries; points = lineSeries.HighPoints; lowPoints = lineSeries.LowPoints; openPoints = lineSeries.OpenPoints; closePoints = lineSeries.ClosePoints; openOffPoints = lineSeries.OpenOffPoints; closeOffPoints = lineSeries.CloseOffPoints; pointCount = lineSeries.HighPoints.Count; partsCollection = lineSeries.Parts; } if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < partsCollection.Count; i++) { var element = partsCollection[i].CreatePart(); if (element != null && !PartsCanvas.Children.Contains(element)) PartsCanvas.Children.Add(element); } } else { if (series is HiLoOpenCloseSeries) { for (int i = 0; i < pointCount; i++) { switch (RenderingMode) { case RenderingMode.GDIRendering: GDIGraphics.DrawLine(pen, points[i].AsDrawingPointF(), lowPoints[i].AsDrawingPointF()); GDIGraphics.DrawLine(pen, openOffPoints[i].AsDrawingPointF(), openPoints[i].AsDrawingPointF()); GDIGraphics.DrawLine(pen, closeOffPoints[i].AsDrawingPointF(), closePoints[i].AsDrawingPointF()); break; case RenderingMode.Default: break; case RenderingMode.WritableBitmap: this.WritableBitmap.Lock(); WritableBitmapGraphics.DrawLine(pen, points[i].AsDrawingPointF(), lowPoints[i].AsDrawingPointF()); WritableBitmapGraphics.DrawLine(pen, openOffPoints[i].AsDrawingPointF(), openPoints[i].AsDrawingPointF()); WritableBitmapGraphics.DrawLine(pen, closeOffPoints[i].AsDrawingPointF(), closePoints[i].AsDrawingPointF()); this.WritableBitmap.Unlock(); break; default: break; } } } this.Collection.InvalidateBitmap(); } } }
/// <summary> /// Draws the path. /// </summary> /// <param name="series">The series.</param> /// <param name="brush">The brush.</param> /// <param name="strokeThickness">The stroke thickness.</param> protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is HiLoOpenCloseSeries) { PartsCollection partsCollection = new PartsCollection(); partsCollection = (series as HiLoOpenCloseSeries).Parts; if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < partsCollection.Count; i++) { PartsCanvas.Children.Add(partsCollection[i].CreatePart()); } } } }
protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is LineSeries || series is HiLoSeries) { PartsCollection partsCollection = new PartsCollection(); if (series is LineSeries) { LineSeries lineSeries = series as LineSeries; partsCollection = lineSeries.Parts; } else if (series is HiLoSeries) { HiLoSeries lineSeries = series as HiLoSeries; partsCollection = lineSeries.Parts; } if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < partsCollection.Count; i++) { UIElement element = partsCollection[i].CreatePart(); if (element != null) PartsCanvas.Children.Add(element); } } } }
override protected void DrawPath(SeriesBase series, System.Drawing.Pen pen) { if (series is LineSeries || series is HiLoSeries || series is HiLoOpenCloseSeries) { var points = new PointCollection(); var lowPoints = new PointCollection(); var pointCount = 0; PartsCollection partsCollection = new PartsCollection(); if (series is LineSeries) { LineSeries lineSeries = series as LineSeries; points = lineSeries.LinePoints; pointCount = lineSeries.LinePoints.Count; partsCollection = lineSeries.Parts; } else if (series is HiLoSeries) { HiLoSeries lineSeries = series as HiLoSeries; points = lineSeries.HighPoints; lowPoints = lineSeries.LowPoints; pointCount = lineSeries.HighPoints.Count; partsCollection = lineSeries.Parts; } else if (series is HiLoOpenCloseSeries) { HiLoOpenCloseSeries lineSeries = series as HiLoOpenCloseSeries; points = lineSeries.HighPoints; lowPoints = lineSeries.LowPoints; pointCount = lineSeries.HighPoints.Count; partsCollection = lineSeries.Parts; } if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < partsCollection.Count; i++) { UIElement renderElement = partsCollection[i].CreatePart(); if (renderElement != null && !PartsCanvas.Children.Contains(renderElement)) { PartsCanvas.Children.Add(renderElement); } } } else { if (series is LineSeries) { for (int i = 0; i < pointCount - 1; i++) { switch (RenderingMode) { case RenderingMode.GDIRendering: GDIGraphics.DrawLine(pen, points[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); break; case RenderingMode.Default: break; case RenderingMode.WritableBitmap: this.WritableBitmap.Lock(); WritableBitmapGraphics.DrawLine(pen, points[i].AsDrawingPointF(), points[i + 1].AsDrawingPointF()); this.WritableBitmap.Unlock(); break; default: break; } } } else { for (int i = 0; i < pointCount; i++) { switch (RenderingMode) { case RenderingMode.GDIRendering: GDIGraphics.DrawLine(pen, points[i].AsDrawingPointF(), lowPoints[i].AsDrawingPointF()); break; case RenderingMode.Default: break; case RenderingMode.WritableBitmap: this.WritableBitmap.Lock(); WritableBitmapGraphics.DrawLine(pen, points[i].AsDrawingPointF(), lowPoints[i].AsDrawingPointF()); this.WritableBitmap.Unlock(); break; default: break; } } } this.Collection.InvalidateBitmap(); } } }
protected override void DrawPath(SeriesBase series, System.Drawing.Pen pen) { if (series is ScatterSeries || series is BubbleSeries) { var points = new PointCollection(); var sizes=new List<double>(); var pointCount = 0; float size = 0; var brush=new SolidColorBrush(Colors.Blue).AsDrawingBrush(); PartsCollection partsCollection = new PartsCollection(); if(series is ScatterSeries) { ScatterSeries scatterSeries = series as ScatterSeries; points = scatterSeries.ScatterPoints; pointCount = scatterSeries.ScatterPoints.Count; size = (float)scatterSeries.ScatterSize; brush = (this.Series as ScatterSeries).Fill.AsDrawingBrush(); partsCollection = scatterSeries.Parts; } else if (series is BubbleSeries) { BubbleSeries scatterSeries = series as BubbleSeries; points = scatterSeries.BubblePoints; pointCount = scatterSeries.BubblePoints.Count; //size = (float)scatterSeries.; sizes=scatterSeries.SizeValues; brush = (this.Series as FillSeriesBase).Fill.AsDrawingBrush(); partsCollection = scatterSeries.Parts; } if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < partsCollection.Count; i++) { Ellipse element = (Ellipse)partsCollection[i].CreatePart(); if (element != null && !PartsCanvas.Children.Contains(element)) PartsCanvas.Children.Add(element); } } else { for (int i = 0; i < pointCount; i++) { if (series is ScatterSeries) { switch (RenderingMode) { case RenderingMode.GDIRendering: GDIGraphics.DrawEllipse(pen, points[i].AsDrawingPointF().X - size / 2, points[i].AsDrawingPointF().Y - size / 2, size, size); GDIGraphics.FillEllipse(brush, points[i].AsDrawingPointF().X - size / 2, points[i].AsDrawingPointF().Y - size / 2, size, size); break; case RenderingMode.Default: break; case RenderingMode.WritableBitmap: this.WritableBitmap.Lock(); WritableBitmapGraphics.DrawEllipse(pen, points[i].AsDrawingPointF().X - size / 2, points[i].AsDrawingPointF().Y - size / 2, size, size); WritableBitmapGraphics.FillEllipse(brush, points[i].AsDrawingPointF().X - size / 2, points[i].AsDrawingPointF().Y - size / 2, size, size); this.WritableBitmap.Unlock(); break; default: break; } } else { size=(int)sizes[i]; switch (RenderingMode) { case RenderingMode.GDIRendering: GDIGraphics.DrawEllipse(pen, points[i].AsDrawingPointF().X - size / 2, points[i].AsDrawingPointF().Y - size / 2, size, size); GDIGraphics.FillEllipse(brush, points[i].AsDrawingPointF().X - size / 2, points[i].AsDrawingPointF().Y - size / 2, size, size); break; case RenderingMode.Default: break; case RenderingMode.WritableBitmap: this.WritableBitmap.Lock(); WritableBitmapGraphics.DrawEllipse(pen, points[i].AsDrawingPointF().X - size / 2, points[i].AsDrawingPointF().Y - size / 2, size, size); WritableBitmapGraphics.FillEllipse(brush, points[i].AsDrawingPointF().X - size / 2, points[i].AsDrawingPointF().Y - size / 2, size, size); this.WritableBitmap.Unlock(); break; default: break; } } } this.Collection.InvalidateBitmap(); } } }
/// <summary> /// Draws the path. /// </summary> /// <param name="series">The series.</param> /// <param name="brush">The brush.</param> /// <param name="strokeThickness">The stroke thickness.</param> protected override void DrawPath(SeriesBase series, Brush brush, double strokeThickness) { if (series is ScatterSeries || series is BubbleSeries) { var points = new PointCollection(); var pointCount = 0; float size = 0; PartsCollection partsCollection = new PartsCollection(); if (series is ScatterSeries) { ScatterSeries scatterSeries = series as ScatterSeries; points = scatterSeries.ScatterPoints; pointCount = scatterSeries.ScatterPoints.Count; size = (float)scatterSeries.ScatterSize; partsCollection = scatterSeries.Parts; } else if (series is BubbleSeries) { BubbleSeries scatterSeries = series as BubbleSeries; points = scatterSeries.BubblePoints; pointCount = scatterSeries.BubblePoints.Count; partsCollection = scatterSeries.Parts; } if (RenderingMode == RenderingMode.Default) { for (int i = 0; i < partsCollection.Count; i++) { Ellipse element = (Ellipse)partsCollection[i].CreatePart(); Canvas.SetLeft(element, points[i].X - (element.Width / 2)); Canvas.SetTop(element, points[i].Y - (element.Height / 2)); PartsCanvas.Children.Add(element); } } } }