further unification

This commit is contained in:
Fabian Greffrath 2024-04-02 16:58:22 +02:00
parent 42d9bbfd17
commit 4d29d0d477
3 changed files with 7 additions and 5 deletions

View File

@ -465,7 +465,7 @@ void HUlib_draw_widget (const hu_widget_t *const w)
draw_widget_single(w, f); draw_widget_single(w, f);
// [FG] Vanilla widget with top alignment, // [FG] Vanilla widget with top alignment,
// or Boom widget with bottom 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); draw_widget_bottomup(w, f);
else else
draw_widget_topdown(w, f); draw_widget_topdown(w, f);
@ -506,12 +506,13 @@ void HUlib_init_multiline(hu_multiline_t *m,
m->cr = cr; m->cr = cr;
m->drawcursor = false; m->drawcursor = false;
m->on = on; m->on = on ? on : &m->built;
m->builder = builder; m->builder = builder;
m->built = false; 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) void HUlib_erase_widget (const hu_widget_t *const w)

View File

@ -105,6 +105,7 @@ typedef struct hu_multiline_s
boolean built; boolean built;
boolean exclusive; boolean exclusive;
boolean bottomup;
} hu_multiline_t; } hu_multiline_t;

View File

@ -1432,7 +1432,7 @@ void HU_Drawer(void)
while (w->multiline) while (w->multiline)
{ {
if ((w->multiline->on && *w->multiline->on) || w->multiline->built) if (*w->multiline->on)
{ {
HUlib_draw_widget(w); HUlib_draw_widget(w);
} }
@ -1478,7 +1478,7 @@ void HU_Erase(void)
while (w->multiline) while (w->multiline)
{ {
if ((w->multiline->on && *w->multiline->on) || w->multiline->built) if (*w->multiline->on)
{ {
HUlib_erase_widget(w); HUlib_erase_widget(w);
} }