aboutsummaryrefslogtreecommitdiff
path: root/view.c
diff options
context:
space:
mode:
authorinfastin <infastin@yandex.com>2025-01-19 23:52:17 +0500
committerRandy Palamar <randy@rnpnr.xyz>2025-02-22 12:02:55 -0700
commitb7f4057919da1d249241eeb8b2f06371a031582f (patch)
tree42547e8aeecf8489705f6e56cba9d98418f8c2e6 /view.c
parent0208d7a9f553b77ab4dfd740e2318f32340b10ea (diff)
downloadvis-b7f4057919da1d249241eeb8b2f06371a031582f.tar.gz
vis-b7f4057919da1d249241eeb8b2f06371a031582f.tar.xz
style_set: add option to keep non-default style values
Diffstat (limited to 'view.c')
-rw-r--r--view.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/view.c b/view.c
index 49f7fc6..28f33e9 100644
--- a/view.c
+++ b/view.c
@@ -205,7 +205,7 @@ static void view_clear(View *view) {
/* FIXME: awful garbage that only exists because every
* struct in this program is an interdependent hellscape */
Win *win = (Win *)((char *)view - offsetof(Win, view));
- ui_window_style_set(&win->vis->ui, win->id, &cell_blank, UI_STYLE_DEFAULT);
+ ui_window_style_set(&win->vis->ui, win->id, &cell_blank, UI_STYLE_DEFAULT, false);
}
static int view_max_text_width(const View *view) {
@@ -1335,7 +1335,7 @@ void view_selections_normalize(View *view) {
view_selections_set(prev, &range_prev);
}
-void win_style(Win *win, enum UiStyle style, size_t start, size_t end) {
+void win_style(Win *win, enum UiStyle style, size_t start, size_t end, bool keep_non_default) {
View *view = &win->view;
if (end < view->start || start > view->end)
return;
@@ -1365,7 +1365,7 @@ void win_style(Win *win, enum UiStyle style, size_t start, size_t end) {
do {
while (pos <= end && col < width) {
pos += line->cells[col].len;
- ui_window_style_set(&win->vis->ui, win->id, &line->cells[col++], style);
+ ui_window_style_set(&win->vis->ui, win->id, &line->cells[col++], style, keep_non_default);
}
col = 0;
} while (pos <= end && (line = line->next));