From cfd7c3996dfde298a47e85a9b014ad98533911a7 Mon Sep 17 00:00:00 2001 From: Gavin Nishizawa Date: Mon, 11 Sep 2023 12:19:26 -0700 Subject: [PATCH] render arrowhead labels using style.font-color --- d2exporter/export.go | 6 ++++++ d2renderers/d2svg/d2svg.go | 9 +++++++++ 2 files changed, 15 insertions(+) diff --git a/d2exporter/export.go b/d2exporter/export.go index ed746b867..f79e98af6 100644 --- a/d2exporter/export.go +++ b/d2exporter/export.go @@ -213,6 +213,9 @@ func toConnection(edge *d2graph.Edge, theme *d2themes.Theme) d2target.Connection LabelWidth: edge.SrcArrowhead.LabelDimensions.Width, LabelHeight: edge.SrcArrowhead.LabelDimensions.Height, } + if edge.SrcArrowhead.Style.FontColor != nil { + connection.SrcLabel.Color = edge.SrcArrowhead.Style.FontColor.Value + } } } if edge.DstArrow { @@ -228,6 +231,9 @@ func toConnection(edge *d2graph.Edge, theme *d2themes.Theme) d2target.Connection LabelWidth: edge.DstArrowhead.LabelDimensions.Width, LabelHeight: edge.DstArrowhead.LabelDimensions.Height, } + if edge.DstArrowhead.Style.FontColor != nil { + connection.DstLabel.Color = edge.DstArrowhead.Style.FontColor.Value + } } } if theme != nil && theme.SpecialRules.NoCornerRadius { diff --git a/d2renderers/d2svg/d2svg.go b/d2renderers/d2svg/d2svg.go index 2a7428ac5..f4994f137 100644 --- a/d2renderers/d2svg/d2svg.go +++ b/d2renderers/d2svg/d2svg.go @@ -613,6 +613,15 @@ func renderArrowheadLabel(connection d2target.Connection, text string, isDst boo textEl.X = baselineCenter.X textEl.Y = baselineCenter.Y textEl.Fill = d2target.FG_COLOR + if isDst { + if connection.DstLabel.Color != "" { + textEl.Fill = connection.DstLabel.Color + } + } else { + if connection.SrcLabel.Color != "" { + textEl.Fill = connection.SrcLabel.Color + } + } textEl.ClassName = "text-italic" textEl.Style = fmt.Sprintf("text-anchor:middle;font-size:%vpx", connection.FontSize) textEl.Content = RenderText(text, textEl.X, height)