From 4d860c4d16c09cc6b7e06966089abd92d0bcc1e5 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 9 Aug 2019 12:54:08 +0200 Subject: [PATCH] Move menu_driver_render to retroarch.c --- menu/menu_driver.c | 47 ------------------------------------------ menu/menu_driver.h | 2 -- retroarch.c | 51 ++++++++++++++++++++++++++++++++++++++++------ 3 files changed, 45 insertions(+), 55 deletions(-) diff --git a/menu/menu_driver.c b/menu/menu_driver.c index 2b6aa0f362..99aea7ee0e 100644 --- a/menu/menu_driver.c +++ b/menu/menu_driver.c @@ -2026,53 +2026,6 @@ bool menu_driver_get_load_content_animation_data(menu_texture_item *icon, char * && menu_driver_ctx->get_load_content_animation_data(menu_userdata, icon, playlist_name); } -bool menu_driver_render(bool is_idle, bool rarch_is_inited, - bool rarch_is_dummy_core) -{ - if (!menu_driver_data) - return false; - - if (BIT64_GET(menu_driver_data->state, MENU_STATE_RENDER_FRAMEBUFFER) - != BIT64_GET(menu_driver_data->state, MENU_STATE_RENDER_MESSAGEBOX)) - BIT64_SET(menu_driver_data->state, MENU_STATE_RENDER_FRAMEBUFFER); - - if (BIT64_GET(menu_driver_data->state, MENU_STATE_RENDER_FRAMEBUFFER)) - menu_display_set_framebuffer_dirty_flag(); - - if (BIT64_GET(menu_driver_data->state, MENU_STATE_RENDER_MESSAGEBOX) - && !string_is_empty(menu_driver_data->menu_state_msg)) - { - if (menu_driver_data->driver_ctx->render_messagebox) - menu_driver_data->driver_ctx->render_messagebox( - menu_driver_data->userdata, - menu_driver_data->menu_state_msg); - - if (ui_companion_is_on_foreground()) - { - const ui_companion_driver_t *ui = ui_companion_get_ptr(); - if (ui->render_messagebox) - ui->render_messagebox(menu_driver_data->menu_state_msg); - } - } - - if (BIT64_GET(menu_driver_data->state, MENU_STATE_BLIT)) - { - if (menu_driver_data->driver_ctx->render) - menu_driver_data->driver_ctx->render( - menu_driver_data->userdata, is_idle); - } - - if (menu_driver_alive && !is_idle) - menu_display_libretro(is_idle, rarch_is_inited, rarch_is_dummy_core); - - if (menu_driver_data->driver_ctx->set_texture) - menu_driver_data->driver_ctx->set_texture(); - - menu_driver_data->state = 0; - - return true; -} - /* Checks if the menu is still running */ bool menu_driver_is_alive(void) { diff --git a/menu/menu_driver.h b/menu/menu_driver.h index 4e841a569d..48bb5d4a83 100644 --- a/menu/menu_driver.h +++ b/menu/menu_driver.h @@ -503,8 +503,6 @@ const char* config_get_menu_driver_options(void); const char *menu_driver_ident(void); -bool menu_driver_render(bool is_idle, bool is_inited, bool is_dummy); - bool menu_driver_ctl(enum rarch_menu_ctl_state state, void *data); bool menu_driver_is_binding_state(void); diff --git a/retroarch.c b/retroarch.c index 2b2abb9879..44883c10fd 100644 --- a/retroarch.c +++ b/retroarch.c @@ -4314,7 +4314,7 @@ TODO: Add a setting for these tweaks */ break; case CMD_EVENT_RESUME: retroarch_menu_running_finished(false); - if (ui_companion_is_on_foreground()) + if (main_ui_companion_is_on_foreground) ui_companion_driver_toggle(false); break; case CMD_EVENT_ADD_TO_FAVORITES: @@ -23121,7 +23121,7 @@ static enum runloop_state runloop_check_state( action = (enum menu_action)menu_event(¤t_bits, &trigger_input); focused = pause_nonactive ? is_focused : true; - focused = focused && !ui_companion_is_on_foreground(); + focused = focused && !main_ui_companion_is_on_foreground; iter.action = action; @@ -23171,13 +23171,52 @@ static enum runloop_state runloop_check_state( if (focused || !runloop_idle) { - bool core_type_is_dummy = current_core_type == CORE_TYPE_DUMMY; - bool libretro_running = menu_display_libretro_running( + bool core_type_is_dummy = current_core_type == CORE_TYPE_DUMMY; + bool libretro_running = menu_display_libretro_running( rarch_is_initialized, core_type_is_dummy); + menu_handle_t *menu_data = menu_driver_get_ptr(); + + if (menu_data) + { + if (BIT64_GET(menu_data->state, MENU_STATE_RENDER_FRAMEBUFFER) + != BIT64_GET(menu_data->state, MENU_STATE_RENDER_MESSAGEBOX)) + BIT64_SET(menu_data->state, MENU_STATE_RENDER_FRAMEBUFFER); + + if (BIT64_GET(menu_data->state, MENU_STATE_RENDER_FRAMEBUFFER)) + menu_display_set_framebuffer_dirty_flag(); + + if (BIT64_GET(menu_data->state, MENU_STATE_RENDER_MESSAGEBOX) + && !string_is_empty(menu_data->menu_state_msg)) + { + if (menu_data->driver_ctx->render_messagebox) + menu_data->driver_ctx->render_messagebox( + menu_data->userdata, + menu_data->menu_state_msg); + + if (main_ui_companion_is_on_foreground) + { + if (ui_companion && ui_companion->render_messagebox) + ui_companion->render_messagebox(menu_data->menu_state_msg); + } + } + + if (BIT64_GET(menu_data->state, MENU_STATE_BLIT)) + { + if (menu_data->driver_ctx->render) + menu_data->driver_ctx->render( + menu_data->userdata, runloop_idle); + } + + if (!runloop_idle) + menu_display_libretro(runloop_idle, rarch_is_initialized, core_type_is_dummy); + + if (menu_data->driver_ctx->set_texture) + menu_data->driver_ctx->set_texture(); + + menu_data->state = 0; + } - menu_driver_render(runloop_idle, rarch_is_initialized, - core_type_is_dummy); if (settings->bools.audio_enable_menu && !libretro_running) audio_driver_menu_sample();