tweaks.
This commit is contained in:
parent
cbc0002d2a
commit
a008ebe30e
5 changed files with 27 additions and 10 deletions
2
draw.go
2
draw.go
|
@ -245,7 +245,7 @@ func (d draw) TextWithin(r Renderer, text string, box Box, style Style) {
|
||||||
lineBox := r.MeasureText(line)
|
lineBox := r.MeasureText(line)
|
||||||
switch style.GetTextHorizontalAlign() {
|
switch style.GetTextHorizontalAlign() {
|
||||||
case TextHorizontalAlignCenter:
|
case TextHorizontalAlignCenter:
|
||||||
tx = box.Left + ((lineBox.Width() - box.Left) >> 1)
|
tx = box.Left + ((box.Width() - lineBox.Width()) >> 1)
|
||||||
case TextHorizontalAlignRight:
|
case TextHorizontalAlignRight:
|
||||||
tx = box.Right - lineBox.Width()
|
tx = box.Right - lineBox.Width()
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -12,8 +12,7 @@ func drawChart(res http.ResponseWriter, req *http.Request) {
|
||||||
pie := chart.PieChart{
|
pie := chart.PieChart{
|
||||||
Title: "test\nchart",
|
Title: "test\nchart",
|
||||||
TitleStyle: chart.Style{
|
TitleStyle: chart.Style{
|
||||||
Show: true,
|
Show: true,
|
||||||
FontSize: 32,
|
|
||||||
},
|
},
|
||||||
Width: 512,
|
Width: 512,
|
||||||
Height: 512,
|
Height: 512,
|
||||||
|
|
20
pie_chart.go
20
pie_chart.go
|
@ -242,15 +242,29 @@ func (pc PieChart) styleDefaultsElements() Style {
|
||||||
|
|
||||||
func (pc PieChart) styleDefaultsTitle() Style {
|
func (pc PieChart) styleDefaultsTitle() Style {
|
||||||
return pc.TitleStyle.InheritFrom(Style{
|
return pc.TitleStyle.InheritFrom(Style{
|
||||||
FontColor: DefaultTextColor,
|
FontColor: ColorWhite,
|
||||||
Font: pc.GetFont(),
|
Font: pc.GetFont(),
|
||||||
FontSize: 24.0,
|
FontSize: pc.getTitleFontSize(),
|
||||||
TextHorizontalAlign: TextHorizontalAlignCenter,
|
TextHorizontalAlign: TextHorizontalAlignCenter,
|
||||||
TextVerticalAlign: TextVerticalAlignTop,
|
TextVerticalAlign: TextVerticalAlignTop,
|
||||||
TextWrap: TextWrapNone,
|
TextWrap: TextWrapWord,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (pc PieChart) getTitleFontSize() float64 {
|
||||||
|
effectiveDimension := Math.MinInt(pc.GetWidth(), pc.GetHeight())
|
||||||
|
if effectiveDimension >= 2048 {
|
||||||
|
return 48
|
||||||
|
} else if effectiveDimension >= 1024 {
|
||||||
|
return 24
|
||||||
|
} else if effectiveDimension >= 512 {
|
||||||
|
return 18
|
||||||
|
} else if effectiveDimension >= 256 {
|
||||||
|
return 12
|
||||||
|
}
|
||||||
|
return 10
|
||||||
|
}
|
||||||
|
|
||||||
// Box returns the chart bounds as a box.
|
// Box returns the chart bounds as a box.
|
||||||
func (pc PieChart) Box() Box {
|
func (pc PieChart) Box() Box {
|
||||||
dpr := pc.Background.Padding.GetRight(DefaultBackgroundPadding.Right)
|
dpr := pc.Background.Padding.GetRight(DefaultBackgroundPadding.Right)
|
||||||
|
|
6
style.go
6
style.go
|
@ -196,7 +196,7 @@ func (s Style) GetTextHorizontalAlign(defaults ...textHorizontalAlign) textHoriz
|
||||||
if len(defaults) > 0 {
|
if len(defaults) > 0 {
|
||||||
return defaults[0]
|
return defaults[0]
|
||||||
}
|
}
|
||||||
return TextHorizontalAlignLeft
|
return TextHorizontalAlignUnset
|
||||||
}
|
}
|
||||||
return s.TextHorizontalAlign
|
return s.TextHorizontalAlign
|
||||||
}
|
}
|
||||||
|
@ -207,7 +207,7 @@ func (s Style) GetTextVerticalAlign(defaults ...textVerticalAlign) textVerticalA
|
||||||
if len(defaults) > 0 {
|
if len(defaults) > 0 {
|
||||||
return defaults[0]
|
return defaults[0]
|
||||||
}
|
}
|
||||||
return TextVerticalAlignBaseline
|
return TextVerticalAlignUnset
|
||||||
}
|
}
|
||||||
return s.TextVerticalAlign
|
return s.TextVerticalAlign
|
||||||
}
|
}
|
||||||
|
@ -218,7 +218,7 @@ func (s Style) GetTextWrap(defaults ...textWrap) textWrap {
|
||||||
if len(defaults) > 0 {
|
if len(defaults) > 0 {
|
||||||
return defaults[0]
|
return defaults[0]
|
||||||
}
|
}
|
||||||
return TextWrapWord
|
return TextWrapUnset
|
||||||
}
|
}
|
||||||
return s.TextWrap
|
return s.TextWrap
|
||||||
}
|
}
|
||||||
|
|
6
text.go
6
text.go
|
@ -1,6 +1,9 @@
|
||||||
package chart
|
package chart
|
||||||
|
|
||||||
import "strings"
|
import (
|
||||||
|
"fmt"
|
||||||
|
"strings"
|
||||||
|
)
|
||||||
|
|
||||||
// TextHorizontalAlign is an enum for the horizontal alignment options.
|
// TextHorizontalAlign is an enum for the horizontal alignment options.
|
||||||
type textHorizontalAlign int
|
type textHorizontalAlign int
|
||||||
|
@ -71,6 +74,7 @@ func (t text) WrapFit(r Renderer, value string, width int, style Style) []string
|
||||||
case TextWrapWord:
|
case TextWrapWord:
|
||||||
return t.WrapFitWord(r, value, width, style)
|
return t.WrapFitWord(r, value, width, style)
|
||||||
}
|
}
|
||||||
|
fmt.Printf("text wrap: %#v\n", style.TextWrap)
|
||||||
return []string{value}
|
return []string{value}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue