diff options
Diffstat (limited to 'src/text.c')
| -rw-r--r-- | src/text.c | 8 |
1 files changed, 3 insertions, 5 deletions
@@ -140,9 +140,7 @@ static inline bool try_text_run(struct term *t, const char *buf, size_t len, if (t->cursor_x != 0 && t->cursor_x != term_row(t, t->cursor_y)->len) return false; - uint32_t fg = t->inverse ? t->cur_bg : t->cur_fg; - uint32_t bg = t->inverse ? t->cur_fg : t->cur_bg; - uint32_t flags = term_flags_pad(t); + struct text_pen pen = term_text_pen(t); bool wrote = false; do { struct srow *text = t->insert_mode || t->lr_margin_mode ? NULL : text_append_row(t); @@ -156,7 +154,7 @@ static inline bool try_text_run(struct term *t, const char *buf, size_t len, wrote = true; text_commit(text, r.out, r.chars, r.cols, (uint8_t)((r.narrow ? HLINE_NARROW : 0) | (r.wide ? HLINE_HAS_WIDE : 0)), - fg, bg, flags); + pen); t->last_char = r.last; sc_text_advance(t, x, r.cols, avail); i += (size_t)r.bytes; @@ -165,7 +163,7 @@ static inline bool try_text_run(struct term *t, const char *buf, size_t len, if (span.avail < 2) break; struct text_run_result r = term_text_run(span.cells, buf + i, (int)(len - i), - span.avail, fg, bg, flags, t->last_char, + span.avail, pen.fg, pen.bg, pen.sl, t->last_char, &t->text_width); if (!r.bytes) break; |
