cleanup
This commit is contained in:
parent
157fa507b1
commit
f4dcaa481d
1 changed files with 7 additions and 13 deletions
|
|
@ -777,16 +777,15 @@ func (obj *Object) GetLabelSize(mtexts []*d2target.MText, ruler *textmeasure.Rul
|
||||||
return dims, nil
|
return dims, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (obj *Object) GetDefaultSize(mtexts []*d2target.MText, ruler *textmeasure.Ruler, fontFamily *d2fonts.FontFamily, labelDims d2target.TextDimensions) (*d2target.TextDimensions, error) {
|
func (obj *Object) GetDefaultSize(mtexts []*d2target.MText, ruler *textmeasure.Ruler, fontFamily *d2fonts.FontFamily, labelDims d2target.TextDimensions, withLabelPadding bool) (*d2target.TextDimensions, error) {
|
||||||
dims := d2target.TextDimensions{}
|
dims := d2target.TextDimensions{}
|
||||||
|
|
||||||
dslShape := strings.ToLower(obj.Attributes.Shape.Value)
|
if withLabelPadding {
|
||||||
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
|
||||||
}
|
}
|
||||||
|
|
||||||
switch dslShape {
|
switch strings.ToLower(obj.Attributes.Shape.Value) {
|
||||||
default:
|
default:
|
||||||
return d2target.NewTextDimensions(labelDims.Width, labelDims.Height), nil
|
return d2target.NewTextDimensions(labelDims.Width, labelDims.Height), nil
|
||||||
|
|
||||||
|
|
@ -1216,7 +1215,10 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
defaultDims, err := obj.GetDefaultSize(mtexts, ruler, fontFamily, *labelDims)
|
// if there is a desired width or height, fit to content box without inner label padding for smallest minimum size
|
||||||
|
withInnerLabelPadding := desiredWidth == 0 && desiredHeight == 0 &&
|
||||||
|
dslShape != d2target.ShapeText && obj.Attributes.Label.Value != ""
|
||||||
|
defaultDims, err := obj.GetDefaultSize(mtexts, ruler, fontFamily, *labelDims, withInnerLabelPadding)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
@ -1234,14 +1236,6 @@ func (g *Graph) SetDimensions(mtexts []*d2target.MText, ruler *textmeasure.Ruler
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
if desiredWidth != 0 || desiredHeight != 0 {
|
|
||||||
// if there is a desired width or height, fit to content box without inner label padding for smallest minimum size
|
|
||||||
if dslShape != d2target.ShapeText && obj.Attributes.Label.Value != "" {
|
|
||||||
defaultDims.Width -= INNER_LABEL_PADDING
|
|
||||||
defaultDims.Height -= INNER_LABEL_PADDING
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
contentBox := geo.NewBox(geo.NewPoint(0, 0), float64(defaultDims.Width), float64(defaultDims.Height))
|
contentBox := geo.NewBox(geo.NewPoint(0, 0), float64(defaultDims.Width), float64(defaultDims.Height))
|
||||||
shapeType := d2target.DSL_SHAPE_TO_SHAPE_TYPE[dslShape]
|
shapeType := d2target.DSL_SHAPE_TO_SHAPE_TYPE[dslShape]
|
||||||
s := shape.NewShape(shapeType, contentBox)
|
s := shape.NewShape(shapeType, contentBox)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue