mirror of
https://github.com/libretro/RetroArch
synced 2025-03-20 10:20:51 +00:00
(Menu) menu_settings_iterate - implement fast scrolling
This commit is contained in:
parent
02e6ab0ba9
commit
55c48e7e66
@ -1206,17 +1206,20 @@ static int menu_settings_iterate(unsigned action, rarch_setting_t *setting)
|
||||
if (driver.menu->need_refresh)
|
||||
action = MENU_ACTION_NOOP;
|
||||
|
||||
unsigned scroll_speed = (max(driver.menu->scroll_accel, 2) - 2) / 4 + 1;
|
||||
unsigned fast_scroll_speed = 4 + 4 * scroll_speed;
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case MENU_ACTION_UP:
|
||||
if (driver.menu->selection_ptr > 0)
|
||||
if (driver.menu->selection_ptr >= scroll_speed)
|
||||
menu_decrement_navigation(driver.menu);
|
||||
else
|
||||
menu_set_navigation(driver.menu, file_list_get_size(driver.menu->selection_buf) - 1);
|
||||
break;
|
||||
|
||||
case MENU_ACTION_DOWN:
|
||||
if (driver.menu->selection_ptr + 1 < file_list_get_size(driver.menu->selection_buf))
|
||||
if (driver.menu->selection_ptr + scroll_speed < file_list_get_size(driver.menu->selection_buf))
|
||||
menu_increment_navigation(driver.menu);
|
||||
else
|
||||
menu_clear_navigation(driver.menu);
|
||||
|
Loading…
x
Reference in New Issue
Block a user