don't set obj.LabelDimensions with padding

This commit is contained in:
Gavin Nishizawa 2023-02-03 13:13:10 -08:00
parent d841a3423f
commit 1567de64e1
No known key found for this signature in database
GPG key ID: AE3B177777CE55CD
3 changed files with 4 additions and 4 deletions

View file

@ -143,6 +143,7 @@ func toShape(obj *d2graph.Object, theme *d2themes.Theme) d2target.Shape {
}
shape.Label = text.Text
shape.LabelWidth = text.Dimensions.Width
shape.LabelHeight = text.Dimensions.Height
if obj.LabelPosition != nil {
shape.LabelPosition = *obj.LabelPosition

View file

@ -1208,11 +1208,11 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
}
}
obj.LabelDimensions = *labelDims
if dslShape != d2target.ShapeText && obj.Attributes.Label.Value != "" {
labelDims.Width += INNER_LABEL_PADDING
labelDims.Height += INNER_LABEL_PADDING
}
obj.LabelDimensions = *labelDims
defaultDims, err := obj.GetDefaultSize(mtexts, ruler, fontFamily, *labelDims)
if err != nil {
@ -1226,7 +1226,7 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
paddingX, paddingY := s.GetDefaultPadding()
// give shapes with icons extra padding to fit their label
if obj.Attributes.Icon != nil {
labelHeight := float64(obj.LabelDimensions.Height)
labelHeight := float64(labelDims.Height)
// Evenly pad enough to fit label above icon
paddingX += labelHeight
paddingY += labelHeight

View file

@ -897,8 +897,7 @@ func drawShape(writer io.Writer, targetShape d2target.Shape, sketchRunner *d2ske
}
labelTL := labelPosition.GetPointOnBox(box, label.PADDING,
float64(targetShape.LabelWidth),
// TODO consider further
float64(targetShape.LabelHeight-d2graph.INNER_LABEL_PADDING),
float64(targetShape.LabelHeight),
)
fontClass := "text"