Added individual cell background colors. Resolves #20

This commit is contained in:
Oliver 2018-01-14 15:11:37 +01:00
parent b423641ec2
commit 97450a0de3
1 changed files with 17 additions and 3 deletions

View File

@ -628,12 +628,14 @@ ColumnLoop:
continue
}
// Determine colors.
// Determine cell colors.
bgColor := t.backgroundColor
textColor := cell.Color
if cell.BackgroundColor != tcell.ColorDefault {
bgColor = cell.BackgroundColor
}
if cellSelected && !cell.NotSelectable {
bgColor = cell.Color
textColor = t.backgroundColor
textColor, bgColor = bgColor, textColor
}
// Draw cell background.
@ -647,6 +649,18 @@ ColumnLoop:
}
cell.x, cell.y, cell.width = x+columnX+1, y+rowY, finalWidth
// We may want continuous background colors in rows so change
// border/separator background colors, too.
if cell.BackgroundColor != tcell.ColorDefault && column > 0 {
leftCell := getCell(row, column-1)
if leftCell != nil {
if cell.BackgroundColor == leftCell.BackgroundColor {
ch, _, style, _ := screen.GetContent(x+columnX, y+rowY)
screen.SetContent(x+columnX, y+rowY, ch, nil, style.Background(bgColor))
}
}
}
// Draw text.
text := cell.Text
textWidth := runewidth.StringWidth(text)