Added custom text color for gauge when the text is highlighted (i.e. the
gauge bar is over the text).
This commit is contained in:
parent
4e7911d1f3
commit
c8d326317b
@ -56,7 +56,18 @@ func main() {
|
||||
g3.Label = "{{percent}}% (100MBs free)"
|
||||
g3.LabelAlign = termui.AlignRight
|
||||
|
||||
termui.Render(g0, g1, g2, g3)
|
||||
g4 := termui.NewGauge()
|
||||
g4.Percent = 50
|
||||
g4.Width = 50
|
||||
g4.Height = 3
|
||||
g4.Y = 14
|
||||
g4.Border.Label = "Gauge"
|
||||
g4.Label = "Gauge with custom highlighted label"
|
||||
g4.PercentColor = termui.ColorYellow
|
||||
g4.BarColor = termui.ColorGreen
|
||||
g4.PercentColorHighlighted = termui.ColorBlack
|
||||
|
||||
termui.Render(g0, g1, g2, g3, g4)
|
||||
|
||||
<-termui.EventCh()
|
||||
}
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 50 KiB |
27
gauge.go
27
gauge.go
@ -31,23 +31,27 @@ const (
|
||||
AlignRight
|
||||
)
|
||||
|
||||
const uint16max = ^uint16(0)
|
||||
|
||||
type Gauge struct {
|
||||
Block
|
||||
Percent int
|
||||
BarColor Attribute
|
||||
PercentColor Attribute
|
||||
Label string
|
||||
LabelAlign Align
|
||||
Percent int
|
||||
BarColor Attribute
|
||||
PercentColor Attribute
|
||||
PercentColorHighlighted Attribute
|
||||
Label string
|
||||
LabelAlign Align
|
||||
}
|
||||
|
||||
// NewGauge return a new gauge with current theme.
|
||||
func NewGauge() *Gauge {
|
||||
g := &Gauge{
|
||||
Block: *NewBlock(),
|
||||
PercentColor: theme.GaugePercent,
|
||||
BarColor: theme.GaugeBar,
|
||||
Label: "{{percent}}%",
|
||||
LabelAlign: AlignCenter,
|
||||
Block: *NewBlock(),
|
||||
PercentColor: theme.GaugePercent,
|
||||
BarColor: theme.GaugeBar,
|
||||
Label: "{{percent}}%",
|
||||
LabelAlign: AlignCenter,
|
||||
PercentColorHighlighted: Attribute(uint16max),
|
||||
}
|
||||
|
||||
g.Width = 12
|
||||
@ -103,6 +107,9 @@ func (g *Gauge) Buffer() []Point {
|
||||
p.Bg |= AttrReverse
|
||||
}
|
||||
|
||||
if g.PercentColorHighlighted != Attribute(uint16max) {
|
||||
p.Fg = g.PercentColorHighlighted
|
||||
}
|
||||
} else {
|
||||
p.Bg = g.Block.BgColor
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user