From 5e5f9f476c0665d833a70bec25c62b6d01437209 Mon Sep 17 00:00:00 2001 From: Gavin Nishizawa Date: Fri, 14 Apr 2023 11:32:14 -0700 Subject: [PATCH] set arrowhead label dimensions --- d2graph/d2graph.go | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/d2graph/d2graph.go b/d2graph/d2graph.go index d37351ce8..b954199fc 100644 --- a/d2graph/d2graph.go +++ b/d2graph/d2graph.go @@ -1471,21 +1471,21 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler } } for _, edge := range g.Edges { - endpointLabels := []string{} if edge.SrcArrowhead != nil && edge.SrcArrowhead.Label.Value != "" { - endpointLabels = append(endpointLabels, edge.SrcArrowhead.Label.Value) + t := edge.Text() + t.Text = edge.SrcArrowhead.Label.Value + dims := GetTextDimensions(mtexts, ruler, t, fontFamily) + edge.MinWidth += dims.Width + INNER_LABEL_PADDING + edge.MinHeight += dims.Height + INNER_LABEL_PADDING + edge.SrcArrowhead.LabelDimensions = *dims } if edge.DstArrowhead != nil && edge.DstArrowhead.Label.Value != "" { - endpointLabels = append(endpointLabels, edge.DstArrowhead.Label.Value) - } - - for _, label := range endpointLabels { t := edge.Text() - t.Text = label + t.Text = edge.DstArrowhead.Label.Value dims := GetTextDimensions(mtexts, ruler, t, fontFamily) - edge.MinWidth += dims.Width - // Some padding as it's not totally near the end - edge.MinHeight += dims.Height + 5 + edge.MinWidth += dims.Width + INNER_LABEL_PADDING + edge.MinHeight += dims.Height + INNER_LABEL_PADDING + edge.DstArrowhead.LabelDimensions = *dims } if edge.Label.Value == "" {