/// <inheritdoc/> public override void Draw(object dc, Core2D.Shapes.XEllipse ellipse, double dx, double dy, ImmutableArray <Core2D.Data.XProperty> db, Core2D.Data.Database.XRecord r) { if (!ellipse.IsStroked && !ellipse.IsFilled) { return; } var dxf = dc as DxfDocument; var style = ellipse.Style; var rect = Core2D.Math.Rect2.Create(ellipse.TopLeft, ellipse.BottomRight, dx, dy); DrawEllipseInternal(dxf, _currentLayer, ellipse.IsFilled, ellipse.IsStroked, style, ref rect); }
/// <inheritdoc/> public override void Draw(object dc, Core2D.Shapes.XEllipse ellipse, double dx, double dy, ImmutableArray <Core2D.Data.XProperty> db, Core2D.Data.Database.XRecord r) { var _gfx = dc as XGraphics; var rect = Core2D.Math.Rect2.Create( ellipse.TopLeft, ellipse.BottomRight, dx, dy); if (ellipse.IsStroked && ellipse.IsFilled) { _gfx.DrawEllipse( ToXPen(ellipse.Style, _scaleToPage, _sourceDpi, _targetDpi), 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, _sourceDpi, _targetDpi), _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)); } }