mirror of
https://github.com/libretro/RetroArch
synced 2025-03-20 10:20:51 +00:00
Move menu_driver_render to retroarch.c
This commit is contained in:
parent
6482a81ef5
commit
4d860c4d16
@ -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)
|
||||
{
|
||||
|
@ -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);
|
||||
|
51
retroarch.c
51
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();
|
||||
|
Loading…
x
Reference in New Issue
Block a user