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.Label = text.Text
shape.LabelWidth = text.Dimensions.Width shape.LabelWidth = text.Dimensions.Width
shape.LabelHeight = text.Dimensions.Height shape.LabelHeight = text.Dimensions.Height
if obj.LabelPosition != nil { if obj.LabelPosition != nil {
shape.LabelPosition = *obj.LabelPosition 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 != "" { if dslShape != d2target.ShapeText && obj.Attributes.Label.Value != "" {
labelDims.Width += INNER_LABEL_PADDING labelDims.Width += INNER_LABEL_PADDING
labelDims.Height += INNER_LABEL_PADDING labelDims.Height += INNER_LABEL_PADDING
} }
obj.LabelDimensions = *labelDims
defaultDims, err := obj.GetDefaultSize(mtexts, ruler, fontFamily, *labelDims) defaultDims, err := obj.GetDefaultSize(mtexts, ruler, fontFamily, *labelDims)
if err != nil { if err != nil {
@ -1226,7 +1226,7 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
paddingX, paddingY := s.GetDefaultPadding() paddingX, paddingY := s.GetDefaultPadding()
// give shapes with icons extra padding to fit their label // give shapes with icons extra padding to fit their label
if obj.Attributes.Icon != nil { if obj.Attributes.Icon != nil {
labelHeight := float64(obj.LabelDimensions.Height) labelHeight := float64(labelDims.Height)
// Evenly pad enough to fit label above icon // Evenly pad enough to fit label above icon
paddingX += labelHeight paddingX += labelHeight
paddingY += 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, labelTL := labelPosition.GetPointOnBox(box, label.PADDING,
float64(targetShape.LabelWidth), float64(targetShape.LabelWidth),
// TODO consider further float64(targetShape.LabelHeight),
float64(targetShape.LabelHeight-d2graph.INNER_LABEL_PADDING),
) )
fontClass := "text" fontClass := "text"