/// <summary> /// Draws an ellipse. /// </summary> /// <param name="rect">The rectangle.</param> /// <param name="fill">The fill color.</param> /// <param name="stroke">The stroke color.</param> /// <param name="thickness">The thickness.</param> public override void DrawEllipse(OxyRect rect, OxyColor fill, OxyColor stroke, double thickness) { this.SetAlias (false); var convertedRectangle = rect.Convert (); if (fill.IsVisible ()) { this.SetFill (fill); using (var path = new CGPath ()) { path.AddEllipseInRect (convertedRectangle); this.gctx.AddPath (path); } this.gctx.DrawPath (CGPathDrawingMode.Fill); } if (stroke.IsVisible () && thickness > 0) { this.SetStroke (stroke, thickness); using (var path = new CGPath ()) { path.AddEllipseInRect (convertedRectangle); this.gctx.AddPath (path); } this.gctx.DrawPath (CGPathDrawingMode.Stroke); } }