diff --git a/menu/drivers/materialui.c b/menu/drivers/materialui.c index 68c85ec9a0..d8b25246ea 100644 --- a/menu/drivers/materialui.c +++ b/menu/drivers/materialui.c @@ -951,7 +951,7 @@ static void mui_frame(void *data) mui_draw_cursor(mui, &white_bg[0], mouse_x, mouse_y, width, height); } - menu_display_restore_clear_color(); + menu_display_ctl(MENU_DISPLAY_CTL_RESTORE_CLEAR_COLOR, NULL); menu_display_ctl(MENU_DISPLAY_CTL_UNSET_VIEWPORT, NULL); } diff --git a/menu/menu_display.c b/menu/menu_display.c index 865ea687de..efd518eb68 100644 --- a/menu/menu_display.c +++ b/menu/menu_display.c @@ -443,6 +443,11 @@ bool menu_display_ctl(enum menu_display_ctl_state state, void *data) break; case MENU_DISPLAY_CTL_INIT_FIRST_DRIVER: return menu_display_driver_init_first(disp); + case MENU_DISPLAY_CTL_RESTORE_CLEAR_COLOR: + if (!menu_disp || !menu_disp->restore_clear_color) + return false; + menu_disp->restore_clear_color(); + break; case MENU_DISPLAY_CTL_NONE: default: break; @@ -560,14 +565,6 @@ void menu_display_draw_bg( color2, vertex, tex_coord, vertex_count, prim_type); } -void menu_display_restore_clear_color(void) -{ - menu_display_ctx_driver_t *menu_disp = menu_display_context_get_ptr(); - if (!menu_disp || !menu_disp->restore_clear_color) - return; - - menu_disp->restore_clear_color(); -} void menu_display_clear_color(float r, float g, float b, float a) { diff --git a/menu/menu_display.h b/menu/menu_display.h index 96d5958453..f2d6980702 100644 --- a/menu/menu_display.h +++ b/menu/menu_display.h @@ -72,7 +72,8 @@ enum menu_display_ctl_state MENU_DISPLAY_CTL_FONT_MAIN_INIT, MENU_DISPLAY_CTL_FONT_BIND_BLOCK, MENU_DISPLAY_CTL_BLEND_BEGIN, - MENU_DISPLAY_CTL_BLEND_END + MENU_DISPLAY_CTL_BLEND_END, + MENU_DISPLAY_CTL_RESTORE_CLEAR_COLOR }; enum menu_display_prim_type @@ -172,8 +173,6 @@ void menu_display_matrix_4x4_rotate_z( unsigned menu_display_texture_load(void *data, enum texture_filter_type filter_type); -void menu_display_restore_clear_color(void); - void menu_display_clear_color(float r, float g, float b, float a); void menu_display_texture_unload(uintptr_t *id);