Skip to content

Commit

Permalink
Small cleanups
Browse files Browse the repository at this point in the history
  • Loading branch information
LibretroAdmin committed Jan 15, 2025
1 parent f7447d2 commit 2533bbd
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 64 deletions.
95 changes: 44 additions & 51 deletions gfx/gfx_widgets.c
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
*/

#include <retro_miscellaneous.h>
#include <retro_inline.h>

#ifdef HAVE_CONFIG_H
#include "../config.h"
Expand All @@ -43,39 +42,11 @@
#include "../tasks/task_content.h"
#include "../tasks/tasks_internal.h"

#define BASE_FONT_SIZE 32.0f

#define BASE_FONT_SIZE 32.0f
#define MSG_QUEUE_FONT_SIZE 20.0f

/* Icons */
static const char
*gfx_widgets_icons_names[MENU_WIDGETS_ICON_LAST] = {
"menu_pause.png",
"menu_frameskip.png",
"menu_rewind.png",
"resume.png",

"menu_hourglass.png",
"menu_check.png",
"menu_add.png",
"menu_exit.png",

"menu_info.png",

"menu_achievements.png"
};

static dispgfx_widget_t dispwidget_st = {0}; /* uint64_t alignment */

static void INLINE gfx_widgets_font_free(gfx_widget_font_data_t *font_data)
{
if (font_data->font)
font_driver_free(font_data->font);

font_data->font = NULL;
font_data->usage_count = 0;
}

/* Widgets list */
const static gfx_widget_t* const widgets[] = {
#ifdef HAVE_NETWORKING
Expand Down Expand Up @@ -1514,19 +1485,6 @@ static void gfx_widgets_draw_regular_msg(
}
}

static void INLINE gfx_widgets_font_bind(gfx_widget_font_data_t *font_data)
{
font_driver_bind_block(font_data->font, &font_data->raster_block);
font_data->raster_block.carr.coords.vertices = 0;
font_data->usage_count = 0;
}

static void INLINE gfx_widgets_font_unbind(gfx_widget_font_data_t *font_data)
{
font_driver_bind_block(font_data->font, NULL);
}


void gfx_widgets_frame(void *data)
{
size_t i;
Expand Down Expand Up @@ -1568,9 +1526,19 @@ void gfx_widgets_frame(void *data)
video_st->data, video_width, video_height, true, false);

/* Font setup */
gfx_widgets_font_bind(&p_dispwidget->gfx_widget_fonts.regular);
gfx_widgets_font_bind(&p_dispwidget->gfx_widget_fonts.bold);
gfx_widgets_font_bind(&p_dispwidget->gfx_widget_fonts.msg_queue);
font_driver_bind_block(p_dispwidget->gfx_widget_fonts.regular.font,
&p_dispwidget->gfx_widget_fonts.regular.raster_block);
font_driver_bind_block(p_dispwidget->gfx_widget_fonts.bold.font,
&p_dispwidget->gfx_widget_fonts.bold.raster_block);
font_driver_bind_block(p_dispwidget->gfx_widget_fonts.msg_queue.font,
&p_dispwidget->gfx_widget_fonts.msg_queue.raster_block);

p_dispwidget->gfx_widget_fonts.regular.raster_block.carr.coords.vertices = 0;
p_dispwidget->gfx_widget_fonts.regular.usage_count = 0;
p_dispwidget->gfx_widget_fonts.bold.raster_block.carr.coords.vertices = 0;
p_dispwidget->gfx_widget_fonts.bold.usage_count = 0;
p_dispwidget->gfx_widget_fonts.msg_queue.raster_block.carr.coords.vertices = 0;
p_dispwidget->gfx_widget_fonts.msg_queue.usage_count = 0;

#ifdef HAVE_TRANSLATE
/* AI Service overlay */
Expand Down Expand Up @@ -1669,7 +1637,7 @@ void gfx_widgets_frame(void *data)
}
#endif

/* Status Text (fps, framecount, memory, core status message) */
/* Status Text (FPS, framecount, memory, core status message) */
if ( fps_show
|| framecount_show
|| memory_show
Expand Down Expand Up @@ -1835,9 +1803,9 @@ void gfx_widgets_frame(void *data)
&p_dispwidget->gfx_widget_fonts.msg_queue);

