(menu_driver.c) Refactors

This commit is contained in:
twinaphex 2015-04-11 05:15:38 +02:00
parent 494dd6200e
commit 8b10d0adc2

View File

@ -174,185 +174,151 @@ menu_handle_t *menu_driver_get_ptr(void)
return driver->menu; return driver->menu;
} }
void menu_driver_navigation_increment(void) static const menu_ctx_driver_t *menu_ctx_driver_get_ptr(void)
{ {
driver_t *driver = driver_get_ptr(); driver_t *driver = driver_get_ptr();
if (!driver) if (!driver || !driver->menu_ctx)
return; return NULL;
return driver->menu_ctx;
}
if (driver->menu_ctx && driver->menu_ctx->navigation_increment) void menu_driver_navigation_increment(void)
driver->menu_ctx->navigation_increment(); {
const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (driver->navigation_increment)
driver->navigation_increment();
} }
void menu_driver_navigation_decrement(void) void menu_driver_navigation_decrement(void)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->navigation_decrement) if (driver->navigation_decrement)
driver->menu_ctx->navigation_decrement(); driver->navigation_decrement();
} }
void menu_driver_navigation_clear(bool pending_push) void menu_driver_navigation_clear(bool pending_push)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->navigation_clear) if (driver->navigation_clear)
driver->menu_ctx->navigation_clear(pending_push); driver->navigation_clear(pending_push);
} }
void menu_driver_navigation_set(bool scroll) void menu_driver_navigation_set(bool scroll)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->navigation_set) if (driver->navigation_set)
driver->menu_ctx->navigation_set(scroll); driver->navigation_set(scroll);
} }
void menu_driver_navigation_set_last(void) void menu_driver_navigation_set_last(void)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->navigation_set_last) if (driver->navigation_set_last)
driver->menu_ctx->navigation_set_last(); driver->navigation_set_last();
} }
void menu_driver_set_texture(void) void menu_driver_set_texture(void)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->set_texture) if (driver->set_texture)
driver->menu_ctx->set_texture(); driver->set_texture();
} }
void menu_driver_context_reset(void) void menu_driver_context_reset(void)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->context_reset) if (driver->context_reset)
driver->menu_ctx->context_reset(); driver->context_reset();
} }
void menu_driver_frame(void) void menu_driver_frame(void)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->frame) if (driver->frame)
driver->menu_ctx->frame(); driver->frame();
} }
void menu_driver_entry_iterate(unsigned action) void menu_driver_entry_iterate(unsigned action)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->entry_iterate) if (driver->entry_iterate)
driver->menu_ctx->entry_iterate(action); driver->entry_iterate(action);
} }
void menu_driver_free(menu_handle_t *menu) void menu_driver_free(menu_handle_t *menu)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->free) if (driver->free)
driver->menu_ctx->free(menu); driver->free(menu);
} }
void menu_driver_render_messagebox(const char *msg) void menu_driver_render_messagebox(const char *msg)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (!driver->video_data)
return;
if (!driver->menu_ctx)
return;
if (!driver->menu_ctx->render_messagebox)
return;
if (!msg) if (!msg)
return; return;
if (msg[0] != '\0') if (driver->render_messagebox && msg[0] != '\0')
driver->menu_ctx->render_messagebox(msg); driver->render_messagebox(msg);
} }
void menu_driver_render(void) void menu_driver_render(void)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (!driver->video_data)
return;
if (driver->menu_ctx && driver->menu_ctx->render) if (driver->render)
driver->menu_ctx->render(); driver->render();
} }
void menu_driver_toggle(bool latch) void menu_driver_toggle(bool latch)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->toggle) if (driver->toggle)
driver->menu_ctx->toggle(latch); driver->toggle(latch);
} }
void menu_driver_populate_entries(const char *path, const char *label, void menu_driver_populate_entries(const char *path, const char *label,
unsigned k) unsigned k)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->populate_entries) if (driver->populate_entries)
driver->menu_ctx->populate_entries(path, label, k); driver->populate_entries(path, label, k);
} }
bool menu_driver_load_background(void *data) bool menu_driver_load_background(void *data)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return false;
if (driver->menu_ctx && driver->menu_ctx->load_background) if (driver->load_background)
return driver->menu_ctx->load_background(data); return driver->load_background(data);
return false; return false;
} }
void menu_driver_navigation_descend_alphabet(size_t *ptr_out) void menu_driver_navigation_descend_alphabet(size_t *ptr_out)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->navigation_descend_alphabet) if (driver->navigation_descend_alphabet)
driver->menu_ctx->navigation_descend_alphabet(ptr_out); driver->navigation_descend_alphabet(ptr_out);
} }
void menu_driver_navigation_ascend_alphabet(size_t *ptr_out) void menu_driver_navigation_ascend_alphabet(size_t *ptr_out)
{ {
driver_t *driver = driver_get_ptr(); const menu_ctx_driver_t *driver = menu_ctx_driver_get_ptr();
if (!driver)
return;
if (driver->menu_ctx && driver->menu_ctx->navigation_ascend_alphabet) if (driver->navigation_ascend_alphabet)
driver->menu_ctx->navigation_ascend_alphabet(ptr_out); driver->navigation_ascend_alphabet(ptr_out);
} }