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に記載があります。