fix: respect user defined legend style paddings
Prior to this commit the paddings passed within the style struct for the different legend objects were ignored. This commit fixes that behavior.
This commit is contained in:
parent
901d2bb313
commit
1288c8d48d
1 changed files with 27 additions and 27 deletions
54
legend.go
54
legend.go
|
@ -13,6 +13,12 @@ func Legend(c *Chart, userDefaults ...Style) Renderable {
|
||||||
FontSize: 8.0,
|
FontSize: 8.0,
|
||||||
StrokeColor: DefaultAxisColor,
|
StrokeColor: DefaultAxisColor,
|
||||||
StrokeWidth: DefaultAxisLineWidth,
|
StrokeWidth: DefaultAxisLineWidth,
|
||||||
|
Padding: Box{
|
||||||
|
Top: 5,
|
||||||
|
Left: 5,
|
||||||
|
Right: 5,
|
||||||
|
Bottom: 5,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
var legendStyle Style
|
var legendStyle Style
|
||||||
|
@ -23,12 +29,6 @@ func Legend(c *Chart, userDefaults ...Style) Renderable {
|
||||||
}
|
}
|
||||||
|
|
||||||
// DEFAULTS
|
// DEFAULTS
|
||||||
legendPadding := Box{
|
|
||||||
Top: 5,
|
|
||||||
Left: 5,
|
|
||||||
Right: 5,
|
|
||||||
Bottom: 5,
|
|
||||||
}
|
|
||||||
lineTextGap := 5
|
lineTextGap := 5
|
||||||
lineLengthMinimum := 25
|
lineLengthMinimum := 25
|
||||||
|
|
||||||
|
@ -50,10 +50,10 @@ func Legend(c *Chart, userDefaults ...Style) Renderable {
|
||||||
}
|
}
|
||||||
|
|
||||||
legendContent := Box{
|
legendContent := Box{
|
||||||
Top: legend.Top + legendPadding.Top,
|
Top: legend.Top + legendStyle.Padding.Top,
|
||||||
Left: legend.Left + legendPadding.Left,
|
Left: legend.Left + legendStyle.Padding.Left,
|
||||||
Right: legend.Left + legendPadding.Left,
|
Right: legend.Left + legendStyle.Padding.Left,
|
||||||
Bottom: legend.Top + legendPadding.Top,
|
Bottom: legend.Top + legendStyle.Padding.Top,
|
||||||
}
|
}
|
||||||
|
|
||||||
legendStyle.GetTextOptions().WriteToRenderer(r)
|
legendStyle.GetTextOptions().WriteToRenderer(r)
|
||||||
|
@ -74,8 +74,8 @@ func Legend(c *Chart, userDefaults ...Style) Renderable {
|
||||||
}
|
}
|
||||||
|
|
||||||
legend = legend.Grow(legendContent)
|
legend = legend.Grow(legendContent)
|
||||||
legend.Right = legendContent.Right + legendPadding.Right
|
legend.Right = legendContent.Right + legendStyle.Padding.Right
|
||||||
legend.Bottom = legendContent.Bottom + legendPadding.Bottom
|
legend.Bottom = legendContent.Bottom + legendStyle.Padding.Bottom
|
||||||
|
|
||||||
Draw.Box(r, legend, legendStyle)
|
Draw.Box(r, legend, legendStyle)
|
||||||
|
|
||||||
|
@ -101,7 +101,7 @@ func Legend(c *Chart, userDefaults ...Style) Renderable {
|
||||||
|
|
||||||
lx := tx + tb.Width() + lineTextGap
|
lx := tx + tb.Width() + lineTextGap
|
||||||
ly := ty - th2
|
ly := ty - th2
|
||||||
lx2 := legendContent.Right - legendPadding.Right
|
lx2 := legendContent.Right - legendStyle.Padding.Right
|
||||||
|
|
||||||
r.SetStrokeColor(lines[x].GetStrokeColor())
|
r.SetStrokeColor(lines[x].GetStrokeColor())
|
||||||
r.SetStrokeWidth(lines[x].GetStrokeWidth())
|
r.SetStrokeWidth(lines[x].GetStrokeWidth())
|
||||||
|
@ -298,7 +298,7 @@ func LegendThin(c *Chart, userDefaults ...Style) Renderable {
|
||||||
Bottom: legendYMargin + legendBoxHeight,
|
Bottom: legendYMargin + legendBoxHeight,
|
||||||
}
|
}
|
||||||
|
|
||||||
Draw.Box(r, legendBox, legendDefaults)
|
Draw.Box(r, legendBox, legendStyle)
|
||||||
|
|
||||||
r.SetFont(legendStyle.GetFont())
|
r.SetFont(legendStyle.GetFont())
|
||||||
r.SetFontColor(legendStyle.GetFontColor())
|
r.SetFontColor(legendStyle.GetFontColor())
|
||||||
|
@ -344,6 +344,12 @@ func LegendLeft(c *Chart, userDefaults ...Style) Renderable {
|
||||||
FontSize: 8.0,
|
FontSize: 8.0,
|
||||||
StrokeColor: DefaultAxisColor,
|
StrokeColor: DefaultAxisColor,
|
||||||
StrokeWidth: DefaultAxisLineWidth,
|
StrokeWidth: DefaultAxisLineWidth,
|
||||||
|
Padding: Box{
|
||||||
|
Top: 5,
|
||||||
|
Left: 5,
|
||||||
|
Right: 5,
|
||||||
|
Bottom: 5,
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
var legendStyle Style
|
var legendStyle Style
|
||||||
|
@ -354,12 +360,6 @@ func LegendLeft(c *Chart, userDefaults ...Style) Renderable {
|
||||||
}
|
}
|
||||||
|
|
||||||
// DEFAULTS
|
// DEFAULTS
|
||||||
legendPadding := Box{
|
|
||||||
Top: 5,
|
|
||||||
Left: 5,
|
|
||||||
Right: 5,
|
|
||||||
Bottom: 5,
|
|
||||||
}
|
|
||||||
lineTextGap := 5
|
lineTextGap := 5
|
||||||
lineLengthMinimum := 25
|
lineLengthMinimum := 25
|
||||||
|
|
||||||
|
@ -381,10 +381,10 @@ func LegendLeft(c *Chart, userDefaults ...Style) Renderable {
|
||||||
}
|
}
|
||||||
|
|
||||||
legendContent := Box{
|
legendContent := Box{
|
||||||
Top: legend.Top + legendPadding.Top,
|
Top: legend.Top + legendStyle.Padding.Top,
|
||||||
Left: legend.Left + legendPadding.Left,
|
Left: legend.Left + legendStyle.Padding.Left,
|
||||||
Right: legend.Left + legendPadding.Left,
|
Right: legend.Left + legendStyle.Padding.Left,
|
||||||
Bottom: legend.Top + legendPadding.Top,
|
Bottom: legend.Top + legendStyle.Padding.Top,
|
||||||
}
|
}
|
||||||
|
|
||||||
legendStyle.GetTextOptions().WriteToRenderer(r)
|
legendStyle.GetTextOptions().WriteToRenderer(r)
|
||||||
|
@ -405,8 +405,8 @@ func LegendLeft(c *Chart, userDefaults ...Style) Renderable {
|
||||||
}
|
}
|
||||||
|
|
||||||
legend = legend.Grow(legendContent)
|
legend = legend.Grow(legendContent)
|
||||||
legend.Right = legendContent.Right + legendPadding.Right
|
legend.Right = legendContent.Right + legendStyle.Padding.Right
|
||||||
legend.Bottom = legendContent.Bottom + legendPadding.Bottom
|
legend.Bottom = legendContent.Bottom + legendStyle.Padding.Bottom
|
||||||
|
|
||||||
Draw.Box(r, legend, legendStyle)
|
Draw.Box(r, legend, legendStyle)
|
||||||
|
|
||||||
|
@ -432,7 +432,7 @@ func LegendLeft(c *Chart, userDefaults ...Style) Renderable {
|
||||||
|
|
||||||
lx := tx + tb.Width() + lineTextGap
|
lx := tx + tb.Width() + lineTextGap
|
||||||
ly := ty - th2
|
ly := ty - th2
|
||||||
lx2 := legendContent.Right - legendPadding.Right
|
lx2 := legendContent.Right - legendStyle.Padding.Right
|
||||||
|
|
||||||
r.SetStrokeColor(lines[x].GetStrokeColor())
|
r.SetStrokeColor(lines[x].GetStrokeColor())
|
||||||
r.SetStrokeWidth(lines[x].GetStrokeWidth())
|
r.SetStrokeWidth(lines[x].GetStrokeWidth())
|
||||||
|
|
Loading…
Reference in a new issue