mirror of
https://github.com/libretro/RetroArch
synced 2025-03-28 19:20:35 +00:00
Create global wrapper function for state
This commit is contained in:
parent
9aa736b522
commit
77f5433f22
@ -249,8 +249,6 @@ typedef struct dispgfx_widget
|
||||
#endif
|
||||
} dispgfx_widget_t;
|
||||
|
||||
/* TODO/FIXME - static global state - perhaps move outside this file */
|
||||
static dispgfx_widget_t dispwidget_st;
|
||||
|
||||
/* TODO/FIXME - global state - perhaps move outside this file */
|
||||
static float msg_queue_background[16] =
|
||||
@ -327,33 +325,40 @@ static void gfx_widgets_free(dispgfx_widget_t *p_dispwidget);
|
||||
static void gfx_widgets_layout(dispgfx_widget_t *p_dispwidget,
|
||||
bool is_threaded, const char *dir_assets, char *font_path);
|
||||
|
||||
dispgfx_widget_t *dispwidget_get_ptr(void)
|
||||
{
|
||||
/* TODO/FIXME - static global state - perhaps move outside this file */
|
||||
static dispgfx_widget_t dispwidget_st;
|
||||
return &dispwidget_st;
|
||||
}
|
||||
|
||||
bool gfx_widgets_active(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return p_dispwidget->widgets_active;
|
||||
}
|
||||
|
||||
void gfx_widgets_set_persistence(bool persist)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
p_dispwidget->widgets_persisting = persist;
|
||||
}
|
||||
|
||||
gfx_widget_font_data_t* gfx_widgets_get_font_regular(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return &p_dispwidget->gfx_widget_fonts.regular;
|
||||
}
|
||||
|
||||
gfx_widget_font_data_t* gfx_widgets_get_font_bold(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return &p_dispwidget->gfx_widget_fonts.bold;
|
||||
}
|
||||
|
||||
gfx_widget_font_data_t* gfx_widgets_get_font_msg_queue(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return &p_dispwidget->gfx_widget_fonts.msg_queue;
|
||||
}
|
||||
|
||||
@ -371,43 +376,43 @@ float* gfx_widgets_get_backdrop_orig(void)
|
||||
|
||||
gfx_animation_ctx_tag gfx_widgets_get_generic_tag(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return p_dispwidget->gfx_widgets_generic_tag;
|
||||
}
|
||||
|
||||
unsigned gfx_widgets_get_padding(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return p_dispwidget->simple_widget_padding;
|
||||
}
|
||||
|
||||
unsigned gfx_widgets_get_height(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return p_dispwidget->simple_widget_height;
|
||||
}
|
||||
|
||||
unsigned gfx_widgets_get_generic_message_height(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return p_dispwidget->generic_message_height;
|
||||
}
|
||||
|
||||
unsigned gfx_widgets_get_last_video_width(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return p_dispwidget->last_video_width;
|
||||
}
|
||||
|
||||
unsigned gfx_widgets_get_last_video_height(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return p_dispwidget->last_video_height;
|
||||
}
|
||||
|
||||
size_t gfx_widgets_get_msg_queue_size(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return p_dispwidget->current_msgs ? p_dispwidget->current_msgs->size : 0;
|
||||
}
|
||||
|
||||
@ -443,7 +448,7 @@ void gfx_widgets_msg_queue_push(
|
||||
bool menu_is_alive)
|
||||
{
|
||||
menu_widget_msg_t *msg_widget = NULL;
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
|
||||
if (!p_dispwidget->widgets_active)
|
||||
return;
|
||||
@ -627,7 +632,7 @@ void gfx_widgets_msg_queue_push(
|
||||
static void gfx_widgets_unfold_end(void *userdata)
|
||||
{
|
||||
menu_widget_msg_t *unfold = (menu_widget_msg_t*)userdata;
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
|
||||
unfold->unfolding = false;
|
||||
p_dispwidget->widgets_moving = false;
|
||||
@ -635,7 +640,7 @@ static void gfx_widgets_unfold_end(void *userdata)
|
||||
|
||||
static void gfx_widgets_move_end(void *userdata)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
|
||||
if (userdata)
|
||||
{
|
||||
@ -760,7 +765,7 @@ static void gfx_widgets_msg_queue_free(
|
||||
|
||||
static void gfx_widgets_msg_queue_kill_end(void *userdata)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
menu_widget_msg_t *msg = (menu_widget_msg_t*)
|
||||
p_dispwidget->current_msgs->list[p_dispwidget->msg_queue_kill].userdata;
|
||||
|
||||
@ -1019,7 +1024,7 @@ void gfx_widgets_iterate(
|
||||
{
|
||||
size_t i;
|
||||
float scale_factor;
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
|
||||
if (!p_dispwidget->widgets_active)
|
||||
return;
|
||||
@ -1628,7 +1633,7 @@ void gfx_widgets_frame(void *data)
|
||||
#ifdef HAVE_CHEEVOS
|
||||
int scissor_me_timbers = 0;
|
||||
#endif
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
|
||||
if (!p_dispwidget->widgets_active)
|
||||
return;
|
||||
@ -2031,7 +2036,7 @@ bool gfx_widgets_init(
|
||||
unsigned width, unsigned height, bool fullscreen,
|
||||
const char *dir_assets, char *font_path)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
#ifdef HAVE_CHEEVOS
|
||||
p_dispwidget->cheevo_popup_queue_read_index = -1;
|
||||
#endif
|
||||
@ -2091,7 +2096,7 @@ error:
|
||||
|
||||
void gfx_widgets_deinit(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
if (!p_dispwidget->widgets_inited)
|
||||
return;
|
||||
|
||||
@ -2440,7 +2445,7 @@ static void gfx_widgets_achievement_free_current(dispgfx_widget_t *p_dispwidget)
|
||||
|
||||
static void gfx_widgets_achievement_next(void* userdata)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
SLOCK_LOCK(p_dispwidget->cheevo_popup_queue_lock);
|
||||
|
||||
gfx_widgets_achievement_free_current(p_dispwidget);
|
||||
@ -2534,7 +2539,7 @@ static void gfx_widgets_free(dispgfx_widget_t *p_dispwidget)
|
||||
|
||||
bool gfx_widgets_set_fps_text(const char *new_fps_text)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
if (!p_dispwidget->widgets_active)
|
||||
return false;
|
||||
|
||||
@ -2547,13 +2552,13 @@ bool gfx_widgets_set_fps_text(const char *new_fps_text)
|
||||
#ifdef HAVE_TRANSLATE
|
||||
int gfx_widgets_ai_service_overlay_get_state(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
return p_dispwidget->ai_service_overlay_state;
|
||||
}
|
||||
|
||||
bool gfx_widgets_ai_service_overlay_set_state(int state)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
p_dispwidget->ai_service_overlay_state = state;
|
||||
return true;
|
||||
}
|
||||
@ -2562,7 +2567,7 @@ bool gfx_widgets_ai_service_overlay_load(
|
||||
char* buffer, unsigned buffer_len,
|
||||
enum image_type_enum image_type)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
|
||||
if (p_dispwidget->ai_service_overlay_state == 0)
|
||||
{
|
||||
@ -2581,7 +2586,7 @@ bool gfx_widgets_ai_service_overlay_load(
|
||||
|
||||
void gfx_widgets_ai_service_overlay_unload(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
|
||||
if (p_dispwidget->ai_service_overlay_state == 1)
|
||||
{
|
||||
@ -2602,7 +2607,7 @@ static void gfx_widgets_end_load_content_animation(void *userdata)
|
||||
|
||||
void gfx_widgets_cleanup_load_content_animation(void)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
p_dispwidget->load_content_animation_running = false;
|
||||
if (p_dispwidget->load_content_animation_content_name)
|
||||
free(p_dispwidget->load_content_animation_content_name);
|
||||
@ -2618,7 +2623,7 @@ void gfx_widgets_start_load_content_animation(
|
||||
int i;
|
||||
gfx_animation_ctx_entry_t entry;
|
||||
gfx_timer_ctx_entry_t timer_entry;
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
float icon_color[16] =
|
||||
COLOR_HEX_TO_FLOAT(0x0473C9, 1.0f); /* TODO: random color */
|
||||
unsigned timing = 0;
|
||||
@ -2728,7 +2733,7 @@ void gfx_widgets_start_load_content_animation(
|
||||
static void gfx_widgets_achievement_dismiss(void *userdata)
|
||||
{
|
||||
gfx_animation_ctx_entry_t entry;
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
|
||||
/* Slide up animation */
|
||||
entry.cb = gfx_widgets_achievement_next;
|
||||
@ -2745,7 +2750,7 @@ static void gfx_widgets_achievement_dismiss(void *userdata)
|
||||
static void gfx_widgets_achievement_fold(void *userdata)
|
||||
{
|
||||
gfx_animation_ctx_entry_t entry;
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
|
||||
/* Fold */
|
||||
entry.cb = gfx_widgets_achievement_dismiss;
|
||||
@ -2763,7 +2768,7 @@ static void gfx_widgets_achievement_unfold(void *userdata)
|
||||
{
|
||||
gfx_timer_ctx_entry_t timer;
|
||||
gfx_animation_ctx_entry_t entry;
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
|
||||
/* Unfold */
|
||||
entry.cb = NULL;
|
||||
@ -2817,7 +2822,7 @@ static void gfx_widgets_start_achievement_notification(
|
||||
|
||||
void gfx_widgets_push_achievement(const char *title, const char *badge)
|
||||
{
|
||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
||||
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||
int start_notification = 1;
|
||||
|
||||
if (!p_dispwidget->widgets_active)
|
||||
|
Loading…
x
Reference in New Issue
Block a user