|
@@ -1,102 +0,0 @@
|
|
|
-// package cell -- ячейка для отрисовки на экране
|
|
|
|
|
-package cell
|
|
|
|
|
-
|
|
|
|
|
-import (
|
|
|
|
|
- "github.com/gdamore/tcell"
|
|
|
|
|
- "p78git.ddns.net/svi/libtui/alias"
|
|
|
|
|
- "p78git.ddns.net/svi/libtui/pos"
|
|
|
|
|
- "p78git.ddns.net/svi/libtui/types"
|
|
|
|
|
-)
|
|
|
|
|
-
|
|
|
|
|
-// Cell -- ячейка для отрисовки на экране
|
|
|
|
|
-type Cell struct {
|
|
|
|
|
- pos types.IPos
|
|
|
|
|
- lit alias.Lit
|
|
|
|
|
- style alias.Style
|
|
|
|
|
- bgColor alias.Color
|
|
|
|
|
- fgColor alias.Color
|
|
|
|
|
- isBold bool
|
|
|
|
|
- isBlink bool
|
|
|
|
|
- isReverse bool
|
|
|
|
|
- isUnderline bool
|
|
|
|
|
- isDim bool
|
|
|
|
|
- isItalic bool
|
|
|
|
|
- isNormal bool
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// NewCell -- возвращает новую знакоместо экрана
|
|
|
|
|
-func NewCell() *Cell {
|
|
|
|
|
- sf := &Cell{
|
|
|
|
|
- pos: pos.NewPos(),
|
|
|
|
|
- }
|
|
|
|
|
- return sf
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// Pos -- возвращает позицию ячейки на экране
|
|
|
|
|
-func (sf *Cell) Pos() (alias.PosX, alias.PosY) {
|
|
|
|
|
- return sf.pos.Get()
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// SetPos -- устанавливает позицию литеры на экране
|
|
|
|
|
-func (sf *Cell) SetPos(posX alias.PosX, posY alias.PosY) {
|
|
|
|
|
- sf.pos.Set(posX, posY)
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// Lit -- возвращает хранимую литеру
|
|
|
|
|
-func (sf *Cell) Lit() alias.Lit {
|
|
|
|
|
- return sf.lit
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// SetLit -- устанавливае тлитеру для отображения
|
|
|
|
|
-func (sf *Cell) SetLit(lit alias.Lit) {
|
|
|
|
|
- sf.lit = lit
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// Style -- возвращает стиль ячейки
|
|
|
|
|
-func (sf *Cell) Style() alias.Style {
|
|
|
|
|
- return sf.style
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// BgColorSet -- устанавливает фон ячейки
|
|
|
|
|
-func (sf *Cell) BgColorSet(bgColor alias.Color) {
|
|
|
|
|
- sf.bgColor = bgColor
|
|
|
|
|
- st := tcell.Style(sf.style)
|
|
|
|
|
- st = st.Background(tcell.Color(bgColor))
|
|
|
|
|
- sf.style = alias.Style(st)
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// BgColor -- возвращает цвет фона ячейки
|
|
|
|
|
-func (sf *Cell) BgColor() alias.Color {
|
|
|
|
|
- return sf.bgColor
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// SetStyle -- устанавливает стиль ячейки
|
|
|
|
|
-func (sf *Cell) SetStyle(st alias.Style) {
|
|
|
|
|
- fg, bg, attr := tcell.Style(st).Decompose()
|
|
|
|
|
- sf.bgColor = alias.Color(bg)
|
|
|
|
|
- sf.fgColor = alias.Color(fg)
|
|
|
|
|
- sf.isBold = attr&tcell.AttrBold != 0
|
|
|
|
|
- sf.isBlink = attr&tcell.AttrBlink != 0
|
|
|
|
|
- sf.isReverse = attr&tcell.AttrReverse != 0
|
|
|
|
|
- sf.isUnderline = attr&tcell.AttrUnderline != 0
|
|
|
|
|
- sf.isDim = attr&tcell.AttrDim != 0
|
|
|
|
|
- sf.isItalic = attr&tcell.AttrItalic != 0
|
|
|
|
|
- sf.isNormal = false
|
|
|
|
|
- if !(sf.isBlink || sf.isBold || sf.isReverse || sf.isUnderline || sf.isDim || sf.isItalic) {
|
|
|
|
|
- sf.isNormal = true
|
|
|
|
|
- }
|
|
|
|
|
- sf.style = st
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// FgColor -- возвращает цвет литеры
|
|
|
|
|
-func (sf *Cell) FgColor() alias.Color {
|
|
|
|
|
- return sf.fgColor
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-// FgColorSet -- устанавливает новый цвет литеры
|
|
|
|
|
-func (sf *Cell) FgColorSet(fgColor alias.Color) {
|
|
|
|
|
- sf.fgColor = fgColor
|
|
|
|
|
- st := tcell.Style(sf.style)
|
|
|
|
|
- st = st.Foreground(tcell.Color(fgColor))
|
|
|
|
|
- sf.style = alias.Style(st)
|
|
|
|
|
-}
|
|
|