From a2ccb6a3dc093b32eb601aa41c8ae700b7e99e6b Mon Sep 17 00:00:00 2001 From: Gavin Nishizawa Date: Fri, 2 Jun 2023 15:48:43 -0700 Subject: [PATCH] also update ShiftDescendants --- d2graph/layout.go | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/d2graph/layout.go b/d2graph/layout.go index 25b66795b..1bec09adc 100644 --- a/d2graph/layout.go +++ b/d2graph/layout.go @@ -127,11 +127,23 @@ func (obj *Object) ShiftDescendants(dx, dy float64) { p.Y += dy } } else if isSrc { - e.Route[0].X += dx - e.Route[0].Y += dy + if dx == 0 { + e.ShiftStart(dy, false) + } else if dy == 0 { + e.ShiftStart(dx, true) + } else { + e.Route[0].X += dx + e.Route[0].Y += dy + } } else if isDst { - e.Route[len(e.Route)-1].X += dx - e.Route[len(e.Route)-1].Y += dy + if dx == 0 { + e.ShiftEnd(dy, false) + } else if dy == 0 { + e.ShiftEnd(dx, true) + } else { + e.Route[len(e.Route)-1].X += dx + e.Route[len(e.Route)-1].Y += dy + } } if isSrc || isDst {