/* Unbind fonts */
gfx_widgets_font_unbind(&p_dispwidget->gfx_widget_fonts.regular);
gfx_widgets_font_unbind(&p_dispwidget->gfx_widget_fonts.bold);
gfx_widgets_font_unbind(&p_dispwidget->gfx_widget_fonts.msg_queue);
font_driver_bind_block(p_dispwidget->gfx_widget_fonts.regular.font, NULL);
font_driver_bind_block(p_dispwidget->gfx_widget_fonts.bold.font, NULL);
font_driver_bind_block(p_dispwidget->gfx_widget_fonts.msg_queue.font, NULL);

if (video_st->current_video && video_st->current_video->set_viewport)
video_st->current_video->set_viewport(
Expand Down Expand Up @@ -1938,6 +1906,23 @@ static void gfx_widgets_context_reset(
unsigned width, unsigned height, bool fullscreen,
const char *dir_assets, char *font_path)
{
/* Icons */
static const char
*gfx_widgets_icons_names[MENU_WIDGETS_ICON_LAST] = {
"menu_pause.png",
"menu_frameskip.png",
"menu_rewind.png",
"resume.png",

"menu_hourglass.png",
"menu_check.png",
"menu_add.png",
"menu_exit.png",

"menu_info.png",

"menu_achievements.png"
};
size_t i;

/* Load textures */
Expand Down Expand Up @@ -2111,6 +2096,15 @@ bool gfx_widgets_init(
return false;
}

static void gfx_widgets_font_free(gfx_widget_font_data_t *font_data)
{
if (font_data->font)
font_driver_free(font_data->font);

font_data->font = NULL;
font_data->usage_count = 0;
}

static void gfx_widgets_context_destroy(dispgfx_widget_t *p_dispwidget)
{
size_t i;
Expand All @@ -2135,7 +2129,6 @@ static void gfx_widgets_context_destroy(dispgfx_widget_t *p_dispwidget)
gfx_widgets_font_free(&p_dispwidget->gfx_widget_fonts.msg_queue);
}


void gfx_widgets_deinit(bool widgets_persisting)
{
dispgfx_widget_t *p_dispwidget = &dispwidget_st;
Expand Down
22 changes: 9 additions & 13 deletions gfx/widgets/gfx_widget_achievement_popup.c
Original file line number Diff line number Diff line change
Expand Up @@ -155,18 +155,14 @@ static void gfx_widget_achievement_popup_frame(void* data, void* userdata)
gfx_display_ctx_driver_t* dispctx = p_disp->dispctx;
dispgfx_widget_t* p_dispwidget = (dispgfx_widget_t*)userdata;

unsigned text_unfold_offset = 0;
bool is_folding = false;
unsigned screen_padding_x = 0;
unsigned screen_padding_y = 0;
int screen_pos_x = 0;
int screen_pos_y = 0;

unsigned screen_padding_x = 0;
unsigned screen_padding_y = 0;
int screen_pos_x = 0;
int screen_pos_y = 0;
/* Slight additional offset for title/subtitle while unfolding */
text_unfold_offset = ((1.0f - state->unfold) * state->width) * 0.5;

unsigned text_unfold_offset = ((1.0f - state->unfold) * state->width) * 0.5;
/* Whether gfx scissoring should occur, partially hiding popup */
is_folding = fabs(state->unfold - 1.0f) > 0.01;
bool is_folding = fabs(state->unfold - 1.0f) > 0.01;

/* Calculate padding in screen space */
if (state->padding_auto)
Expand Down Expand Up @@ -200,11 +196,11 @@ static void gfx_widget_achievement_popup_frame(void* data, void* userdata)
switch (state->anchor_v)
{
case ANCHOR_TOP:
screen_pos_y = -(state->height);
screen_pos_y = -(state->height);
screen_pos_y += (screen_padding_y + state->height) * state->slide_v;
break;
case ANCHOR_BOTTOM:
screen_pos_y = video_height;
screen_pos_y = video_height;
screen_pos_y -= (screen_padding_y + state->height) * state->slide_v;
break;
}
Expand All @@ -217,7 +213,7 @@ static void gfx_widget_achievement_popup_frame(void* data, void* userdata)
state->queue[state->queue_read_index].badge_name)
{
const retro_time_t next_try = state->queue[state->queue_read_index].badge_retry;
const retro_time_t now = cpu_features_get_time_usec();
const retro_time_t now = cpu_features_get_time_usec();
if (next_try == 0 || now > next_try)
{
/* try again in 250ms */
Expand Down

0 comments on commit 2533bbd

Please sign in to comment.