// Flush updates the gui, re-drawing frames and buffers. func (g *Gui) Flush() error { if g.layout == nil { return errors.New("Null layout") } termbox.Clear(termbox.Attribute(g.FgColor), termbox.Attribute(g.BgColor)) g.maxX, g.maxY = termbox.Size() if err := g.layout(g); err != nil { return err } for _, v := range g.views { if err := g.drawFrame(v); err != nil { return err } if err := g.draw(v); err != nil { return err } } if err := g.drawIntersections(); err != nil { return err } termbox.Flush() return nil }
// Init initializes the library. This function must be called before // any other functions. func (g *Gui) Init() error { if err := termbox.Init(); err != nil { return err } g.events = make(chan termbox.Event, 20) g.maxX, g.maxY = termbox.Size() g.BgColor = ColorBlack g.FgColor = ColorWhite return nil }