(gfx widgets) Start removing a lot of getter functions

This commit is contained in:
twinaphex 2020-10-01 10:50:45 +02:00
parent 2cdb1b6982
commit dee807cb54
8 changed files with 25 additions and 97 deletions

View File

@ -100,55 +100,12 @@ 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);
gfx_widget_font_data_t* gfx_widgets_get_font_bold(void *data)
{
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
return &p_dispwidget->gfx_widget_fonts.bold;
}
gfx_widget_font_data_t* gfx_widgets_get_font_msg_queue(void *data)
{
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
return &p_dispwidget->gfx_widget_fonts.msg_queue;
}
float* gfx_widgets_get_backdrop_orig(void) float* gfx_widgets_get_backdrop_orig(void)
{ {
return gfx_widgets_backdrop_orig; return gfx_widgets_backdrop_orig;
} }
/* Messages queue */ /* Messages queue */
uintptr_t gfx_widgets_get_generic_tag(void *data)
{
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
return p_dispwidget->gfx_widgets_generic_tag;
}
unsigned gfx_widgets_get_padding(void *data)
{
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
return p_dispwidget->simple_widget_padding;
}
unsigned gfx_widgets_get_divider_width(void *data)
{
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
return p_dispwidget->divider_width_1px;
}
unsigned gfx_widgets_get_height(void *data)
{
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
return p_dispwidget->simple_widget_height;
}
unsigned gfx_widgets_get_generic_message_height(void *data)
{
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
return p_dispwidget->generic_message_height;
}
unsigned gfx_widgets_get_last_video_width(void *data) unsigned gfx_widgets_get_last_video_width(void *data)
{ {
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data; dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
@ -161,12 +118,6 @@ unsigned gfx_widgets_get_last_video_height(void *data)
return p_dispwidget->last_video_height; return p_dispwidget->last_video_height;
} }
size_t gfx_widgets_get_msg_queue_size(void *data)
{
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
return p_dispwidget->current_msgs_size;
}
/* Widgets list */ /* Widgets list */
const static gfx_widget_t* const widgets[] = { const static gfx_widget_t* const widgets[] = {
#ifdef HAVE_SCREENSHOTS #ifdef HAVE_SCREENSHOTS

View File

@ -268,29 +268,12 @@ struct gfx_widget
void (*frame)(void* data, void *userdata); void (*frame)(void* data, void *userdata);
}; };
uintptr_t gfx_widgets_get_generic_tag(void *data);
unsigned gfx_widgets_get_padding(void *data);
unsigned gfx_widgets_get_divider_width(void *data);
unsigned gfx_widgets_get_height(void *data);
gfx_widget_font_data_t* gfx_widgets_get_font_bold(void *data);
gfx_widget_font_data_t* gfx_widgets_get_font_msg_queue(void *data);
float* gfx_widgets_get_backdrop_orig(void); float* gfx_widgets_get_backdrop_orig(void);
unsigned gfx_widgets_get_last_video_width(void *data); unsigned gfx_widgets_get_last_video_width(void *data);
unsigned gfx_widgets_get_last_video_height(void *data); unsigned gfx_widgets_get_last_video_height(void *data);
unsigned gfx_widgets_get_generic_message_height(void *data);
/* Warning: not thread safe! */
size_t gfx_widgets_get_msg_queue_size(void *data);
float gfx_widgets_get_thumbnail_scale_factor( float gfx_widgets_get_thumbnail_scale_factor(
const float dst_width, const float dst_height, const float dst_width, const float dst_height,
const float image_width, const float image_height); const float image_width, const float image_height);

View File

