package termutil import "image/color" type Cell struct { r MeasuredRune attr CellAttributes } func (cell *Cell) Attr() CellAttributes { return cell.attr } func (cell *Cell) Rune() MeasuredRune { return cell.r } func (cell *Cell) Fg() color.Color { if cell.Attr().inverse { return cell.attr.bgColour } return cell.attr.fgColour } func (cell *Cell) Bold() bool { return cell.attr.bold } func (cell *Cell) Dim() bool { return cell.attr.dim } func (cell *Cell) Italic() bool { return cell.attr.italic } func (cell *Cell) Underline() bool { return cell.attr.underline } func (cell *Cell) Strikethrough() bool { return cell.attr.strikethrough } func (cell *Cell) Bg() color.Color { if cell.Attr().inverse { return cell.attr.fgColour } return cell.attr.bgColour } func (cell *Cell) erase(bgColour color.Color) { cell.setRune(MeasuredRune{Rune: 0}) cell.attr.bgColour = bgColour } func (cell *Cell) setRune(r MeasuredRune) { cell.r = r }