mirror of
https://github.com/libretro/RetroArch
synced 2025-04-18 14:42:30 +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
|
#endif
|
||||||
} dispgfx_widget_t;
|
} 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 */
|
/* TODO/FIXME - global state - perhaps move outside this file */
|
||||||
static float msg_queue_background[16] =
|
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,
|
static void gfx_widgets_layout(dispgfx_widget_t *p_dispwidget,
|
||||||
bool is_threaded, const char *dir_assets, char *font_path);
|
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)
|
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;
|
return p_dispwidget->widgets_active;
|
||||||
}
|
}
|
||||||
|
|
||||||
void gfx_widgets_set_persistence(bool persist)
|
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;
|
p_dispwidget->widgets_persisting = persist;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfx_widget_font_data_t* gfx_widgets_get_font_regular(void)
|
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;
|
return &p_dispwidget->gfx_widget_fonts.regular;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfx_widget_font_data_t* gfx_widgets_get_font_bold(void)
|
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;
|
return &p_dispwidget->gfx_widget_fonts.bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
gfx_widget_font_data_t* gfx_widgets_get_font_msg_queue(void)
|
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;
|
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)
|
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;
|
return p_dispwidget->gfx_widgets_generic_tag;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned gfx_widgets_get_padding(void)
|
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;
|
return p_dispwidget->simple_widget_padding;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned gfx_widgets_get_height(void)
|
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;
|
return p_dispwidget->simple_widget_height;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned gfx_widgets_get_generic_message_height(void)
|
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;
|
return p_dispwidget->generic_message_height;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned gfx_widgets_get_last_video_width(void)
|
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;
|
return p_dispwidget->last_video_width;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsigned gfx_widgets_get_last_video_height(void)
|
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;
|
return p_dispwidget->last_video_height;
|
||||||
}
|
}
|
||||||
|
|
||||||
size_t gfx_widgets_get_msg_queue_size(void)
|
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;
|
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)
|
bool menu_is_alive)
|
||||||
{
|
{
|
||||||
menu_widget_msg_t *msg_widget = NULL;
|
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)
|
if (!p_dispwidget->widgets_active)
|
||||||
return;
|
return;
|
||||||
@ -627,7 +632,7 @@ void gfx_widgets_msg_queue_push(
|
|||||||
static void gfx_widgets_unfold_end(void *userdata)
|
static void gfx_widgets_unfold_end(void *userdata)
|
||||||
{
|
{
|
||||||
menu_widget_msg_t *unfold = (menu_widget_msg_t*)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;
|
unfold->unfolding = false;
|
||||||
p_dispwidget->widgets_moving = 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)
|
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)
|
if (userdata)
|
||||||
{
|
{
|
||||||
@ -760,7 +765,7 @@ static void gfx_widgets_msg_queue_free(
|
|||||||
|
|
||||||
static void gfx_widgets_msg_queue_kill_end(void *userdata)
|
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*)
|
menu_widget_msg_t *msg = (menu_widget_msg_t*)
|
||||||
p_dispwidget->current_msgs->list[p_dispwidget->msg_queue_kill].userdata;
|
p_dispwidget->current_msgs->list[p_dispwidget->msg_queue_kill].userdata;
|
||||||
|
|
||||||
@ -1019,7 +1024,7 @@ void gfx_widgets_iterate(
|
|||||||
{
|
{
|
||||||
size_t i;
|
size_t i;
|
||||||
float scale_factor;
|
float scale_factor;
|
||||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||||
|
|
||||||
if (!p_dispwidget->widgets_active)
|
if (!p_dispwidget->widgets_active)
|
||||||
return;
|
return;
|
||||||
@ -1628,7 +1633,7 @@ void gfx_widgets_frame(void *data)
|
|||||||
#ifdef HAVE_CHEEVOS
|
#ifdef HAVE_CHEEVOS
|
||||||
int scissor_me_timbers = 0;
|
int scissor_me_timbers = 0;
|
||||||
#endif
|
#endif
|
||||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||||
|
|
||||||
if (!p_dispwidget->widgets_active)
|
if (!p_dispwidget->widgets_active)
|
||||||
return;
|
return;
|
||||||
@ -2031,7 +2036,7 @@ bool gfx_widgets_init(
|
|||||||
unsigned width, unsigned height, bool fullscreen,
|
unsigned width, unsigned height, bool fullscreen,
|
||||||
const char *dir_assets, char *font_path)
|
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
|
#ifdef HAVE_CHEEVOS
|
||||||
p_dispwidget->cheevo_popup_queue_read_index = -1;
|
p_dispwidget->cheevo_popup_queue_read_index = -1;
|
||||||
#endif
|
#endif
|
||||||
@ -2091,7 +2096,7 @@ error:
|
|||||||
|
|
||||||
void gfx_widgets_deinit(void)
|
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)
|
if (!p_dispwidget->widgets_inited)
|
||||||
return;
|
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)
|
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);
|
SLOCK_LOCK(p_dispwidget->cheevo_popup_queue_lock);
|
||||||
|
|
||||||
gfx_widgets_achievement_free_current(p_dispwidget);
|
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)
|
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)
|
if (!p_dispwidget->widgets_active)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -2547,13 +2552,13 @@ bool gfx_widgets_set_fps_text(const char *new_fps_text)
|
|||||||
#ifdef HAVE_TRANSLATE
|
#ifdef HAVE_TRANSLATE
|
||||||
int gfx_widgets_ai_service_overlay_get_state(void)
|
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;
|
return p_dispwidget->ai_service_overlay_state;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool gfx_widgets_ai_service_overlay_set_state(int 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;
|
p_dispwidget->ai_service_overlay_state = state;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -2562,7 +2567,7 @@ bool gfx_widgets_ai_service_overlay_load(
|
|||||||
char* buffer, unsigned buffer_len,
|
char* buffer, unsigned buffer_len,
|
||||||
enum image_type_enum image_type)
|
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)
|
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)
|
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)
|
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)
|
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;
|
p_dispwidget->load_content_animation_running = false;
|
||||||
if (p_dispwidget->load_content_animation_content_name)
|
if (p_dispwidget->load_content_animation_content_name)
|
||||||
free(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;
|
int i;
|
||||||
gfx_animation_ctx_entry_t entry;
|
gfx_animation_ctx_entry_t entry;
|
||||||
gfx_timer_ctx_entry_t timer_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] =
|
float icon_color[16] =
|
||||||
COLOR_HEX_TO_FLOAT(0x0473C9, 1.0f); /* TODO: random color */
|
COLOR_HEX_TO_FLOAT(0x0473C9, 1.0f); /* TODO: random color */
|
||||||
unsigned timing = 0;
|
unsigned timing = 0;
|
||||||
@ -2728,7 +2733,7 @@ void gfx_widgets_start_load_content_animation(
|
|||||||
static void gfx_widgets_achievement_dismiss(void *userdata)
|
static void gfx_widgets_achievement_dismiss(void *userdata)
|
||||||
{
|
{
|
||||||
gfx_animation_ctx_entry_t entry;
|
gfx_animation_ctx_entry_t entry;
|
||||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||||
|
|
||||||
/* Slide up animation */
|
/* Slide up animation */
|
||||||
entry.cb = gfx_widgets_achievement_next;
|
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)
|
static void gfx_widgets_achievement_fold(void *userdata)
|
||||||
{
|
{
|
||||||
gfx_animation_ctx_entry_t entry;
|
gfx_animation_ctx_entry_t entry;
|
||||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||||
|
|
||||||
/* Fold */
|
/* Fold */
|
||||||
entry.cb = gfx_widgets_achievement_dismiss;
|
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_timer_ctx_entry_t timer;
|
||||||
gfx_animation_ctx_entry_t entry;
|
gfx_animation_ctx_entry_t entry;
|
||||||
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
|
dispgfx_widget_t *p_dispwidget = dispwidget_get_ptr();
|
||||||
|
|
||||||
/* Unfold */
|
/* Unfold */
|
||||||
entry.cb = NULL;
|
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)
|
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;
|
int start_notification = 1;
|
||||||
|
|
||||||
if (!p_dispwidget->widgets_active)
|
if (!p_dispwidget->widgets_active)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user