@ -170,7 +170,7 @@ void gfx_widget_set_generic_message(void *data,
gfx_widget_generic_message_state_t *state = gfx_widget_generic_message_get_state(); gfx_widget_generic_message_state_t *state = gfx_widget_generic_message_get_state();
unsigned last_video_width = gfx_widgets_get_last_video_width(p_dispwidget); unsigned last_video_width = gfx_widgets_get_last_video_width(p_dispwidget);
int text_width = 0; int text_width = 0;
gfx_widget_font_data_t *font_msg_queue = gfx_widgets_get_font_msg_queue(p_dispwidget); gfx_widget_font_data_t *font_msg_queue = &p_dispwidget->gfx_widget_fonts.msg_queue;
/* Ensure we have a valid message string */ /* Ensure we have a valid message string */
if (string_is_empty(msg)) if (string_is_empty(msg))
@ -239,12 +239,12 @@ static void gfx_widget_generic_message_layout(
unsigned last_video_width = gfx_widgets_get_last_video_width(p_dispwidget); unsigned last_video_width = gfx_widgets_get_last_video_width(p_dispwidget);
unsigned last_video_height = gfx_widgets_get_last_video_height(p_dispwidget); unsigned last_video_height = gfx_widgets_get_last_video_height(p_dispwidget);
unsigned divider_width = gfx_widgets_get_divider_width(p_dispwidget); unsigned divider_width = p_dispwidget->divider_width_1px;
unsigned widget_padding = 0; unsigned widget_padding = 0;
int text_width = 0; int text_width = 0;
const float base_aspect = 4.0f / 3.0f; const float base_aspect = 4.0f / 3.0f;
float widget_margin = 0.0f; float widget_margin = 0.0f;
gfx_widget_font_data_t *font_msg_queue = gfx_widgets_get_font_msg_queue(p_dispwidget); gfx_widget_font_data_t *font_msg_queue = &p_dispwidget->gfx_widget_fonts.msg_queue;
/* Set padding values */ /* Set padding values */
state->text_padding = (unsigned)(((float)font_msg_queue->line_height * (2.0f / 3.0f)) + 0.5f); state->text_padding = (unsigned)(((float)font_msg_queue->line_height * (2.0f / 3.0f)) + 0.5f);
@ -409,20 +409,16 @@ static void gfx_widget_generic_message_frame(void *data, void *user_data)
if (state->status != GFX_WIDGET_GENERIC_MESSAGE_IDLE) if (state->status != GFX_WIDGET_GENERIC_MESSAGE_IDLE)
{ {
unsigned text_color;
float widget_alpha, bg_y, text_y;
video_frame_info_t *video_info = (video_frame_info_t*)data; video_frame_info_t *video_info = (video_frame_info_t*)data;
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)user_data; dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)user_data;
unsigned video_width = video_info->width; unsigned video_width = video_info->width;
unsigned video_height = video_info->height; unsigned video_height = video_info->height;
void *userdata = video_info->userdata; void *userdata = video_info->userdata;
gfx_widget_font_data_t *font_msg_queue = &p_dispwidget->gfx_widget_fonts.msg_queue;
gfx_widget_font_data_t *font_msg_queue = gfx_widgets_get_font_msg_queue(p_dispwidget); size_t msg_queue_size = p_dispwidget->current_msgs_size;
size_t msg_queue_size = gfx_widgets_get_msg_queue_size(p_dispwidget);
unsigned text_color;
float widget_alpha;
float bg_y;
float text_y;
/* Determine status-dependent opacity/position /* Determine status-dependent opacity/position
* values */ * values */

View File

@ -162,7 +162,7 @@ void gfx_widget_set_libretro_message(void *data,
{ {
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data; dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
gfx_widget_libretro_message_state_t *state = gfx_widget_libretro_message_get_state(); gfx_widget_libretro_message_state_t *state = gfx_widget_libretro_message_get_state();
gfx_widget_font_data_t *font_msg_queue = gfx_widgets_get_font_msg_queue(p_dispwidget); gfx_widget_font_data_t *font_msg_queue = &p_dispwidget->gfx_widget_fonts.msg_queue;
/* Ensure we have a valid message string */ /* Ensure we have a valid message string */
if (string_is_empty(msg)) if (string_is_empty(msg))
@ -217,8 +217,8 @@ static void gfx_widget_libretro_message_layout(
gfx_widget_libretro_message_state_t *state = gfx_widget_libretro_message_get_state(); gfx_widget_libretro_message_state_t *state = gfx_widget_libretro_message_get_state();
unsigned last_video_height = gfx_widgets_get_last_video_height(p_dispwidget); unsigned last_video_height = gfx_widgets_get_last_video_height(p_dispwidget);
unsigned divider_width = gfx_widgets_get_divider_width(p_dispwidget); unsigned divider_width = p_dispwidget->divider_width_1px;
gfx_widget_font_data_t *font_msg_queue = gfx_widgets_get_font_msg_queue(p_dispwidget); gfx_widget_font_data_t *font_msg_queue = &p_dispwidget->gfx_widget_fonts.msg_queue;
/* Set values that are independent of message length */ /* Set values that are independent of message length */
state->bg_height = font_msg_queue->line_height * 2; state->bg_height = font_msg_queue->line_height * 2;
@ -349,9 +349,8 @@ static void gfx_widget_libretro_message_frame(void *data, void *user_data)
unsigned video_height = video_info->height; unsigned video_height = video_info->height;
void *userdata = video_info->userdata; void *userdata = video_info->userdata;
gfx_widget_font_data_t *font_msg_queue = gfx_widgets_get_font_msg_queue(p_dispwidget); gfx_widget_font_data_t *font_msg_queue = &p_dispwidget->gfx_widget_fonts.msg_queue;
size_t msg_queue_size = gfx_widgets_get_msg_queue_size(p_dispwidget); size_t msg_queue_size = p_dispwidget->current_msgs_size;
float *bg_color = gfx_widgets_get_backdrop_orig(); float *bg_color = gfx_widgets_get_backdrop_orig();
float bg_alpha; float bg_alpha;
float bg_y; float bg_y;

View File

@ -529,7 +529,7 @@ static void gfx_widget_load_content_animation_layout(
unsigned last_video_width = gfx_widgets_get_last_video_width(p_dispwidget); unsigned last_video_width = gfx_widgets_get_last_video_width(p_dispwidget);
unsigned last_video_height = gfx_widgets_get_last_video_height(p_dispwidget); unsigned last_video_height = gfx_widgets_get_last_video_height(p_dispwidget);
unsigned widget_padding = gfx_widgets_get_padding(p_dispwidget); unsigned widget_padding = p_dispwidget->simple_widget_padding;
gfx_widget_font_data_t *font_regular = &p_dispwidget->gfx_widget_fonts.regular; gfx_widget_font_data_t *font_regular = &p_dispwidget->gfx_widget_fonts.regular;
gfx_widget_font_data_t *font_bold = &p_dispwidget->gfx_widget_fonts.bold; gfx_widget_font_data_t *font_bold = &p_dispwidget->gfx_widget_fonts.bold;
@ -585,7 +585,7 @@ static void gfx_widget_load_content_animation_iterate(void *user_data,
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)user_data; dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)user_data;
unsigned last_video_width = gfx_widgets_get_last_video_width(p_dispwidget); unsigned last_video_width = gfx_widgets_get_last_video_width(p_dispwidget);
unsigned widget_padding = gfx_widgets_get_padding(p_dispwidget); unsigned widget_padding = p_dispwidget->simple_widget_padding;
gfx_widget_font_data_t *font_regular = &p_dispwidget->gfx_widget_fonts.regular; gfx_widget_font_data_t *font_regular = &p_dispwidget->gfx_widget_fonts.regular;
gfx_widget_font_data_t *font_bold = &p_dispwidget->gfx_widget_fonts.bold; gfx_widget_font_data_t *font_bold = &p_dispwidget->gfx_widget_fonts.bold;
@ -665,7 +665,7 @@ static void gfx_widget_load_content_animation_frame(void *data, void *user_data)
gfx_widget_font_data_t *font_regular = &p_dispwidget->gfx_widget_fonts.regular; gfx_widget_font_data_t *font_regular = &p_dispwidget->gfx_widget_fonts.regular;
gfx_widget_font_data_t *font_bold = &p_dispwidget->gfx_widget_fonts.bold; gfx_widget_font_data_t *font_bold = &p_dispwidget->gfx_widget_fonts.bold;
size_t msg_queue_size = gfx_widgets_get_msg_queue_size(p_dispwidget); size_t msg_queue_size = p_dispwidget->current_msgs_size;
gfx_display_t *p_disp = disp_get_ptr(); gfx_display_t *p_disp = disp_get_ptr();
gfx_display_ctx_driver_t *dispctx = p_disp->dispctx; gfx_display_ctx_driver_t *dispctx = p_disp->dispctx;

View File

@ -187,7 +187,7 @@ static void gfx_widget_progress_message_layout(
gfx_widget_progress_message_state_t *state = gfx_widget_progress_message_get_ptr(); gfx_widget_progress_message_state_t *state = gfx_widget_progress_message_get_ptr();
unsigned last_video_width = gfx_widgets_get_last_video_width(p_dispwidget); unsigned last_video_width = gfx_widgets_get_last_video_width(p_dispwidget);
unsigned last_video_height = gfx_widgets_get_last_video_height(p_dispwidget); unsigned last_video_height = gfx_widgets_get_last_video_height(p_dispwidget);
unsigned widget_padding = gfx_widgets_get_padding(p_dispwidget); unsigned widget_padding = p_dispwidget->simple_widget_padding;
gfx_widget_font_data_t *font_regular = &p_dispwidget->gfx_widget_fonts.regular; gfx_widget_font_data_t *font_regular = &p_dispwidget->gfx_widget_fonts.regular;
/* Base widget layout */ /* Base widget layout */
@ -236,8 +236,7 @@ static void gfx_widget_progress_message_frame(void *data, void *user_data)
unsigned text_color = COLOR_TEXT_ALPHA(0xFFFFFFFF, (unsigned)(state->alpha * 255.0f)); unsigned text_color = COLOR_TEXT_ALPHA(0xFFFFFFFF, (unsigned)(state->alpha * 255.0f));
gfx_widget_font_data_t *font_regular = &p_dispwidget->gfx_widget_fonts.regular; gfx_widget_font_data_t *font_regular = &p_dispwidget->gfx_widget_fonts.regular;
size_t msg_queue_size = gfx_widgets_get_msg_queue_size(p_dispwidget); size_t msg_queue_size = p_dispwidget->current_msgs_size;
unsigned bar_width = state->bar_max_width; unsigned bar_width = state->bar_max_width;
float *bar_color = state->bar_disabled_color; float *bar_color = state->bar_disabled_color;

View File

@ -74,15 +74,15 @@ static gfx_widget_screenshot_state_t* gfx_widget_screenshot_get_ptr(void)
static void gfx_widget_screenshot_fadeout(void *userdata) static void gfx_widget_screenshot_fadeout(void *userdata)
{ {
gfx_animation_ctx_entry_t entry;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)userdata; dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)userdata;
gfx_widget_screenshot_state_t* state = gfx_widget_screenshot_get_ptr(); gfx_widget_screenshot_state_t* state = gfx_widget_screenshot_get_ptr();
gfx_animation_ctx_entry_t entry;
entry.cb = NULL; entry.cb = NULL;
entry.easing_enum = EASING_OUT_QUAD; entry.easing_enum = EASING_OUT_QUAD;
entry.subject = &state->alpha; entry.subject = &state->alpha;
entry.tag = gfx_widgets_get_generic_tag(p_dispwidget); entry.tag = p_dispwidget->gfx_widgets_generic_tag;
entry.target_value = 0.0f; entry.target_value = 0.0f;
entry.userdata = NULL; entry.userdata = NULL;
@ -102,15 +102,15 @@ static void gfx_widget_screenshot_fadeout(void *userdata)
static void gfx_widgets_play_screenshot_flash(void *data) static void gfx_widgets_play_screenshot_flash(void *data)
{ {
gfx_animation_ctx_entry_t entry;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data; dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)data;
gfx_widget_screenshot_state_t* state = gfx_widget_screenshot_get_ptr(); gfx_widget_screenshot_state_t* state = gfx_widget_screenshot_get_ptr();
gfx_animation_ctx_entry_t entry;
entry.cb = gfx_widget_screenshot_fadeout; entry.cb = gfx_widget_screenshot_fadeout;
entry.easing_enum = EASING_IN_QUAD; entry.easing_enum = EASING_IN_QUAD;
entry.subject = &state->alpha; entry.subject = &state->alpha;
entry.tag = gfx_widgets_get_generic_tag(p_dispwidget); entry.tag = p_dispwidget->gfx_widgets_generic_tag;
entry.target_value = 1.0f; entry.target_value = 1.0f;
entry.userdata = p_dispwidget; entry.userdata = p_dispwidget;
@ -157,15 +157,15 @@ static void gfx_widget_screenshot_dispose(void *userdata)
static void gfx_widget_screenshot_end(void *userdata) static void gfx_widget_screenshot_end(void *userdata)
{ {
gfx_animation_ctx_entry_t entry;
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)userdata; dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)userdata;
gfx_widget_screenshot_state_t* state = gfx_widget_screenshot_get_ptr(); gfx_widget_screenshot_state_t* state = gfx_widget_screenshot_get_ptr();
gfx_animation_ctx_entry_t entry;
entry.cb = gfx_widget_screenshot_dispose; entry.cb = gfx_widget_screenshot_dispose;
entry.easing_enum = EASING_OUT_QUAD; entry.easing_enum = EASING_OUT_QUAD;
entry.subject = &state->y; entry.subject = &state->y;
entry.tag = gfx_widgets_get_generic_tag(p_dispwidget); entry.tag = p_dispwidget->gfx_widgets_generic_tag;
entry.target_value = -((float)state->height); entry.target_value = -((float)state->height);
entry.userdata = NULL; entry.userdata = NULL;
@ -292,7 +292,7 @@ static void gfx_widget_screenshot_iterate(
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)user_data; dispgfx_widget_t *p_dispwidget = (dispgfx_widget_t*)user_data;
gfx_widget_screenshot_state_t* state = gfx_widget_screenshot_get_ptr(); gfx_widget_screenshot_state_t* state = gfx_widget_screenshot_get_ptr();
unsigned padding = gfx_widgets_get_padding(p_dispwidget); unsigned padding = p_dispwidget->simple_widget_padding;
gfx_widget_font_data_t* font_regular = &p_dispwidget->gfx_widget_fonts.regular; gfx_widget_font_data_t* font_regular = &p_dispwidget->gfx_widget_fonts.regular;
/* Load screenshot and start its animation */ /* Load screenshot and start its animation */

View File

@ -108,7 +108,7 @@ static void gfx_widget_volume_frame(void* data, void *user_data)
unsigned video_width = video_info->width; unsigned video_width = video_info->width;
unsigned video_height = video_info->height; unsigned video_height = video_info->height;
unsigned padding = gfx_widgets_get_padding(user_data); unsigned padding = p_dispwidget->simple_widget_padding;
float* backdrop_orig = gfx_widgets_get_backdrop_orig(); float* backdrop_orig = gfx_widgets_get_backdrop_orig();