From 75c0dee349f352a43e89ec2d31f49d4d0a15d9f2 Mon Sep 17 00:00:00 2001 From: Paracelsus-Rose Date: Tue, 10 Jan 2023 19:16:02 -0500 Subject: [PATCH] Circles Rendering closer to border. Still not perfect. --- d2renderers/d2svg/d2svg.go | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/d2renderers/d2svg/d2svg.go b/d2renderers/d2svg/d2svg.go index 097d38504..90af55fa0 100644 --- a/d2renderers/d2svg/d2svg.go +++ b/d2renderers/d2svg/d2svg.go @@ -114,7 +114,10 @@ func arrowheadDimensions(arrowhead d2target.Arrowhead, strokeWidth float64) (wid case d2target.DiamondArrowhead: widthMultiplier = 11 heightMultiplier = 9 - case d2target.CfOne, d2target.CfMany, d2target.CfOneRequired, d2target.CfManyRequired, d2target.FilledCircleArrowhead, d2target.CircleArrowhead: + case d2target.FilledCircleArrowhead, d2target.CircleArrowhead: + widthMultiplier = 14 + heightMultiplier = 14 + case d2target.CfOne, d2target.CfMany, d2target.CfOneRequired, d2target.CfManyRequired: widthMultiplier = 14 heightMultiplier = 15 } @@ -227,16 +230,16 @@ func arrowheadMarker(isTarget bool, id string, connection d2target.Connection) s case d2target.FilledCircleArrowhead: attrs := fmt.Sprintf(`class="connection" fill="%s" stroke-width="%d"`, connection.Stroke, connection.StrokeWidth) if isTarget { - path = fmt.Sprintf(``, + path = fmt.Sprintf(``, attrs, - width/2+5, height/2, - width/3, + width-10.3+strokeWidth/3, height/2, + width/2.9, ) } else { - path = fmt.Sprintf(``, + path = fmt.Sprintf(``, attrs, - width/2-5, height/2, - width/3, + width-19+strokeWidth/3, height/2, + width/2.9, ) } case d2target.CircleArrowhead: @@ -244,13 +247,13 @@ func arrowheadMarker(isTarget bool, id string, connection d2target.Connection) s if isTarget { path = fmt.Sprintf(``, attrs, - width/2+5, height/2, + width/2+3.6+strokeWidth/3, height/2, width/3.2, ) } else { path = fmt.Sprintf(``, attrs, - width/2-5, height/2, + width/2-4.9+strokeWidth/3, height/2, width/3.2, ) }