Circles Rendering closer to border. Still not perfect.

This commit is contained in:
Paracelsus-Rose 2023-01-10 19:16:02 -05:00
parent f21226bfa7
commit 75c0dee349
No known key found for this signature in database
GPG key ID: FAF65C0792F4524E

View file

@ -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(`<circle %s cx="%f" cy="%f" r="%f"/>`,
path = fmt.Sprintf(`<circle %s clip-path="circle()" cx="%f" cy="%f" r="%f"/>`,
attrs,
width/2+5, height/2,
width/3,
width-10.3+strokeWidth/3, height/2,
width/2.9,
)
} else {
path = fmt.Sprintf(`<circle %s cx="%f" cy="%f" r="%f"/>`,
path = fmt.Sprintf(`<circle %s clip-path="circle()" cx="%f" cy="%f" r="%f"/>`,
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(`<circle %s cx="%f" cy="%f" r="%f"/>`,
attrs,
width/2+5, height/2,
width/2+3.6+strokeWidth/3, height/2,
width/3.2,
)
} else {
path = fmt.Sprintf(`<circle %s cx="%f" cy="%f" r="%f"/>`,
attrs,
width/2-5, height/2,
width/2-4.9+strokeWidth/3, height/2,
width/3.2,
)
}