summaryrefslogtreecommitdiffstats
path: root/Panel.c
diff options
context:
space:
mode:
Diffstat (limited to 'Panel.c')
-rw-r--r--Panel.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/Panel.c b/Panel.c
index 870f89cc..fd9de2b1 100644
--- a/Panel.c
+++ b/Panel.c
@@ -273,16 +273,18 @@ void Panel_draw(Panel* this, bool focus) {
Object_display(itemObj, &item);
int itemLen = RichString_sizeVal(item);
int amt = MINIMUM(itemLen - scrollH, this->w);
- bool selected = (i == this->selected);
- if (selected) {
- attrset(selectionColor);
- RichString_setAttr(&item, selectionColor);
+ if (i == this->selected) {
+ item.highlightAttr = selectionColor;
+ }
+ if (item.highlightAttr) {
+ attrset(item.highlightAttr);
+ RichString_setAttr(&item, item.highlightAttr);
this->selectedLen = itemLen;
}
mvhline(y + line, x, ' ', this->w);
if (amt > 0)
RichString_printoffnVal(item, y + line, x, scrollH, amt);
- if (selected)
+ if (item.highlightAttr)
attrset(CRT_colors[RESET_COLOR]);
RichString_end(item);
line++;