
tcellで四角を描写するで出力した四角を

のように色付けしてみます。
前回作成したコードを、修正してみます。
package main
import (
"github.com/gdamore/tcell/v2"
)
func main() {
screen, err := tcell.NewScreen()
if err != nil {
panic(err)
}
if err := screen.Init(); err != nil {
panic(err)
}
defer screen.Fini()
// 文字の色(Foreground)を白にし、背景(Background)を紫にする
style := tcell.StyleDefault.Foreground(tcell.ColorWhite).Background(tcell.ColorPurple)
// ┌
screen.SetContent(0, 0, tcell.RuneULCorner, nil, style)
// └
screen.SetContent(0, 2, tcell.RuneLLCorner, nil, style)
// ─
for col := 1; col < 6; col++ {
screen.SetContent(col, 0, tcell.RuneHLine, nil, style)
}
// │
screen.SetContent(0, 1, tcell.RuneVLine, nil, style)
screen.SetContent(6, 1, tcell.RuneVLine, nil, style)
// ─
for col := 1; col < 6; col++ {
screen.SetContent(col, 2, tcell.RuneHLine, nil, style)
}
// ┐
screen.SetContent(6, 0, tcell.RuneURCorner, nil, style)
// ┘
screen.SetContent(6, 2, tcell.RuneLRCorner, nil, style)
screen.Show()
for {
ev := screen.PollEvent() // イベントを取得する
switch ev := ev.(type) {
case *tcell.EventKey:
switch ev.Key() { // 何のキーが押されたか?を調べる
case tcell.KeyEscape: // ESCキーが押されたら終了する
return
}
default:
//
}
}
}
style := tcell.StyleDefault.Foreground(tcell.ColorWhite).Background(tcell.ColorPurple)
で文字の表示に関するスタイルを定義し、
screen.SetContent(0, 0, tcell.RuneULCorner, nil, style)
SetContentの5番目の引数で、定義したスタイルを指定します。
指定できる色はtcell/color.go at main · gdamore/tcellのColorNamesを参考にします。
スタイルの定義に関してはtcell/style.go at main · gdamore/tcellに記載があります。