Files
bitcoin-ticker-pi/display/display.go
T
2023-12-21 10:06:48 -05:00

72 lines
1.2 KiB
Go

package display
import (
rgbmatrix "git.dvdt.dev/david/bitcoin-ticker-pi/go-rpi-rgb-led-matrix"
)
type display struct {
canvas *rgbmatrix.Canvas
tl, tr, c, bl, br *Slot
}
func New(canvas *rgbmatrix.Canvas, tl, tr, c, bl, br *Slot) *display {
return &display{
canvas: canvas,
tl: tl,
tr: tr,
c: c,
bl: bl,
br: br,
}
}
func (d *display) UpdateTopLeft(text []Segment) error {
err := d.tl.Update(text)
if err != nil {
return err
}
d.tl.Draw(d.canvas)
return nil
}
func (d *display) UpdateTopRight(text []Segment) error {
err := d.tr.Update(text)
if err != nil {
return err
}
d.tr.Draw(d.canvas)
return nil
}
func (d *display) UpdateCenter(text []Segment) error {
err := d.c.Update(text)
if err != nil {
return err
}
d.c.Draw(d.canvas)
return nil
}
func (d *display) UpdateBottomLeft(text []Segment) error {
err := d.bl.Update(text)
if err != nil {
return err
}
d.bl.Draw(d.canvas)
return nil
}
func (d *display) UpdateBottomRight(text []Segment) error {
err := d.br.Update(text)
if err != nil {
return err
}
d.bl.Draw(d.canvas)
return nil
}
func (d *display) Render() error {
return d.canvas.Render()
}