From 3e6688529ad49fbd16d8c40c079d3b4707af98d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Sun, 8 Mar 2015 22:35:40 +0100 Subject: [PATCH 1/2] (RGUI) Fix mouse movement --- menu/menu_entries_cbs_iterate.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/menu/menu_entries_cbs_iterate.c b/menu/menu_entries_cbs_iterate.c index 95559dc175..81d59c5279 100644 --- a/menu/menu_entries_cbs_iterate.c +++ b/menu/menu_entries_cbs_iterate.c @@ -558,6 +558,9 @@ static int mouse_iterate(unsigned action) menu->mouse.dy = driver.input->input_state(driver.input_data, binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_Y); + if (menu->mouse.dx != 0 || menu->mouse.dy !=0) + g_runloop.frames.video.current.menu.animation.is_active = true; + menu->mouse.x += menu->mouse.dx; menu->mouse.y += menu->mouse.dy; @@ -576,13 +579,8 @@ static int mouse_iterate(unsigned action) menu->mouse.right = driver.input->input_state(driver.input_data, binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_RIGHT); - menu->mouse.wheelup = driver.input->input_state(driver.input_data, - binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_WHEELUP) - || menu->mouse.y == 5; - - menu->mouse.wheeldown = driver.input->input_state(driver.input_data, - binds, 0, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_WHEELDOWN) - || menu->mouse.y == menu->frame_buf.height - 5; + menu->mouse.wheelup = menu->mouse.y == 5; + menu->mouse.wheeldown = menu->mouse.y == menu->frame_buf.height - 5; return 0; } From c3f15be0f199a78a4d584ed1111b9e38b82d670f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-Andr=C3=A9=20Santoni?= Date: Sun, 8 Mar 2015 22:44:39 +0100 Subject: [PATCH 2/2] (RGUI) Fix mouse hovering --- menu/menu_entries_cbs_iterate.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/menu/menu_entries_cbs_iterate.c b/menu/menu_entries_cbs_iterate.c index 81d59c5279..7c05c28e2d 100644 --- a/menu/menu_entries_cbs_iterate.c +++ b/menu/menu_entries_cbs_iterate.c @@ -162,6 +162,10 @@ static int mouse_post_iterate(menu_file_list_cbs_t *cbs, const char *path, if (!menu->mouse.enable) return 0; + if (menu->mouse.ptr >= 0 + && menu->mouse.ptr <= menu_list_get_size(menu->menu_list)-1) + menu_navigation_set(&menu->navigation, menu->mouse.ptr, false); + if (menu->mouse.left) { if (!menu->mouse.oldleft)