mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
move more code out of retroarch.c/retroarch_data.h and into
menu_driver.c
This commit is contained in:
parent
d68a138250
commit
30353ac8f2
@ -33,15 +33,6 @@
|
||||
|
||||
RETRO_BEGIN_DECLS
|
||||
|
||||
typedef struct key_desc
|
||||
{
|
||||
/* libretro key id */
|
||||
unsigned key;
|
||||
|
||||
/* description */
|
||||
char desc[32];
|
||||
} key_desc_t;
|
||||
|
||||
enum
|
||||
{
|
||||
ACTION_OK_DL_DEFAULT = 0,
|
||||
|
@ -54,6 +54,228 @@
|
||||
#include "../input/input_remapping.h"
|
||||
#include "../performance_counters.h"
|
||||
|
||||
struct key_desc key_descriptors[RARCH_MAX_KEYS] =
|
||||
{
|
||||
{RETROK_FIRST, "Unmapped"},
|
||||
{RETROK_BACKSPACE, "Backspace"},
|
||||
{RETROK_TAB, "Tab"},
|
||||
{RETROK_CLEAR, "Clear"},
|
||||
{RETROK_RETURN, "Return"},
|
||||
{RETROK_PAUSE, "Pause"},
|
||||
{RETROK_ESCAPE, "Escape"},
|
||||
{RETROK_SPACE, "Space"},
|
||||
{RETROK_EXCLAIM, "!"},
|
||||
{RETROK_QUOTEDBL, "\""},
|
||||
{RETROK_HASH, "#"},
|
||||
{RETROK_DOLLAR, "$"},
|
||||
{RETROK_AMPERSAND, "&"},
|
||||
{RETROK_QUOTE, "\'"},
|
||||
{RETROK_LEFTPAREN, "("},
|
||||
{RETROK_RIGHTPAREN, ")"},
|
||||
{RETROK_ASTERISK, "*"},
|
||||
{RETROK_PLUS, "+"},
|
||||
{RETROK_COMMA, ","},
|
||||
{RETROK_MINUS, "-"},
|
||||
{RETROK_PERIOD, "."},
|
||||
{RETROK_SLASH, "/"},
|
||||
{RETROK_0, "0"},
|
||||
{RETROK_1, "1"},
|
||||
{RETROK_2, "2"},
|
||||
{RETROK_3, "3"},
|
||||
{RETROK_4, "4"},
|
||||
{RETROK_5, "5"},
|
||||
{RETROK_6, "6"},
|
||||
{RETROK_7, "7"},
|
||||
{RETROK_8, "8"},
|
||||
{RETROK_9, "9"},
|
||||
{RETROK_COLON, ":"},
|
||||
{RETROK_SEMICOLON, ";"},
|
||||
{RETROK_LESS, "<"},
|
||||
{RETROK_EQUALS, "="},
|
||||
{RETROK_GREATER, ">"},
|
||||
{RETROK_QUESTION, "?"},
|
||||
{RETROK_AT, "@"},
|
||||
{RETROK_LEFTBRACKET, "["},
|
||||
{RETROK_BACKSLASH, "\\"},
|
||||
{RETROK_RIGHTBRACKET, "]"},
|
||||
{RETROK_CARET, "^"},
|
||||
{RETROK_UNDERSCORE, "_"},
|
||||
{RETROK_BACKQUOTE, "`"},
|
||||
{RETROK_a, "A"},
|
||||
{RETROK_b, "B"},
|
||||
{RETROK_c, "C"},
|
||||
{RETROK_d, "D"},
|
||||
{RETROK_e, "E"},
|
||||
{RETROK_f, "F"},
|
||||
{RETROK_g, "G"},
|
||||
{RETROK_h, "H"},
|
||||
{RETROK_i, "I"},
|
||||
{RETROK_j, "J"},
|
||||
{RETROK_k, "K"},
|
||||
{RETROK_l, "L"},
|
||||
{RETROK_m, "M"},
|
||||
{RETROK_n, "N"},
|
||||
{RETROK_o, "O"},
|
||||
{RETROK_p, "P"},
|
||||
{RETROK_q, "Q"},
|
||||
{RETROK_r, "R"},
|
||||
{RETROK_s, "S"},
|
||||
{RETROK_t, "T"},
|
||||
{RETROK_u, "U"},
|
||||
{RETROK_v, "V"},
|
||||
{RETROK_w, "W"},
|
||||
{RETROK_x, "X"},
|
||||
{RETROK_y, "Y"},
|
||||
{RETROK_z, "Z"},
|
||||
{RETROK_DELETE, "Delete"},
|
||||
|
||||
{RETROK_KP0, "Numpad 0"},
|
||||
{RETROK_KP1, "Numpad 1"},
|
||||
{RETROK_KP2, "Numpad 2"},
|
||||
{RETROK_KP3, "Numpad 3"},
|
||||
{RETROK_KP4, "Numpad 4"},
|
||||
{RETROK_KP5, "Numpad 5"},
|
||||
{RETROK_KP6, "Numpad 6"},
|
||||
{RETROK_KP7, "Numpad 7"},
|
||||
{RETROK_KP8, "Numpad 8"},
|
||||
{RETROK_KP9, "Numpad 9"},
|
||||
{RETROK_KP_PERIOD, "Numpad ."},
|
||||
{RETROK_KP_DIVIDE, "Numpad /"},
|
||||
{RETROK_KP_MULTIPLY, "Numpad *"},
|
||||
{RETROK_KP_MINUS, "Numpad -"},
|
||||
{RETROK_KP_PLUS, "Numpad +"},
|
||||
{RETROK_KP_ENTER, "Numpad Enter"},
|
||||
{RETROK_KP_EQUALS, "Numpad ="},
|
||||
|
||||
{RETROK_UP, "Up"},
|
||||
{RETROK_DOWN, "Down"},
|
||||
{RETROK_RIGHT, "Right"},
|
||||
{RETROK_LEFT, "Left"},
|
||||
{RETROK_INSERT, "Insert"},
|
||||
{RETROK_HOME, "Home"},
|
||||
{RETROK_END, "End"},
|
||||
{RETROK_PAGEUP, "Page Up"},
|
||||
{RETROK_PAGEDOWN, "Page Down"},
|
||||
|
||||
{RETROK_F1, "F1"},
|
||||
{RETROK_F2, "F2"},
|
||||
{RETROK_F3, "F3"},
|
||||
{RETROK_F4, "F4"},
|
||||
{RETROK_F5, "F5"},
|
||||
{RETROK_F6, "F6"},
|
||||
{RETROK_F7, "F7"},
|
||||
{RETROK_F8, "F8"},
|
||||
{RETROK_F9, "F9"},
|
||||
{RETROK_F10, "F10"},
|
||||
{RETROK_F11, "F11"},
|
||||
{RETROK_F12, "F12"},
|
||||
{RETROK_F13, "F13"},
|
||||
{RETROK_F14, "F14"},
|
||||
{RETROK_F15, "F15"},
|
||||
|
||||
{RETROK_NUMLOCK, "Num Lock"},
|
||||
{RETROK_CAPSLOCK, "Caps Lock"},
|
||||
{RETROK_SCROLLOCK, "Scroll Lock"},
|
||||
{RETROK_RSHIFT, "Right Shift"},
|
||||
{RETROK_LSHIFT, "Left Shift"},
|
||||
{RETROK_RCTRL, "Right Control"},
|
||||
{RETROK_LCTRL, "Left Control"},
|
||||
{RETROK_RALT, "Right Alt"},
|
||||
{RETROK_LALT, "Left Alt"},
|
||||
{RETROK_RMETA, "Right Meta"},
|
||||
{RETROK_LMETA, "Left Meta"},
|
||||
{RETROK_RSUPER, "Right Super"},
|
||||
{RETROK_LSUPER, "Left Super"},
|
||||
{RETROK_MODE, "Mode"},
|
||||
{RETROK_COMPOSE, "Compose"},
|
||||
|
||||
{RETROK_HELP, "Help"},
|
||||
{RETROK_PRINT, "Print"},
|
||||
{RETROK_SYSREQ, "Sys Req"},
|
||||
{RETROK_BREAK, "Break"},
|
||||
{RETROK_MENU, "Menu"},
|
||||
{RETROK_POWER, "Power"},
|
||||
{RETROK_EURO, {-30, -126, -84, 0}}, /* "<22>" */
|
||||
{RETROK_UNDO, "Undo"},
|
||||
{RETROK_OEM_102, "OEM-102"}
|
||||
};
|
||||
|
||||
static void *null_menu_init(void **userdata, bool video_is_threaded)
|
||||
{
|
||||
menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu));
|
||||
if (!menu)
|
||||
return NULL;
|
||||
return menu;
|
||||
}
|
||||
|
||||
static int null_menu_list_bind_init(menu_file_list_cbs_t *cbs,
|
||||
const char *path, const char *label, unsigned type, size_t idx) { return 0; }
|
||||
|
||||
static menu_ctx_driver_t menu_ctx_null = {
|
||||
NULL, /* set_texture */
|
||||
NULL, /* render_messagebox */
|
||||
NULL, /* render */
|
||||
NULL, /* frame */
|
||||
null_menu_init,
|
||||
NULL, /* free */
|
||||
NULL, /* context_reset */
|
||||
NULL, /* context_destroy */
|
||||
NULL, /* populate_entries */
|
||||
NULL, /* toggle */
|
||||
NULL, /* navigation_clear */
|
||||
NULL, /* navigation_decrement */
|
||||
NULL, /* navigation_increment */
|
||||
NULL, /* navigation_set */
|
||||
NULL, /* navigation_set_last */
|
||||
NULL, /* navigation_descend_alphabet */
|
||||
NULL, /* navigation_ascend_alphabet */
|
||||
NULL, /* lists_init */
|
||||
NULL, /* list_insert */
|
||||
NULL, /* list_prepend */
|
||||
NULL, /* list_delete */
|
||||
NULL, /* list_clear */
|
||||
NULL, /* list_cache */
|
||||
NULL, /* list_push */
|
||||
NULL, /* list_get_selection */
|
||||
NULL, /* list_get_size */
|
||||
NULL, /* list_get_entry */
|
||||
NULL, /* list_set_selection */
|
||||
null_menu_list_bind_init,
|
||||
NULL, /* load_image */
|
||||
"null",
|
||||
NULL, /* environ */
|
||||
NULL, /* update_thumbnail_path */
|
||||
NULL, /* update_thumbnail_image */
|
||||
NULL, /* refresh_thumbnail_image */
|
||||
NULL, /* set_thumbnail_system */
|
||||
NULL, /* get_thumbnail_system */
|
||||
NULL, /* set_thumbnail_content */
|
||||
NULL, /* osk_ptr_at_pos */
|
||||
NULL, /* update_savestate_thumbnail_path */
|
||||
NULL, /* update_savestate_thumbnail_image */
|
||||
NULL, /* pointer_down */
|
||||
NULL, /* pointer_up */
|
||||
NULL /* entry_action */
|
||||
};
|
||||
|
||||
/* Menu drivers */
|
||||
const menu_ctx_driver_t *menu_ctx_drivers[] = {
|
||||
#if defined(HAVE_MATERIALUI)
|
||||
&menu_ctx_mui,
|
||||
#endif
|
||||
#if defined(HAVE_OZONE)
|
||||
&menu_ctx_ozone,
|
||||
#endif
|
||||
#if defined(HAVE_RGUI)
|
||||
&menu_ctx_rgui,
|
||||
#endif
|
||||
#if defined(HAVE_XMB)
|
||||
&menu_ctx_xmb,
|
||||
#endif
|
||||
&menu_ctx_null,
|
||||
NULL
|
||||
};
|
||||
|
||||
static bool menu_should_pop_stack(const char *label)
|
||||
{
|
||||
/* > Info box */
|
||||
@ -4659,3 +4881,16 @@ void menu_input_set_pointer_y_accel(float y_accel)
|
||||
|
||||
menu_input->pointer.y_accel = y_accel;
|
||||
}
|
||||
|
||||
bool menu_input_key_bind_set_min_max(menu_input_ctx_bind_limits_t *lim)
|
||||
{
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
struct menu_bind_state *binds = &menu_st->input_binds;
|
||||
if (!lim)
|
||||
return false;
|
||||
|
||||
binds->begin = lim->min;
|
||||
binds->last = lim->max;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
@ -432,6 +432,8 @@ struct menu_state
|
||||
retro_time_t input_last_time_us;
|
||||
menu_input_t input_state; /* retro_time_t alignment */
|
||||
|
||||
struct menu_bind_state input_binds; /* uint64_t alignment */
|
||||
|
||||
menu_handle_t *driver_data;
|
||||
void *userdata;
|
||||
const menu_ctx_driver_t *driver_ctx;
|
||||
@ -833,6 +835,8 @@ extern menu_ctx_driver_t menu_ctx_stripes;
|
||||
|
||||
void menu_input_search_cb(void *userdata, const char *str);
|
||||
|
||||
extern const menu_ctx_driver_t *menu_ctx_drivers[];
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
||||
#endif
|
||||
|
@ -225,6 +225,18 @@ typedef struct menu_input_ctx_hitbox
|
||||
int32_t y2;
|
||||
} menu_input_ctx_hitbox_t;
|
||||
|
||||
typedef struct key_desc
|
||||
{
|
||||
/* libretro key id */
|
||||
unsigned key;
|
||||
|
||||
/* description */
|
||||
char desc[32];
|
||||
} key_desc_t;
|
||||
|
||||
/* TODO/FIXME - public global variables */
|
||||
extern struct key_desc key_descriptors[RARCH_MAX_KEYS];
|
||||
|
||||
/**
|
||||
* Copy parameters from the global menu_input_state to a menu_input_pointer_t
|
||||
* in order to provide access to all pointer device parameters.
|
||||
|
20
retroarch.c
20
retroarch.c
@ -562,8 +562,9 @@ static bool menu_input_key_bind_custom_bind_keyboard_cb(
|
||||
{
|
||||
uint64_t current_usec;
|
||||
struct rarch_state *p_rarch = &rarch_st;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
settings_t *settings = p_rarch->configuration_settings;
|
||||
struct menu_bind_state *binds = &p_rarch->menu_input_binds;
|
||||
struct menu_bind_state *binds = &menu_st->input_binds;
|
||||
uint64_t input_bind_hold_us = settings->uints.input_bind_hold * 1000000;
|
||||
uint64_t input_bind_timeout_us = settings->uints.input_bind_timeout * 1000000;
|
||||
|
||||
@ -619,7 +620,7 @@ bool menu_input_key_bind_set_mode(
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
menu_input_t *menu_input = &menu_st->input_state;
|
||||
settings_t *settings = p_rarch->configuration_settings;
|
||||
struct menu_bind_state *binds = &p_rarch->menu_input_binds;
|
||||
struct menu_bind_state *binds = &menu_st->input_binds;
|
||||
uint64_t input_bind_hold_us = settings->uints.input_bind_hold
|
||||
* 1000000;
|
||||
uint64_t input_bind_timeout_us = settings->uints.input_bind_timeout
|
||||
@ -675,19 +676,6 @@ bool menu_input_key_bind_set_mode(
|
||||
return true;
|
||||
}
|
||||
|
||||
bool menu_input_key_bind_set_min_max(menu_input_ctx_bind_limits_t *lim)
|
||||
{
|
||||
struct rarch_state *p_rarch = &rarch_st;
|
||||
struct menu_bind_state *binds = &p_rarch->menu_input_binds;
|
||||
if (!lim)
|
||||
return false;
|
||||
|
||||
binds->begin = lim->min;
|
||||
binds->last = lim->max;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool menu_input_key_bind_iterate(
|
||||
struct rarch_state *p_rarch,
|
||||
settings_t *settings,
|
||||
@ -696,7 +684,7 @@ static bool menu_input_key_bind_iterate(
|
||||
{
|
||||
bool timed_out = false;
|
||||
struct menu_state *menu_st = menu_state_get_ptr();
|
||||
struct menu_bind_state *_binds = &p_rarch->menu_input_binds;
|
||||
struct menu_bind_state *_binds = &menu_st->input_binds;
|
||||
menu_input_t *menu_input = &menu_st->input_state;
|
||||
uint64_t input_bind_hold_us = settings->uints.input_bind_hold * 1000000;
|
||||
uint64_t input_bind_timeout_us = settings->uints.input_bind_timeout * 1000000;
|
||||
|
228
retroarch_data.h
228
retroarch_data.h
@ -1157,9 +1157,6 @@ struct rarch_state
|
||||
#endif
|
||||
#ifdef HAVE_GFX_WIDGETS
|
||||
dispgfx_widget_t dispwidget_st; /* uint64_t alignment */
|
||||
#endif
|
||||
#ifdef HAVE_MENU
|
||||
struct menu_bind_state menu_input_binds; /* uint64_t alignment */
|
||||
#endif
|
||||
struct retro_core_t current_core; /* uint64_t alignment */
|
||||
#if defined(HAVE_RUNAHEAD)
|
||||
@ -1781,228 +1778,3 @@ unsigned subsystem_current_count = 0;
|
||||
struct retro_keybind input_config_binds[MAX_USERS][RARCH_BIND_LIST_END];
|
||||
struct retro_keybind input_autoconf_binds[MAX_USERS][RARCH_BIND_LIST_END];
|
||||
struct retro_subsystem_info subsystem_data[SUBSYSTEM_MAX_SUBSYSTEMS];
|
||||
|
||||
#ifdef HAVE_MENU
|
||||
/* TODO/FIXME - public global variables */
|
||||
struct key_desc key_descriptors[RARCH_MAX_KEYS] =
|
||||
{
|
||||
{RETROK_FIRST, "Unmapped"},
|
||||
{RETROK_BACKSPACE, "Backspace"},
|
||||
{RETROK_TAB, "Tab"},
|
||||
{RETROK_CLEAR, "Clear"},
|
||||
{RETROK_RETURN, "Return"},
|
||||
{RETROK_PAUSE, "Pause"},
|
||||
{RETROK_ESCAPE, "Escape"},
|
||||
{RETROK_SPACE, "Space"},
|
||||
{RETROK_EXCLAIM, "!"},
|
||||
{RETROK_QUOTEDBL, "\""},
|
||||
{RETROK_HASH, "#"},
|
||||
{RETROK_DOLLAR, "$"},
|
||||
{RETROK_AMPERSAND, "&"},
|
||||
{RETROK_QUOTE, "\'"},
|
||||
{RETROK_LEFTPAREN, "("},
|
||||
{RETROK_RIGHTPAREN, ")"},
|
||||
{RETROK_ASTERISK, "*"},
|
||||
{RETROK_PLUS, "+"},
|
||||
{RETROK_COMMA, ","},
|
||||
{RETROK_MINUS, "-"},
|
||||
{RETROK_PERIOD, "."},
|
||||
{RETROK_SLASH, "/"},
|
||||
{RETROK_0, "0"},
|
||||
{RETROK_1, "1"},
|
||||
{RETROK_2, "2"},
|
||||
{RETROK_3, "3"},
|
||||
{RETROK_4, "4"},
|
||||
{RETROK_5, "5"},
|
||||
{RETROK_6, "6"},
|
||||
{RETROK_7, "7"},
|
||||
{RETROK_8, "8"},
|
||||
{RETROK_9, "9"},
|
||||
{RETROK_COLON, ":"},
|
||||
{RETROK_SEMICOLON, ";"},
|
||||
{RETROK_LESS, "<"},
|
||||
{RETROK_EQUALS, "="},
|
||||
{RETROK_GREATER, ">"},
|
||||
{RETROK_QUESTION, "?"},
|
||||
{RETROK_AT, "@"},
|
||||
{RETROK_LEFTBRACKET, "["},
|
||||
{RETROK_BACKSLASH, "\\"},
|
||||
{RETROK_RIGHTBRACKET, "]"},
|
||||
{RETROK_CARET, "^"},
|
||||
{RETROK_UNDERSCORE, "_"},
|
||||
{RETROK_BACKQUOTE, "`"},
|
||||
{RETROK_a, "A"},
|
||||
{RETROK_b, "B"},
|
||||
{RETROK_c, "C"},
|
||||
{RETROK_d, "D"},
|
||||
{RETROK_e, "E"},
|
||||
{RETROK_f, "F"},
|
||||
{RETROK_g, "G"},
|
||||
{RETROK_h, "H"},
|
||||
{RETROK_i, "I"},
|
||||
{RETROK_j, "J"},
|
||||
{RETROK_k, "K"},
|
||||
{RETROK_l, "L"},
|
||||
{RETROK_m, "M"},
|
||||
{RETROK_n, "N"},
|
||||
{RETROK_o, "O"},
|
||||
{RETROK_p, "P"},
|
||||
{RETROK_q, "Q"},
|
||||
{RETROK_r, "R"},
|
||||
{RETROK_s, "S"},
|
||||
{RETROK_t, "T"},
|
||||
{RETROK_u, "U"},
|
||||
{RETROK_v, "V"},
|
||||
{RETROK_w, "W"},
|
||||
{RETROK_x, "X"},
|
||||
{RETROK_y, "Y"},
|
||||
{RETROK_z, "Z"},
|
||||
{RETROK_DELETE, "Delete"},
|
||||
|
||||
{RETROK_KP0, "Numpad 0"},
|
||||
{RETROK_KP1, "Numpad 1"},
|
||||
{RETROK_KP2, "Numpad 2"},
|
||||
{RETROK_KP3, "Numpad 3"},
|
||||
{RETROK_KP4, "Numpad 4"},
|
||||
{RETROK_KP5, "Numpad 5"},
|
||||
{RETROK_KP6, "Numpad 6"},
|
||||
{RETROK_KP7, "Numpad 7"},
|
||||
{RETROK_KP8, "Numpad 8"},
|
||||
{RETROK_KP9, "Numpad 9"},
|
||||
{RETROK_KP_PERIOD, "Numpad ."},
|
||||
{RETROK_KP_DIVIDE, "Numpad /"},
|
||||
{RETROK_KP_MULTIPLY, "Numpad *"},
|
||||
{RETROK_KP_MINUS, "Numpad -"},
|
||||
{RETROK_KP_PLUS, "Numpad +"},
|
||||
{RETROK_KP_ENTER, "Numpad Enter"},
|
||||
{RETROK_KP_EQUALS, "Numpad ="},
|
||||
|
||||
{RETROK_UP, "Up"},
|
||||
{RETROK_DOWN, "Down"},
|
||||
{RETROK_RIGHT, "Right"},
|
||||
{RETROK_LEFT, "Left"},
|
||||
{RETROK_INSERT, "Insert"},
|
||||
{RETROK_HOME, "Home"},
|
||||
{RETROK_END, "End"},
|
||||
{RETROK_PAGEUP, "Page Up"},
|
||||
{RETROK_PAGEDOWN, "Page Down"},
|
||||
|
||||
{RETROK_F1, "F1"},
|
||||
{RETROK_F2, "F2"},
|
||||
{RETROK_F3, "F3"},
|
||||
{RETROK_F4, "F4"},
|
||||
{RETROK_F5, "F5"},
|
||||
{RETROK_F6, "F6"},
|
||||
{RETROK_F7, "F7"},
|
||||
{RETROK_F8, "F8"},
|
||||
{RETROK_F9, "F9"},
|
||||
{RETROK_F10, "F10"},
|
||||
{RETROK_F11, "F11"},
|
||||
{RETROK_F12, "F12"},
|
||||
{RETROK_F13, "F13"},
|
||||
{RETROK_F14, "F14"},
|
||||
{RETROK_F15, "F15"},
|
||||
|
||||
{RETROK_NUMLOCK, "Num Lock"},
|
||||
{RETROK_CAPSLOCK, "Caps Lock"},
|
||||
{RETROK_SCROLLOCK, "Scroll Lock"},
|
||||
{RETROK_RSHIFT, "Right Shift"},
|
||||
{RETROK_LSHIFT, "Left Shift"},
|
||||
{RETROK_RCTRL, "Right Control"},
|
||||
{RETROK_LCTRL, "Left Control"},
|
||||
{RETROK_RALT, "Right Alt"},
|
||||
{RETROK_LALT, "Left Alt"},
|
||||
{RETROK_RMETA, "Right Meta"},
|
||||
{RETROK_LMETA, "Left Meta"},
|
||||
{RETROK_RSUPER, "Right Super"},
|
||||
{RETROK_LSUPER, "Left Super"},
|
||||
{RETROK_MODE, "Mode"},
|
||||
{RETROK_COMPOSE, "Compose"},
|
||||
|
||||
{RETROK_HELP, "Help"},
|
||||
{RETROK_PRINT, "Print"},
|
||||
{RETROK_SYSREQ, "Sys Req"},
|
||||
{RETROK_BREAK, "Break"},
|
||||
{RETROK_MENU, "Menu"},
|
||||
{RETROK_POWER, "Power"},
|
||||
{RETROK_EURO, {-30, -126, -84, 0}}, /* "<22>" */
|
||||
{RETROK_UNDO, "Undo"},
|
||||
{RETROK_OEM_102, "OEM-102"}
|
||||
};
|
||||
|
||||
static void *null_menu_init(void **userdata, bool video_is_threaded)
|
||||
{
|
||||
menu_handle_t *menu = (menu_handle_t*)calloc(1, sizeof(*menu));
|
||||
if (!menu)
|
||||
return NULL;
|
||||
return menu;
|
||||
}
|
||||
|
||||
static int null_menu_list_bind_init(menu_file_list_cbs_t *cbs,
|
||||
const char *path, const char *label, unsigned type, size_t idx) { return 0; }
|
||||
|
||||
static menu_ctx_driver_t menu_ctx_null = {
|
||||
NULL, /* set_texture */
|
||||
NULL, /* render_messagebox */
|
||||
NULL, /* render */
|
||||
NULL, /* frame */
|
||||
null_menu_init,
|
||||
NULL, /* free */
|
||||
NULL, /* context_reset */
|
||||
NULL, /* context_destroy */
|
||||
NULL, /* populate_entries */
|
||||
NULL, /* toggle */
|
||||
NULL, /* navigation_clear */
|
||||
NULL, /* navigation_decrement */
|
||||
NULL, /* navigation_increment */
|
||||
NULL, /* navigation_set */
|
||||
NULL, /* navigation_set_last */
|
||||
NULL, /* navigation_descend_alphabet */
|
||||
NULL, /* navigation_ascend_alphabet */
|
||||
NULL, /* lists_init */
|
||||
NULL, /* list_insert */
|
||||
NULL, /* list_prepend */
|
||||
NULL, /* list_delete */
|
||||
NULL, /* list_clear */
|
||||
NULL, /* list_cache */
|
||||
NULL, /* list_push */
|
||||
NULL, /* list_get_selection */
|
||||
NULL, /* list_get_size */
|
||||
NULL, /* list_get_entry */
|
||||
NULL, /* list_set_selection */
|
||||
null_menu_list_bind_init,
|
||||
NULL, /* load_image */
|
||||
"null",
|
||||
NULL, /* environ */
|
||||
NULL, /* update_thumbnail_path */
|
||||
NULL, /* update_thumbnail_image */
|
||||
NULL, /* refresh_thumbnail_image */
|
||||
NULL, /* set_thumbnail_system */
|
||||
NULL, /* get_thumbnail_system */
|
||||
NULL, /* set_thumbnail_content */
|
||||
NULL, /* osk_ptr_at_pos */
|
||||
NULL, /* update_savestate_thumbnail_path */
|
||||
NULL, /* update_savestate_thumbnail_image */
|
||||
NULL, /* pointer_down */
|
||||
NULL, /* pointer_up */
|
||||
NULL /* entry_action */
|
||||
};
|
||||
|
||||
/* Menu drivers */
|
||||
static const menu_ctx_driver_t *menu_ctx_drivers[] = {
|
||||
#if defined(HAVE_MATERIALUI)
|
||||
&menu_ctx_mui,
|
||||
#endif
|
||||
#if defined(HAVE_OZONE)
|
||||
&menu_ctx_ozone,
|
||||
#endif
|
||||
#if defined(HAVE_RGUI)
|
||||
&menu_ctx_rgui,
|
||||
#endif
|
||||
#if defined(HAVE_XMB)
|
||||
&menu_ctx_xmb,
|
||||
#endif
|
||||
&menu_ctx_null,
|
||||
NULL
|
||||
};
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user