diff --git a/apps/plugin.c b/apps/plugin.c index 7d3b13c726..6748a19355 100644 --- a/apps/plugin.c +++ b/apps/plugin.c @@ -341,6 +341,20 @@ static const struct plugin_api rockbox_api = { /* new stuff at the end, sort into place next time the API gets incompatible */ + + menu_init, + menu_exit, + menu_show, + menu_run, + menu_cursor, + menu_description, + menu_delete, + menu_count, + menu_moveup, + menu_movedown, + menu_draw, + menu_insert, + menu_set_cursor, }; int plugin_load(const char* plugin, void* parameter) diff --git a/apps/plugin.h b/apps/plugin.h index 5cc9c1b58a..f133d325a5 100644 --- a/apps/plugin.h +++ b/apps/plugin.h @@ -56,6 +56,7 @@ #include "widgets.h" #endif #include "sound.h" +#include "menu.h" #ifdef HAVE_REMOTE_LCD #include "lcd-remote.h" @@ -426,7 +427,22 @@ struct plugin_api { /* new stuff at the end, sort into place next time the API gets incompatible */ - + + int (*menu_init)(const struct menu_item* mitems, int count, + int (*callback)(int, int), + const char *button1, const char *button2, const char *button3); + void (*menu_exit)(int menu); + int (*menu_show)(int m); + bool (*menu_run)(int menu); + int (*menu_cursor)(int menu); + char* (*menu_description)(int menu, int position); + void (*menu_delete)(int menu, int position); + int (*menu_count)(int menu); + bool (*menu_moveup)(int menu); + bool (*menu_movedown)(int menu); + void (*menu_draw)(int menu); + void (*menu_insert)(int menu, int position, char *desc, bool (*function) (void)); + void (*menu_set_cursor)(int menu, int position); }; int plugin_load(const char* plugin, void* parameter);