/// <inheritdoc/> public override void Draw(object dc, Core2D.Shapes.XRectangle rectangle, 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( rectangle.TopLeft, rectangle.BottomRight, dx, dy); if (rectangle.IsStroked && rectangle.IsFilled) { _gfx.DrawRectangle( ToXPen(rectangle.Style, _scaleToPage, _sourceDpi, _targetDpi), ToXSolidBrush(rectangle.Style.Fill), _scaleToPage(rect.X), _scaleToPage(rect.Y), _scaleToPage(rect.Width), _scaleToPage(rect.Height)); } else if (rectangle.IsStroked && !rectangle.IsFilled) { _gfx.DrawRectangle( ToXPen(rectangle.Style, _scaleToPage, _sourceDpi, _targetDpi), _scaleToPage(rect.X), _scaleToPage(rect.Y), _scaleToPage(rect.Width), _scaleToPage(rect.Height)); } else if (!rectangle.IsStroked && rectangle.IsFilled) { _gfx.DrawRectangle( ToXSolidBrush(rectangle.Style.Fill), _scaleToPage(rect.X), _scaleToPage(rect.Y), _scaleToPage(rect.Width), _scaleToPage(rect.Height)); } if (rectangle.IsGrid) { DrawGridInternal( _gfx, ToXPen(rectangle.Style, _scaleToPage, _sourceDpi, _targetDpi), ref rect, rectangle.OffsetX, rectangle.OffsetY, rectangle.CellWidth, rectangle.CellHeight, true); } }
/// <inheritdoc/> public override void Draw(object dc, Core2D.Shapes.XRectangle rectangle, double dx, double dy, ImmutableArray <Core2D.Data.XProperty> db, Core2D.Data.Database.XRecord r) { if (!rectangle.IsStroked && !rectangle.IsFilled && !rectangle.IsGrid) { return; } var dxf = dc as DxfDocument; var style = rectangle.Style; var rect = Core2D.Math.Rect2.Create(rectangle.TopLeft, rectangle.BottomRight, dx, dy); DrawRectangleInternal(dxf, _currentLayer, rectangle.IsFilled, rectangle.IsStroked, style, ref rect); if (rectangle.IsGrid) { DrawGridInternal( dxf, _currentLayer, style, rectangle.OffsetX, rectangle.OffsetY, rectangle.CellWidth, rectangle.CellHeight, ref rect); } }