(Menu) Cleanups

This commit is contained in:
twinaphex 2015-06-15 02:37:32 +02:00
parent 668aff2605
commit 3139f13612
10 changed files with 40 additions and 23 deletions

View File

@ -285,6 +285,7 @@ static int action_iterate_menu_viewport(char *s, size_t len, const char *label,
unsigned type = 0;
video_viewport_t *custom = video_viewport_get_custom();
menu_handle_t *menu = menu_driver_get_ptr();
menu_display_t *disp = menu_display_get_ptr();
menu_navigation_t *nav = menu_navigation_get_ptr();
menu_list_t *menu_list = menu_list_get_ptr();
settings_t *settings = config_get_ptr();
@ -407,7 +408,8 @@ static int action_iterate_menu_viewport(char *s, size_t len, const char *label,
break;
case MENU_ACTION_MESSAGE:
menu->msg_force = true;
if (disp)
disp->msg_force = true;
break;
default:

View File

@ -1113,6 +1113,7 @@ static int action_ok_config_load(const char *path,
char config[PATH_MAX_LENGTH] = {0};
menu_navigation_t *nav = menu_navigation_get_ptr();
menu_handle_t *menu = menu_driver_get_ptr();
menu_display_t *disp = menu_display_get_ptr();
menu_list_t *menu_list = menu_list_get_ptr();
if (!menu || !menu_list)
@ -1122,7 +1123,9 @@ static int action_ok_config_load(const char *path,
fill_pathname_join(config, menu_path, path, sizeof(config));
menu_list_flush_stack(menu_list, NULL, MENU_SETTINGS);
menu->msg_force = true;
disp->msg_force = true;
if (rarch_replace_config(config))
{
menu_navigation_clear(nav, false);

View File

@ -369,10 +369,12 @@ static void glui_frame(void)
glui = (glui_handle_t*)menu->userdata;
if (menu_needs_refresh()
if (
menu_needs_refresh()
&& menu_driver_alive()
&& !menu->msg_force
&& !glui->box_message[0])
&& !disp->msg_force
&& !glui->box_message[0]
)
return;
video_driver_get_size(&width, &height);
@ -394,10 +396,9 @@ static void glui_frame(void)
glui_render_quad(gl, 0,
disp->header_height - menu->scroll_y + glui->line_height *
nav->selection_ptr,
width, glui->line_height, 1, 1, 1, 0.1);
nav->selection_ptr, width, glui->line_height, 1, 1, 1, 0.1);
anim->is_active = true;
anim->is_active = true;
anim->label.is_updated = false;
glui_render_quad(gl, 0, 0, width,

View File

@ -347,12 +347,13 @@ static void rgui_render(void)
char title_msg[64] = {0};
char timedate[PATH_MAX_LENGTH] = {0};
menu_handle_t *menu = menu_driver_get_ptr();
menu_input_t *menu_input = menu_input_get_ptr();
menu_display_t *disp = menu_display_get_ptr();
menu_framebuf_t *frame_buf = menu_display_fb_get_ptr();
menu_navigation_t *nav = menu_navigation_get_ptr();
runloop_t *runloop = rarch_main_get_ptr();
driver_t *driver = driver_get_ptr();
settings_t *settings = config_get_ptr();
menu_input_t *menu_input = menu_input_get_ptr();
menu_animation_t *anim = menu_animation_get_ptr();
uint64_t frame_count = video_driver_get_frame_count();
@ -361,7 +362,7 @@ static void rgui_render(void)
if (!menu)
return;
if (menu_needs_refresh() && menu_driver_alive() && !menu->msg_force)
if (menu_needs_refresh() && menu_driver_alive() && !disp->msg_force)
return;
if (runloop->is_idle)
@ -493,10 +494,10 @@ static void rgui_render(void)
#ifdef GEKKO
const char *message_queue;
if (menu->msg_force)
if (disp->msg_force)
{
message_queue = rarch_main_msg_queue_pull();
menu->msg_force = false;
disp->msg_force = false;
}
else
message_queue = driver->current_msg;

View File

@ -128,6 +128,7 @@ static void rmenu_render(void)
char title_buf[256] = {0};
char title_msg[64] = {0};
menu_handle_t *menu = menu_driver_get_ptr();
menu_display_t *disp = menu_display_get_ptr();
menu_animation_t *anim = menu_animation_get_ptr();
menu_list_t *menu_list = menu_list_get_ptr();
menu_navigation_t *nav = menu_navigation_get_ptr();
@ -145,7 +146,7 @@ static void rmenu_render(void)
}
if (menu_needs_refresh() && menu_driver_alive()
&& !menu->msg_force)
&& !disp->msg_force)
return;
menu_display_fb_unset_dirty();

View File

@ -537,14 +537,18 @@ static void rmenu_xui_render(void)
const char *label = NULL;
unsigned menu_type = 0;
menu_handle_t *menu = menu_driver_get_ptr();
menu_display_t *disp = menu_display_get_ptr();
menu_framebuf_t *frame_buf = menu_display_fb_get_ptr();
menu_navigation_t *nav = menu_navigation_get_ptr();
uint64_t frame_count = video_driver_get_frame_count();
if (!menu)
return;
if (menu_needs_refresh() &&
menu_driver_alive() && !menu->msg_force)
if (
menu_needs_refresh() &&
menu_driver_alive() &&
!disp->msg_force
)
return;
menu_display_fb_unset_dirty();

View File

@ -90,12 +90,13 @@ static void menu_push_to_history_playlist(void)
bool menu_load_content(void)
{
menu_handle_t *menu = menu_driver_get_ptr();
menu_display_t *disp = menu_display_get_ptr();
driver_t *driver = driver_get_ptr();
global_t *global = global_get_ptr();
/* redraw menu frame */
if (menu)
menu->msg_force = true;
if (disp)
disp->msg_force = true;
menu_entry_iterate(MENU_ACTION_NOOP);
@ -111,8 +112,8 @@ bool menu_load_content(void)
snprintf(msg, sizeof(msg), "Failed to load %s.\n", name);
rarch_main_msg_queue_push(msg, 1, 90, false);
if (menu)
menu->msg_force = true;
if (disp)
disp->msg_force = true;
return false;
}
@ -132,6 +133,7 @@ bool menu_load_content(void)
void menu_common_load_content(bool persist)
{
menu_display_t *disp = menu_display_get_ptr();
menu_handle_t *menu = menu_driver_get_ptr();
menu_list_t *menu_list = menu_list_get_ptr();
if (!menu || !menu_list)
@ -140,7 +142,7 @@ void menu_common_load_content(bool persist)
event_command(persist ? EVENT_CMD_LOAD_CONTENT_PERSIST : EVENT_CMD_LOAD_CONTENT);
menu_list_flush_stack(menu_list, NULL, MENU_SETTINGS);
menu->msg_force = true;
disp->msg_force = true;
}
/**

View File

@ -39,6 +39,8 @@ typedef struct menu_framebuf
typedef struct menu_display
{
bool msg_force;
menu_framebuf_t frame_buf;
struct

View File

@ -59,7 +59,6 @@ typedef struct
bool need_refresh;
bool nonblocking_refresh;
bool msg_force;
bool push_start_screen;
bool defer_core;

View File

@ -432,8 +432,9 @@ int menu_entry_iterate(unsigned action)
int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action)
{
int ret = 0;
menu_navigation_t *nav = menu_navigation_get_ptr();
menu_handle_t *menu = menu_driver_get_ptr();
menu_navigation_t *nav = menu_navigation_get_ptr();
menu_display_t *disp = menu_display_get_ptr();
menu_list_t *menu_list = menu_list_get_ptr();
menu_file_list_cbs_t *cbs = menu_list_get_actiondata_at_offset(menu_list->selection_buf, i);
@ -493,7 +494,8 @@ int menu_entry_action(menu_entry_t *entry, unsigned i, enum menu_action action)
break;
case MENU_ACTION_MESSAGE:
menu->msg_force = true;
if (disp)
disp->msg_force = true;
break;
case MENU_ACTION_SEARCH: