From 2966d393ae74d114b5bb8304a4cef3954df172fb Mon Sep 17 00:00:00 2001 From: Alexander Wang Date: Thu, 19 Jan 2023 12:39:12 -0800 Subject: [PATCH] fix bounding box for multiple --- d2renderers/d2svg/d2svg.go | 4 +--- d2target/d2target.go | 5 +++++ .../stable/all_shapes_multiple/dagre/sketch.exp.svg | 6 +++--- .../testdata/stable/all_shapes_multiple/elk/sketch.exp.svg | 6 +++--- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/d2renderers/d2svg/d2svg.go b/d2renderers/d2svg/d2svg.go index 86c7f856e..29d789296 100644 --- a/d2renderers/d2svg/d2svg.go +++ b/d2renderers/d2svg/d2svg.go @@ -42,8 +42,6 @@ const ( appendixIconRadius = 16 ) -var multipleOffset = geo.NewVector(10, -10) - //go:embed tooltip.svg var TooltipIcon string @@ -689,7 +687,7 @@ func drawShape(writer io.Writer, targetShape d2target.Shape, sketchRunner *d2ske var multipleTL *geo.Point if targetShape.Multiple { - multipleTL = tl.AddVector(multipleOffset) + multipleTL = tl.AddVector(geo.NewVector(d2target.MULTIPLE_OFFSET, -d2target.MULTIPLE_OFFSET)) } switch targetShape.Type { diff --git a/d2target/d2target.go b/d2target/d2target.go index a95324d91..b1039cb4c 100644 --- a/d2target/d2target.go +++ b/d2target/d2target.go @@ -23,6 +23,7 @@ const ( MAX_ICON_SIZE = 64 THREE_DEE_OFFSET = 15 + MULTIPLE_OFFSET = 10 ) type Diagram struct { @@ -73,6 +74,10 @@ func (diagram Diagram) BoundingBox() (topLeft, bottomRight Point) { y1 = go2.Min(y1, targetShape.Pos.Y-THREE_DEE_OFFSET-targetShape.StrokeWidth) x2 = go2.Max(x2, targetShape.Pos.X+THREE_DEE_OFFSET+targetShape.Width+targetShape.StrokeWidth) } + if targetShape.Multiple { + y1 = go2.Min(y1, targetShape.Pos.Y-MULTIPLE_OFFSET-targetShape.StrokeWidth) + x2 = go2.Max(x2, targetShape.Pos.X+MULTIPLE_OFFSET+targetShape.Width+targetShape.StrokeWidth) + } if targetShape.Label != "" { labelPosition := label.Position(targetShape.LabelPosition) diff --git a/e2etests/testdata/stable/all_shapes_multiple/dagre/sketch.exp.svg b/e2etests/testdata/stable/all_shapes_multiple/dagre/sketch.exp.svg index 2f778a856..60fb1530a 100644 --- a/e2etests/testdata/stable/all_shapes_multiple/dagre/sketch.exp.svg +++ b/e2etests/testdata/stable/all_shapes_multiple/dagre/sketch.exp.svg @@ -3,7 +3,7 @@ id="d2-svg" style="background: white;" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" -width="1543" height="828" viewBox="-102 -102 1543 828">