diff --git a/d2renderers/d2svg/d2svg.go b/d2renderers/d2svg/d2svg.go
index 19ce430f4..f4fd25da5 100644
--- a/d2renderers/d2svg/d2svg.go
+++ b/d2renderers/d2svg/d2svg.go
@@ -802,13 +802,17 @@ func drawShape(writer io.Writer, targetShape d2target.Shape, sketchRunner *d2ske
// TODO should standardize "" to rectangle
case d2target.ShapeRectangle, d2target.ShapeSequenceDiagram, "":
+ rx := ""
+ if targetShape.BorderRadius != 0 {
+ rx = fmt.Sprintf(` rx="%d"`, targetShape.BorderRadius)
+ }
if targetShape.ThreeDee {
fmt.Fprint(writer, render3dRect(targetShape))
} else {
if !targetShape.DoubleBorder {
if targetShape.Multiple {
- fmt.Fprintf(writer, ``,
- targetShape.Pos.X+10, targetShape.Pos.Y-10, targetShape.Width, targetShape.Height, style)
+ fmt.Fprintf(writer, ``,
+ targetShape.Pos.X+10, targetShape.Pos.Y-10, targetShape.Width, targetShape.Height, style, rx)
}
if sketchRunner != nil {
out, err := d2sketch.Rect(sketchRunner, targetShape)
@@ -817,19 +821,15 @@ func drawShape(writer io.Writer, targetShape d2target.Shape, sketchRunner *d2ske
}
fmt.Fprint(writer, out)
} else {
- rx := ""
- if targetShape.BorderRadius != 0 {
- rx = fmt.Sprintf(` rx="%d"`, targetShape.BorderRadius)
- }
fmt.Fprintf(writer, ``,
targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height, style, rx)
}
} else {
if targetShape.Multiple {
- fmt.Fprintf(writer, ``,
- targetShape.Pos.X+10, targetShape.Pos.Y-10, targetShape.Width, targetShape.Height, style)
- fmt.Fprintf(writer, ``,
- targetShape.Pos.X+10+d2target.INNER_BORDER_OFFSET, targetShape.Pos.Y-10+d2target.INNER_BORDER_OFFSET, targetShape.Width-2*d2target.INNER_BORDER_OFFSET, targetShape.Height-2*d2target.INNER_BORDER_OFFSET, style)
+ fmt.Fprintf(writer, ``,
+ targetShape.Pos.X+10, targetShape.Pos.Y-10, targetShape.Width, targetShape.Height, style, rx)
+ fmt.Fprintf(writer, ``,
+ targetShape.Pos.X+10+d2target.INNER_BORDER_OFFSET, targetShape.Pos.Y-10+d2target.INNER_BORDER_OFFSET, targetShape.Width-2*d2target.INNER_BORDER_OFFSET, targetShape.Height-2*d2target.INNER_BORDER_OFFSET, style, rx)
}
if sketchRunner != nil {
out, err := d2sketch.DoubleRect(sketchRunner, targetShape)
@@ -838,10 +838,10 @@ func drawShape(writer io.Writer, targetShape d2target.Shape, sketchRunner *d2ske
}
fmt.Fprint(writer, out)
} else {
- fmt.Fprintf(writer, ``,
- targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height, style)
- fmt.Fprintf(writer, ``,
- targetShape.Pos.X+d2target.INNER_BORDER_OFFSET, targetShape.Pos.Y+d2target.INNER_BORDER_OFFSET, targetShape.Width-2*d2target.INNER_BORDER_OFFSET, targetShape.Height-2*d2target.INNER_BORDER_OFFSET, style)
+ fmt.Fprintf(writer, ``,
+ targetShape.Pos.X, targetShape.Pos.Y, targetShape.Width, targetShape.Height, style, rx)
+ fmt.Fprintf(writer, ``,
+ targetShape.Pos.X+d2target.INNER_BORDER_OFFSET, targetShape.Pos.Y+d2target.INNER_BORDER_OFFSET, targetShape.Width-2*d2target.INNER_BORDER_OFFSET, targetShape.Height-2*d2target.INNER_BORDER_OFFSET, style, rx)
}
}
}
diff --git a/d2target/d2target.go b/d2target/d2target.go
index a9647f8e8..e5cf20cdb 100644
--- a/d2target/d2target.go
+++ b/d2target/d2target.go
@@ -199,9 +199,6 @@ func (s Shape) CSSStyle() string {
dashSize, gapSize := svg.GetStrokeDashAttributes(float64(s.StrokeWidth), s.StrokeDash)
out += fmt.Sprintf(`stroke-dasharray:%f,%f;`, dashSize, gapSize)
}
- if s.BorderRadius != 0 {
- out += fmt.Sprintf(`rx:%d;`, s.BorderRadius)
- }
return out
}
diff --git a/e2etests/testdata/stable/arrowhead_adjustment/dagre/sketch.exp.svg b/e2etests/testdata/stable/arrowhead_adjustment/dagre/sketch.exp.svg
index de2730b09..a1676a6a8 100644
--- a/e2etests/testdata/stable/arrowhead_adjustment/dagre/sketch.exp.svg
+++ b/e2etests/testdata/stable/arrowhead_adjustment/dagre/sketch.exp.svg
@@ -39,7 +39,7 @@ width="380" height="824" viewBox="-140 -108 380 824">