35 lines
592 B
Go
35 lines
592 B
Go
|
package tins2020
|
||
|
|
||
|
import (
|
||
|
"opslag.de/schobers/geom"
|
||
|
"opslag.de/schobers/zntg"
|
||
|
"opslag.de/schobers/zntg/ui"
|
||
|
)
|
||
|
|
||
|
type DialDigit struct {
|
||
|
ui.ControlBase
|
||
|
|
||
|
Value string
|
||
|
|
||
|
highlight int
|
||
|
}
|
||
|
|
||
|
func (d *DialDigit) Blink() {
|
||
|
d.highlight = 4
|
||
|
}
|
||
|
|
||
|
func (d *DialDigit) Render(ctx ui.Context) {
|
||
|
color := zntg.MustHexColor(`#FFFFFF`)
|
||
|
if d.highlight > 0 {
|
||
|
color = zntg.MustHexColor(`#15569F`)
|
||
|
}
|
||
|
bounds := d.Bounds()
|
||
|
ctx.Fonts().TextAlign("title", geom.PtF32(bounds.Center().X, bounds.Min.Y), color, d.Value, ui.AlignCenter)
|
||
|
}
|
||
|
|
||
|
func (d *DialDigit) Tick() {
|
||
|
if d.highlight > 0 {
|
||
|
d.highlight--
|
||
|
}
|
||
|
}
|