/// <summary> /// /// </summary> /// <param name="doc"></param> /// <param name="ellipse"></param> /// <param name="dx"></param> /// <param name="dy"></param> /// <param name="db"></param> /// <param name="r"></param> public void Draw(object doc, Core2D.XEllipse ellipse, double dx, double dy, ImmutableArray <Core2D.ShapeProperty> db, Core2D.Record r) { if (!ellipse.IsStroked && !ellipse.IsFilled) { return; } var _doc = doc as DxfDocument; var style = ellipse.Style; var rect = Core2D.Rect2.Create(ellipse.TopLeft, ellipse.BottomRight, dx, dy); DrawEllipseInternal(_doc, _currentLayer, ellipse.IsFilled, ellipse.IsStroked, style, ref rect); }
/// <summary> /// /// </summary> /// <param name="gfx"></param> /// <param name="ellipse"></param> /// <param name="dx"></param> /// <param name="dy"></param> /// <param name="db"></param> /// <param name="r"></param> public void Draw(object gfx, Core2D.XEllipse ellipse, double dx, double dy, ImmutableArray <Core2D.ShapeProperty> db, Core2D.Record r) { var _gfx = gfx as XGraphics; var rect = Core2D.Rect2.Create( ellipse.TopLeft, ellipse.BottomRight, dx, dy); if (ellipse.IsStroked && ellipse.IsFilled) { _gfx.DrawEllipse( ToXPen(ellipse.Style, _scaleToPage), ToXSolidBrush(ellipse.Style.Fill), _scaleToPage(rect.X), _scaleToPage(rect.Y), _scaleToPage(rect.Width), _scaleToPage(rect.Height)); } else if (ellipse.IsStroked && !ellipse.IsFilled) { _gfx.DrawEllipse( ToXPen(ellipse.Style, _scaleToPage), _scaleToPage(rect.X), _scaleToPage(rect.Y), _scaleToPage(rect.Width), _scaleToPage(rect.Height)); } else if (!ellipse.IsStroked && ellipse.IsFilled) { _gfx.DrawEllipse( ToXSolidBrush(ellipse.Style.Fill), _scaleToPage(rect.X), _scaleToPage(rect.Y), _scaleToPage(rect.Width), _scaleToPage(rect.Height)); } }