예제 #1
0
파일: gui.go 프로젝트: apcera/gocui
// 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

}
예제 #2
0
파일: gui.go 프로젝트: apcera/gocui
// 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
}