diff --git a/Makefile.common b/Makefile.common index 0e254a3688..4e37d10def 100644 --- a/Makefile.common +++ b/Makefile.common @@ -117,6 +117,7 @@ OBJ += frontend/frontend.o \ ui/ui_companion_driver.o \ ui/drivers/ui_null.o \ ui/drivers/null/ui_null_window.o \ + ui/drivers/null/ui_null_application.o \ core_impl.o \ retroarch.o \ input/input_keyboard.o \ diff --git a/griffin/griffin.c b/griffin/griffin.c index 92e4380361..5c2a4aa4fe 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -723,6 +723,7 @@ UI #include "../ui/drivers/ui_null.c" #include "../ui/drivers/null/ui_null_window.c" +#include "../ui/drivers/null/ui_null_application.c" #ifdef HAVE_QT #include "../ui/drivers/ui_qt.c" diff --git a/ui/drivers/null/ui_null_application.c b/ui/drivers/null/ui_null_application.c new file mode 100644 index 0000000000..47545160fe --- /dev/null +++ b/ui/drivers/null/ui_null_application.c @@ -0,0 +1,31 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2011-2016 - Daniel De Matteis + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include +#include +#include +#include +#include + +#include "../../ui_companion_driver.h" + +void ui_application_null_process_events(void *data) +{ +} + +const ui_application_t ui_application_null = { + ui_application_null_process_events, + "null" +}; diff --git a/ui/drivers/ui_cocoa.m b/ui/drivers/ui_cocoa.m index c41f023b5a..fc240b31f7 100644 --- a/ui/drivers/ui_cocoa.m +++ b/ui/drivers/ui_cocoa.m @@ -597,5 +597,6 @@ const ui_companion_driver_t ui_companion_cocoa = { NULL, NULL, &ui_window_cocoa, + &ui_application_null, "cocoa", }; diff --git a/ui/drivers/ui_cocoatouch.m b/ui/drivers/ui_cocoatouch.m index 61409338a5..74a17b3bfc 100644 --- a/ui/drivers/ui_cocoatouch.m +++ b/ui/drivers/ui_cocoatouch.m @@ -688,5 +688,6 @@ const ui_companion_driver_t ui_companion_cocoatouch = { ui_companion_cocoatouch_msg_queue_push, ui_companion_cocoatouch_render_messagebox, &ui_window_null, + &ui_application_null, "cocoatouch", }; diff --git a/ui/drivers/ui_null.c b/ui/drivers/ui_null.c index 1c81c80280..960096fcd5 100644 --- a/ui/drivers/ui_null.c +++ b/ui/drivers/ui_null.c @@ -89,5 +89,6 @@ const ui_companion_driver_t ui_companion_null = { NULL, NULL, &ui_window_null, + &ui_application_null, "null", }; diff --git a/ui/drivers/ui_qt.c b/ui/drivers/ui_qt.c index e50dca24ad..fb76f72e60 100644 --- a/ui/drivers/ui_qt.c +++ b/ui/drivers/ui_qt.c @@ -133,5 +133,6 @@ const ui_companion_driver_t ui_companion_qt = { NULL, NULL, &ui_window_null, + &ui_application_null, "qt", }; diff --git a/ui/drivers/ui_win32.c b/ui/drivers/ui_win32.c index b3f7e2daa6..afc2588ba7 100644 --- a/ui/drivers/ui_win32.c +++ b/ui/drivers/ui_win32.c @@ -730,5 +730,6 @@ const ui_companion_driver_t ui_companion_win32 = { NULL, NULL, &ui_window_win32, + &ui_application_null, "win32", }; diff --git a/ui/ui_companion_driver.h b/ui/ui_companion_driver.h index 5c89c1244d..169bb8cb76 100644 --- a/ui/ui_companion_driver.h +++ b/ui/ui_companion_driver.h @@ -31,6 +31,12 @@ RETRO_BEGIN_DECLS +typedef struct ui_application +{ + void (*process_events)(void *data); + const char *ident; +} ui_application_t; + typedef struct ui_window { void (*destroy)(void *data); @@ -55,6 +61,7 @@ typedef struct ui_companion_driver void (*msg_queue_push)(const char *msg, unsigned priority, unsigned duration, bool flush); void (*render_messagebox)(const char *msg); const ui_window_t *window; + const ui_application_t *application; const char *ident; } ui_companion_driver_t; @@ -62,6 +69,8 @@ extern const ui_window_t ui_window_null; extern const ui_window_t ui_window_cocoa; extern const ui_window_t ui_window_win32; +extern const ui_application_t ui_application_null; + extern const ui_companion_driver_t ui_companion_null; extern const ui_companion_driver_t ui_companion_cocoa; extern const ui_companion_driver_t ui_companion_cocoatouch;