gui: defer deadspace viewport update

Change-Id: Idac4a2bf21ced25cbf4349dc32ef62b3a456f999
This commit is contained in:
Christian Soffke 2026-04-29 11:33:21 +02:00 committed by Solomon Peachy
parent c41beebcda
commit dbcee0deae

View file

@ -91,13 +91,12 @@ static void toggle_events(bool enable)
#endif
}
static void set_clear_update_valid_vp(enum screen_type screen, struct viewport *vp)
static void set_clear_valid_vp(enum screen_type screen, struct viewport *vp)
{
if (vp->width && vp->height)
{
screens[screen].set_viewport(vp);
screens[screen].clear_viewport();
screens[screen].update_viewport();
}
}
@ -135,21 +134,21 @@ static void toggle_theme(enum screen_type screen, bool force)
deadspace.y = 0;
deadspace.width = screens[screen].lcdwidth;
deadspace.height = user.y;
set_clear_update_valid_vp(screen, &deadspace);
set_clear_valid_vp(screen, &deadspace);
/* below */
deadspace.y = user.y + user.height;
deadspace.height = screens[screen].lcdheight - deadspace.y;
set_clear_update_valid_vp(screen, &deadspace);
set_clear_valid_vp(screen, &deadspace);
/* left */
deadspace.x = 0;
deadspace.y = 0;
deadspace.width = user.x;
deadspace.height = screens[screen].lcdheight;
set_clear_update_valid_vp(screen, &deadspace);
set_clear_valid_vp(screen, &deadspace);
/* below */
deadspace.x = user.x + user.width;
deadspace.width = screens[screen].lcdwidth - deadspace.x;
set_clear_update_valid_vp(screen, &deadspace);
set_clear_valid_vp(screen, &deadspace);
screens[screen].set_viewport(last_vp);
}