From 53cd7a56a937105540947c1f7ea92bd6524908fd Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 15 Aug 2015 02:55:30 +0200 Subject: [PATCH] (UI companion) Implement iterate_menu function - should iterate menu system for one frame --- ui/drivers/ui_cocoa.m | 1 + ui/drivers/ui_cocoatouch.m | 7 +++++++ ui/drivers/ui_null.c | 1 + ui/drivers/ui_qt.c | 1 + ui/ui_companion_driver.h | 1 + 5 files changed, 11 insertions(+) diff --git a/ui/drivers/ui_cocoa.m b/ui/drivers/ui_cocoa.m index 24e3701342..b6cb009975 100644 --- a/ui/drivers/ui_cocoa.m +++ b/ui/drivers/ui_cocoa.m @@ -489,6 +489,7 @@ const ui_companion_driver_t ui_companion_cocoa = { ui_companion_cocoa_init, ui_companion_cocoa_deinit, ui_companion_cocoa_iterate, + NULL, ui_companion_cocoa_toggle, ui_companion_cocoa_event_command, ui_companion_cocoa_notify_content_loaded, diff --git a/ui/drivers/ui_cocoatouch.m b/ui/drivers/ui_cocoatouch.m index abef71f272..8be5fd43a5 100644 --- a/ui/drivers/ui_cocoatouch.m +++ b/ui/drivers/ui_cocoatouch.m @@ -475,6 +475,12 @@ static int ui_companion_cocoatouch_iterate(void *data, unsigned action) return 0; } +static int ui_companion_cocoatouch_iterate_menu(void *data, unsigned action) +{ + menu_iterate(input, 0, 0); + rarch_main_set_state(RARCH_ACTION_STATE_MENU_RUNNING_FINISHED); +} + static void ui_companion_cocoatouch_deinit(void *data) { ui_companion_cocoatouch_t *handle = (ui_companion_cocoatouch_t*)data; @@ -533,6 +539,7 @@ const ui_companion_driver_t ui_companion_cocoatouch = { ui_companion_cocoatouch_init, ui_companion_cocoatouch_deinit, ui_companion_cocoatouch_iterate, + ui_companion_cocoatouch_iterate_menu, ui_companion_cocoatouch_toggle, ui_companion_cocoatouch_event_command, ui_companion_cocoatouch_notify_content_loaded, diff --git a/ui/drivers/ui_null.c b/ui/drivers/ui_null.c index 10dacbae44..b43677bcac 100644 --- a/ui/drivers/ui_null.c +++ b/ui/drivers/ui_null.c @@ -81,6 +81,7 @@ const ui_companion_driver_t ui_companion_null = { ui_companion_null_init, ui_companion_null_deinit, ui_companion_null_iterate, + NULL, ui_companion_null_toggle, ui_companion_null_event_command, ui_companion_null_notify_content_loaded, diff --git a/ui/drivers/ui_qt.c b/ui/drivers/ui_qt.c index da468f0bba..acefd4e660 100644 --- a/ui/drivers/ui_qt.c +++ b/ui/drivers/ui_qt.c @@ -126,6 +126,7 @@ const ui_companion_driver_t ui_companion_qt = { ui_companion_qt_init, ui_companion_qt_deinit, ui_companion_qt_iterate, + NULL, ui_companion_qt_toggle, ui_companion_qt_event_command, ui_companion_qt_notify_content_loaded, diff --git a/ui/ui_companion_driver.h b/ui/ui_companion_driver.h index 0db75aa573..15b8f5af9c 100644 --- a/ui/ui_companion_driver.h +++ b/ui/ui_companion_driver.h @@ -37,6 +37,7 @@ typedef struct ui_companion_driver void *(*init)(void); void (*deinit)(void *data); int (*iterate)(void *data, unsigned action); + int (*iterate_menu)(void *data, unsigned action); void (*toggle)(void *data); void (*event_command)(void *data, enum event_command action); void (*notify_content_loaded)(void *data);