(RMenu) Refactor rmenu
This commit is contained in:
parent
df5c88c837
commit
6e8e22a458
|
@ -112,7 +112,6 @@ static void rmenu_render_messagebox(void *data, const char *message)
|
|||
}
|
||||
|
||||
render_normal = false;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -123,6 +122,19 @@ static void rmenu_render(void *data)
|
|||
render_normal = true;
|
||||
return;
|
||||
}
|
||||
|
||||
if (!menu_texture && !menu_texture_inited)
|
||||
{
|
||||
if (g_extern.video_active && driver.video_data)
|
||||
{
|
||||
menu_texture = (struct texture_image*)calloc(1, sizeof(*menu_texture));
|
||||
texture_image_load(g_extern.menu_texture_path, menu_texture);
|
||||
rgui->width = menu_texture->width;
|
||||
rgui->height = menu_texture->height;
|
||||
rmenu_set_texture(rgui, true);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
rgui_handle_t *rgui = (rgui_handle_t*)data;
|
||||
font_params_t font_parms;
|
||||
|
@ -397,39 +409,23 @@ void rmenu_set_texture(void *data, bool enable)
|
|||
}
|
||||
}
|
||||
|
||||
static void rmenu_init_assets(void *data)
|
||||
{
|
||||
rgui_handle_t *rgui = (rgui_handle_t*)data;
|
||||
|
||||
if (!rgui)
|
||||
return;
|
||||
|
||||
menu_texture = (struct texture_image*)calloc(1, sizeof(*menu_texture));
|
||||
texture_image_load(g_extern.menu_texture_path, menu_texture);
|
||||
rgui->width = menu_texture->width;
|
||||
rgui->height = menu_texture->height;
|
||||
|
||||
rmenu_set_texture(rgui, true);
|
||||
}
|
||||
|
||||
static void *rmenu_init(void)
|
||||
{
|
||||
rgui_handle_t *rgui = (rgui_handle_t*)calloc(1, sizeof(*rgui));
|
||||
|
||||
rmenu_init_assets(rgui);
|
||||
if (!rgui)
|
||||
return NULL;
|
||||
|
||||
return rgui;
|
||||
}
|
||||
|
||||
static void rmenu_free_assets(void *data)
|
||||
{
|
||||
texture_image_free(menu_texture);
|
||||
menu_texture_inited = false;
|
||||
}
|
||||
|
||||
static void rmenu_free(void *data)
|
||||
{
|
||||
rmenu_free_assets(data);
|
||||
if (menu_texture)
|
||||
{
|
||||
texture_image_free(menu_texture);
|
||||
menu_texture_inited = false;
|
||||
}
|
||||
}
|
||||
|
||||
int rgui_input_postprocess(void *data, uint64_t old_state)
|
||||
|
@ -449,15 +445,13 @@ int rgui_input_postprocess(void *data, uint64_t old_state)
|
|||
return ret;
|
||||
}
|
||||
|
||||
|
||||
const menu_ctx_driver_t menu_ctx_rmenu = {
|
||||
rmenu_set_texture,
|
||||
rmenu_render_messagebox,
|
||||
rmenu_render,
|
||||
rmenu_init,
|
||||
rmenu_free,
|
||||
rmenu_init_assets,
|
||||
rmenu_free_assets,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
"rmenu",
|
||||
|
|
Loading…
Reference in New Issue