From 9925da95aee1fa825c92e72405a9ab042ae4d1d6 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Mon, 17 Aug 2015 18:14:51 +0200 Subject: [PATCH] Refactor menu_entries_get_core_title --- menu/drivers/glui.c | 6 +----- menu/drivers/rgui.c | 5 +---- menu/drivers/rmenu_xui.cpp | 17 ++++++++++------- menu/drivers/xmb.c | 5 +---- menu/menu_entries.c | 18 +++++++++++++++--- menu/menu_entries.h | 2 +- 6 files changed, 29 insertions(+), 24 deletions(-) diff --git a/menu/drivers/glui.c b/menu/drivers/glui.c index 1dd27e854e..9ee6c4ccb3 100644 --- a/menu/drivers/glui.c +++ b/menu/drivers/glui.c @@ -460,14 +460,10 @@ static void glui_frame(void) glui_draw_scrollbar(gl); - if (settings->menu.core_enable) - { - menu_entries_get_core_title(title_msg, sizeof(title_msg)); - + if (menu_entries_get_core_title(title_msg, sizeof(title_msg)) == 0) glui_blit_line(glui->margin, height - glui->line_height, title_msg, title_color, TEXT_ALIGN_LEFT); - } if (settings->menu.timedate_enable) { diff --git a/menu/drivers/rgui.c b/menu/drivers/rgui.c index e4588f9014..7bc12efb84 100644 --- a/menu/drivers/rgui.c +++ b/menu/drivers/rgui.c @@ -480,14 +480,11 @@ static void rgui_render(void) RGUI_TERM_START_X + (RGUI_TERM_WIDTH - strlen(title_buf)) * FONT_WIDTH_STRIDE / 2, RGUI_TERM_START_X, title_buf, TITLE_COLOR(settings)); - if (settings->menu.core_enable) - { - menu_entries_get_core_title(title_msg, sizeof(title_msg)); + if (menu_entries_get_core_title(title_msg, sizeof(title_msg)) == 0) blit_line(menu, RGUI_TERM_START_X, (RGUI_TERM_HEIGHT * FONT_HEIGHT_STRIDE) + RGUI_TERM_START_Y + 2, title_msg, hover_color); - } if (settings->menu.timedate_enable) { diff --git a/menu/drivers/rmenu_xui.cpp b/menu/drivers/rmenu_xui.cpp index 6c706b69ac..ef1bcde848 100644 --- a/menu/drivers/rmenu_xui.cpp +++ b/menu/drivers/rmenu_xui.cpp @@ -158,9 +158,11 @@ HRESULT CRetroArchMain::OnInit(XUIMessageInit * pInitData, BOOL& bHandled) { char str[PATH_MAX_LENGTH] = {0}; - menu_entries_get_core_title(str, sizeof(str)); - mbstowcs(strw_buffer, str, sizeof(strw_buffer) / sizeof(wchar_t)); - XuiTextElementSetText(m_menutitlebottom, strw_buffer); + if (menu_entries_get_core_title(str, sizeof(str)) == 0) + { + mbstowcs(strw_buffer, str, sizeof(strw_buffer) / sizeof(wchar_t)); + XuiTextElementSetText(m_menutitlebottom, strw_buffer); + } } return 0; @@ -565,10 +567,11 @@ static void rmenu_xui_render(void) if (XuiHandleIsValid(m_menutitle)) { - menu_entries_get_core_title(title, sizeof(title)); - - mbstowcs(strw_buffer, title, sizeof(strw_buffer) / sizeof(wchar_t)); - XuiTextElementSetText(m_menutitlebottom, strw_buffer); + if (menu_entries_get_core_title(title, sizeof(title)) == 0) + { + mbstowcs(strw_buffer, title, sizeof(strw_buffer) / sizeof(wchar_t)); + XuiTextElementSetText(m_menutitlebottom, strw_buffer); + } } end = menu_entries_get_end(); diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index 32ae5db4d7..c85a9dba49 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -1618,12 +1618,9 @@ static void xmb_frame(void) xmb->margins.title.top, 1, 1, TEXT_ALIGN_RIGHT); } - if (settings->menu.core_enable) - { - menu_entries_get_core_title(title_msg, sizeof(title_msg)); + if (menu_entries_get_core_title(title_msg, sizeof(title_msg)) == 0) xmb_draw_text(menu, xmb, title_msg, xmb->margins.title.left, height - xmb->margins.title.bottom, 1, 1, TEXT_ALIGN_LEFT); - } depth = xmb_list_get_size(menu, MENU_LIST_PLAIN); diff --git a/menu/menu_entries.c b/menu/menu_entries.c index 03baa8558d..1a8838a0e0 100644 --- a/menu/menu_entries.c +++ b/menu/menu_entries.c @@ -131,13 +131,23 @@ bool menu_entries_show_back(void) /* Sets 's' to the name of the current core * (shown at the top of the UI). */ -void menu_entries_get_core_title(char *s, size_t len) +int menu_entries_get_core_title(char *s, size_t len) { + const char *core_name = NULL; + const char *core_version = NULL; global_t *global = global_get_ptr(); - const char *core_name = global ? global->menu.info.library_name : NULL; - const char *core_version = global ? global->menu.info.library_version : NULL; + settings_t *settings = config_get_ptr(); rarch_system_info_t *info = rarch_system_info_get_ptr(); + if (!settings->menu.core_enable) + return -1; + + if (global) + { + core_name = global->menu.info.library_name; + core_version = global->menu.info.library_version; + } + if (!core_name || core_name[0] == '\0') core_name = info->info.library_name; if (!core_name || core_name[0] == '\0') @@ -150,6 +160,8 @@ void menu_entries_get_core_title(char *s, size_t len) snprintf(s, len, "%s - %s %s", PACKAGE_VERSION, core_name, core_version); + + return 0; } static bool menu_entries_get_nonblocking_refresh(void) diff --git a/menu/menu_entries.h b/menu/menu_entries.h index c3ab3864e2..3796140734 100644 --- a/menu/menu_entries.h +++ b/menu/menu_entries.h @@ -52,7 +52,7 @@ int menu_entries_get_title(char *title, size_t title_len); bool menu_entries_show_back(void); -void menu_entries_get_core_title(char *title_msg, size_t title_msg_len); +int menu_entries_get_core_title(char *title_msg, size_t title_msg_len); menu_entries_t *menu_entries_get_ptr(void);