panel

package
v0.0.0-...-9f97978 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2013 License: MIT Imports: 2 Imported by: 1

README

termbox/panel

Helper library for termbox-go to split screen into panels

Documentation at http://godoc.org/github.com/errnoh/termbox/panel

NOTES

API is not frozen! The library wasn't finished before I had to move on to another project and there are some design choices that I dislike. Borders will probably be moved to separate library at some point and there are most likely some bugs.

Documentation

Overview

Helper library for termbox-go to split screen into panels

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DrawAll

func DrawAll(p ...Panel)

func DrawBorder

func DrawBorder(p BorderedPanel)

Draws borders _outside_ the

func Write

func Write(panel Panel, b []byte) (n int, err error)

Types

type BorderedPanel

type BorderedPanel interface {
	Bounds() image.Rectangle
	Border() termbox.Cell
}

type Buffered

type Buffered struct {
	Unbuffered
	// contains filtered or unexported fields
}

func MainScreen

func MainScreen() *Buffered

Returns buffered struct of the main screen. NOTE: Resize creates new buffer?

func NewBuffered

func NewBuffered(r image.Rectangle, border termbox.Cell) *Buffered

func (*Buffered) At

func (panel *Buffered) At(x, y int) termbox.Cell

func (*Buffered) Buffer

func (panel *Buffered) Buffer() []termbox.Cell

func (*Buffered) Clear

func (panel *Buffered) Clear() *Buffered

func (*Buffered) Draw

func (panel *Buffered) Draw()

func (*Buffered) SetCell

func (panel *Buffered) SetCell(x, y int, ch rune, fg, bg termbox.Attribute)

func (*Buffered) Write

func (panel *Buffered) Write(b []byte) (n int, err error)

type Drawer

type Drawer interface {
	Draw()
}

type Panel

type Panel interface {
	Bounds() image.Rectangle
	At(x, y int) termbox.Cell
	SetCell(x, y int, ch rune, fg, bg termbox.Attribute)
	Move(deltax, deltay int)
	Border() termbox.Cell
	SetBorder(termbox.Cell)
}

type Unbuffered

type Unbuffered struct {
	// contains filtered or unexported fields
}

Panel that writes directly to termbox buffer. *Unbuffered methods can be used directly with *Buffered as well.

func NewUnbuffered

func NewUnbuffered(r image.Rectangle, border termbox.Cell) *Unbuffered

func (*Unbuffered) Area

func (panel *Unbuffered) Area(r image.Rectangle) *Unbuffered

Returns unbuffered panel that contains area of 'panel' r specifies. NOTE: At current state *Unbuffered always writes to main termbox buffer.

func (*Unbuffered) At

func (panel *Unbuffered) At(x, y int) termbox.Cell

func (*Unbuffered) Border

func (panel *Unbuffered) Border() termbox.Cell

func (*Unbuffered) Bounds

func (panel *Unbuffered) Bounds() image.Rectangle

func (*Unbuffered) Move

func (panel *Unbuffered) Move(deltax, deltay int)

func (*Unbuffered) SetBorder

func (panel *Unbuffered) SetBorder(style termbox.Cell)

func (*Unbuffered) SetCell

func (panel *Unbuffered) SetCell(x, y int, ch rune, fg, bg termbox.Attribute)

func (*Unbuffered) SetCursor

func (panel *Unbuffered) SetCursor(x, y int)

func (*Unbuffered) Write

func (panel *Unbuffered) Write(b []byte) (n int, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL