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() }