From 6106a8b64e5cc74fe6f37da077beca63be12e4cb Mon Sep 17 00:00:00 2001 From: twinaphex Date: Fri, 25 Sep 2015 15:00:13 +0200 Subject: [PATCH] (RMenu) Refactor old code too --- menu/drivers/rmenu.c | 7 ++++--- menu/drivers/rmenu_xui.cpp | 30 +++++++++++++++--------------- 2 files changed, 19 insertions(+), 18 deletions(-) diff --git a/menu/drivers/rmenu.c b/menu/drivers/rmenu.c index 58dfc220e2..33f01e4e9d 100644 --- a/menu/drivers/rmenu.c +++ b/menu/drivers/rmenu.c @@ -123,7 +123,7 @@ end: static void rmenu_render(void) { - size_t begin, end, i, j; + size_t begin, end, i, j, selection; struct font_params font_parms = {0}; char title[256] = {0}; char title_buf[256] = {0}; @@ -132,10 +132,11 @@ static void rmenu_render(void) 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(); uint64_t *frame_count = video_driver_get_frame_count(); size_t entries_end = menu_entries_get_end(); - size_t selection = menu_navigation_get_selection(nav); + + if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection)) + return; if (!menu) return; diff --git a/menu/drivers/rmenu_xui.cpp b/menu/drivers/rmenu_xui.cpp index c0b8f823b2..68ac8f545c 100644 --- a/menu/drivers/rmenu_xui.cpp +++ b/menu/drivers/rmenu_xui.cpp @@ -530,7 +530,7 @@ static void rmenu_xui_set_list_text(int index, const wchar_t* leftText, static void rmenu_xui_render(void) { - size_t end, i; + size_t end, i, selection; char title[PATH_MAX_LENGTH] = {0}; const char *dir = NULL; const char *label = NULL; @@ -588,7 +588,9 @@ static void rmenu_xui_render(void) mbstowcs(msg_right, entry_value, sizeof(msg_right) / sizeof(wchar_t)); rmenu_xui_set_list_text(i, msg_left, msg_right); } - XuiListSetCurSelVisible(m_menulist, menu_navigation_get_selection(nav)); + if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection)) + return; + XuiListSetCurSelVisible(m_menulist, selection); if (menu->keyboard.display) { @@ -605,34 +607,32 @@ static void rmenu_xui_render(void) static void rmenu_xui_populate_entries(const char *path, const char *label, unsigned i) { - menu_handle_t *menu = menu_driver_get_ptr(); - menu_navigation_t *nav = menu_navigation_get_ptr(); - - if (!menu) + size_t selection; + if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection)) return; (void)label; (void)path; - XuiListSetCurSelVisible(m_menulist, menu_navigation_get_selection(nav)); + XuiListSetCurSelVisible(m_menulist, selection); } static void rmenu_xui_navigation_clear(bool pending_push) { - menu_handle_t *menu = menu_driver_get_ptr(); - menu_navigation_t *nav = menu_navigation_get_ptr(); + size_t selection; + if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection)) + return; - if (menu) - XuiListSetCurSelVisible(m_menulist, menu_navigation_get_selection(nav)); + XuiListSetCurSelVisible(m_menulist, selection); } static void rmenu_xui_navigation_set_visible(void) { - menu_handle_t *menu = menu_driver_get_ptr(); - menu_navigation_t *nav = menu_navigation_get_ptr(); + size_t selection; + if (!menu_navigation_ctl(MENU_NAVIGATION_CTL_GET_SELECTION, &selection)) + return; - if (menu) - XuiListSetCurSelVisible(m_menulist, menu_navigation_get_selection(nav)); + XuiListSetCurSelVisible(m_menulist, selection); } static void rmenu_xui_navigation_alphabet(size_t *ptr_out)