From 4d29d0d477bd4a0d8f38fb0f9665f1a9f0c9767b Mon Sep 17 00:00:00 2001 From: Fabian Greffrath Date: Tue, 2 Apr 2024 16:58:22 +0200 Subject: [PATCH] further unification --- src/hu_lib.c | 7 ++++--- src/hu_lib.h | 1 + src/hu_stuff.c | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/hu_lib.c b/src/hu_lib.c index 8a983395..5a4793c7 100644 --- a/src/hu_lib.c +++ b/src/hu_lib.c @@ -465,7 +465,7 @@ void HUlib_draw_widget (const hu_widget_t *const w) draw_widget_single(w, f); // [FG] Vanilla widget with top alignment, // or Boom widget with bottom alignment - else if ((m->on != NULL) ^ (w->v_align == align_bottom)) + else if (m->bottomup ^ (w->v_align == align_bottom)) draw_widget_bottomup(w, f); else draw_widget_topdown(w, f); @@ -506,12 +506,13 @@ void HUlib_init_multiline(hu_multiline_t *m, m->cr = cr; m->drawcursor = false; - m->on = on; + m->on = on ? on : &m->built; m->builder = builder; m->built = false; - m->exclusive = (m->on != NULL); + m->exclusive = (on != NULL); + m->bottomup = (on != NULL); } void HUlib_erase_widget (const hu_widget_t *const w) diff --git a/src/hu_lib.h b/src/hu_lib.h index 4728f952..580f5c67 100644 --- a/src/hu_lib.h +++ b/src/hu_lib.h @@ -105,6 +105,7 @@ typedef struct hu_multiline_s boolean built; boolean exclusive; + boolean bottomup; } hu_multiline_t; diff --git a/src/hu_stuff.c b/src/hu_stuff.c index e71136c5..9c286a14 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -1432,7 +1432,7 @@ void HU_Drawer(void) while (w->multiline) { - if ((w->multiline->on && *w->multiline->on) || w->multiline->built) + if (*w->multiline->on) { HUlib_draw_widget(w); } @@ -1478,7 +1478,7 @@ void HU_Erase(void) while (w->multiline) { - if ((w->multiline->on && *w->multiline->on) || w->multiline->built) + if (*w->multiline->on) { HUlib_erase_widget(w); }