mirror of
https://github.com/libretro/RetroArch
synced 2025-03-02 19:13:34 +00:00
(Menu_thumbnail) Get rid of settings_t dependency
This commit is contained in:
parent
278dc75285
commit
27c45b1b7a
@ -2505,11 +2505,15 @@ static void materialui_render(void *data,
|
||||
menu_thumbnail_process_streams(
|
||||
mui->thumbnail_path_data, mui->playlist, i,
|
||||
&node->thumbnails.primary, &node->thumbnails.secondary,
|
||||
on_screen);
|
||||
on_screen,
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
settings->bools.network_on_demand_thumbnails);
|
||||
else
|
||||
menu_thumbnail_process_stream(
|
||||
mui->thumbnail_path_data, MENU_THUMBNAIL_RIGHT,
|
||||
mui->playlist, i, &node->thumbnails.primary, on_screen);
|
||||
mui->playlist, i, &node->thumbnails.primary, on_screen,
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
settings->bools.network_on_demand_thumbnails);
|
||||
}
|
||||
else if (last_entry_found)
|
||||
break;
|
||||
|
@ -379,6 +379,7 @@ static void ozone_update_thumbnail_image(void *data)
|
||||
{
|
||||
ozone_handle_t *ozone = (ozone_handle_t*)data;
|
||||
size_t selection = menu_navigation_get_selection();
|
||||
settings_t *settings = config_get_ptr();
|
||||
playlist_t *playlist = playlist_get_cached();
|
||||
|
||||
if (!ozone)
|
||||
@ -396,7 +397,10 @@ static void ozone_update_thumbnail_image(void *data)
|
||||
MENU_THUMBNAIL_RIGHT,
|
||||
playlist,
|
||||
selection,
|
||||
&ozone->thumbnails.right);
|
||||
&ozone->thumbnails.right,
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
settings->bools. network_on_demand_thumbnails
|
||||
);
|
||||
|
||||
/* Left thumbnail is simply reset */
|
||||
menu_thumbnail_reset(&ozone->thumbnails.left);
|
||||
@ -409,7 +413,9 @@ static void ozone_update_thumbnail_image(void *data)
|
||||
MENU_THUMBNAIL_RIGHT,
|
||||
playlist,
|
||||
selection,
|
||||
&ozone->thumbnails.right);
|
||||
&ozone->thumbnails.right,
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
settings->bools. network_on_demand_thumbnails);
|
||||
|
||||
/* Left thumbnail */
|
||||
menu_thumbnail_request(
|
||||
@ -417,7 +423,9 @@ static void ozone_update_thumbnail_image(void *data)
|
||||
MENU_THUMBNAIL_LEFT,
|
||||
playlist,
|
||||
selection,
|
||||
&ozone->thumbnails.left);
|
||||
&ozone->thumbnails.left,
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
settings->bools. network_on_demand_thumbnails);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -962,10 +962,11 @@ static void xmb_update_savestate_thumbnail_path(void *data, unsigned i)
|
||||
|
||||
static void xmb_update_thumbnail_image(void *data)
|
||||
{
|
||||
const char *core_name = NULL;
|
||||
xmb_handle_t *xmb = (xmb_handle_t*)data;
|
||||
size_t selection = menu_navigation_get_selection();
|
||||
playlist_t *playlist = playlist_get_cached();
|
||||
const char *core_name = NULL;
|
||||
settings_t *settings = config_get_ptr();
|
||||
|
||||
if (!xmb)
|
||||
return;
|
||||
@ -986,7 +987,9 @@ static void xmb_update_thumbnail_image(void *data)
|
||||
MENU_THUMBNAIL_RIGHT,
|
||||
playlist,
|
||||
selection,
|
||||
&xmb->thumbnails.right);
|
||||
&xmb->thumbnails.right,
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
settings->bools.network_on_demand_thumbnails);
|
||||
/* Left thumbnail */
|
||||
else if (menu_thumbnail_is_enabled(xmb->thumbnail_path_data, MENU_THUMBNAIL_LEFT))
|
||||
menu_thumbnail_request(
|
||||
@ -994,7 +997,9 @@ static void xmb_update_thumbnail_image(void *data)
|
||||
MENU_THUMBNAIL_LEFT,
|
||||
playlist,
|
||||
selection,
|
||||
&xmb->thumbnails.left);
|
||||
&xmb->thumbnails.left,
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
settings->bools.network_on_demand_thumbnails);
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1004,7 +1009,9 @@ static void xmb_update_thumbnail_image(void *data)
|
||||
MENU_THUMBNAIL_RIGHT,
|
||||
playlist,
|
||||
selection,
|
||||
&xmb->thumbnails.right);
|
||||
&xmb->thumbnails.right,
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
settings->bools.network_on_demand_thumbnails);
|
||||
|
||||
/* Left thumbnail */
|
||||
menu_thumbnail_request(
|
||||
@ -1012,7 +1019,9 @@ static void xmb_update_thumbnail_image(void *data)
|
||||
MENU_THUMBNAIL_LEFT,
|
||||
playlist,
|
||||
selection,
|
||||
&xmb->thumbnails.left);
|
||||
&xmb->thumbnails.left,
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
settings->bools.network_on_demand_thumbnails);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1165,7 +1174,8 @@ static void xmb_set_thumbnail_content(void *data, const char *s)
|
||||
|
||||
static void xmb_update_savestate_thumbnail_image(void *data)
|
||||
{
|
||||
xmb_handle_t *xmb = (xmb_handle_t*)data;
|
||||
xmb_handle_t *xmb = (xmb_handle_t*)data;
|
||||
settings_t *settings = config_get_ptr();
|
||||
if (!xmb)
|
||||
return;
|
||||
|
||||
@ -1186,7 +1196,8 @@ static void xmb_update_savestate_thumbnail_image(void *data)
|
||||
!string_is_equal(xmb->savestate_thumbnail_file_path, xmb->prev_savestate_thumbnail_file_path))
|
||||
menu_thumbnail_request_file(
|
||||
xmb->savestate_thumbnail_file_path,
|
||||
&xmb->thumbnails.savestate);
|
||||
&xmb->thumbnails.savestate,
|
||||
settings->uints.menu_thumbnail_upscale_threshold);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -29,14 +29,14 @@
|
||||
#include <file/file_path.h>
|
||||
#include <string/stdstring.h>
|
||||
|
||||
#include "../retroarch.h"
|
||||
#include "../configuration.h"
|
||||
#include "../tasks/tasks_internal.h"
|
||||
#include "menu_animation.h"
|
||||
#include "menu_driver.h"
|
||||
|
||||
#include "menu_thumbnail.h"
|
||||
|
||||
#include "../retroarch.h"
|
||||
#include "../tasks/tasks_internal.h"
|
||||
|
||||
/* When streaming thumbnails, to minimise the processing
|
||||
* of unnecessary images (i.e. when scrolling rapidly through
|
||||
* playlists), we delay loading until an entry has been on screen
|
||||
@ -212,13 +212,15 @@ void menu_thumbnail_cancel_pending_requests(void)
|
||||
* (an annoyance...) */
|
||||
void menu_thumbnail_request(
|
||||
menu_thumbnail_path_data_t *path_data, enum menu_thumbnail_id thumbnail_id,
|
||||
playlist_t *playlist, size_t idx, menu_thumbnail_t *thumbnail)
|
||||
playlist_t *playlist, size_t idx, menu_thumbnail_t *thumbnail,
|
||||
unsigned menu_thumbnail_upscale_threshold,
|
||||
bool network_on_demand_thumbnails
|
||||
)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
const char *thumbnail_path = NULL;
|
||||
bool has_thumbnail = false;
|
||||
|
||||
if (!path_data || !thumbnail || !settings)
|
||||
if (!path_data || !thumbnail)
|
||||
return;
|
||||
|
||||
/* Reset thumbnail, then set 'missing' status by default
|
||||
@ -250,13 +252,13 @@ void menu_thumbnail_request(
|
||||
* here, but can't see how to do it... */
|
||||
if(task_push_image_load(
|
||||
thumbnail_path, video_driver_supports_rgba(),
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
menu_thumbnail_upscale_threshold,
|
||||
menu_thumbnail_handle_upload, thumbnail_tag))
|
||||
thumbnail->status = MENU_THUMBNAIL_STATUS_PENDING;
|
||||
}
|
||||
#ifdef HAVE_NETWORKING
|
||||
/* Handle on demand thumbnail downloads */
|
||||
else if (settings->bools.network_on_demand_thumbnails)
|
||||
else if (network_on_demand_thumbnails)
|
||||
{
|
||||
const char *system = NULL;
|
||||
const char *img_name = NULL;
|
||||
@ -308,12 +310,13 @@ void menu_thumbnail_request(
|
||||
* 'thumbnail' will be populated with texture info/metadata
|
||||
* once the image load is complete */
|
||||
void menu_thumbnail_request_file(
|
||||
const char *file_path, menu_thumbnail_t *thumbnail)
|
||||
const char *file_path, menu_thumbnail_t *thumbnail,
|
||||
unsigned menu_thumbnail_upscale_threshold
|
||||
)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
menu_thumbnail_tag_t *thumbnail_tag = NULL;
|
||||
|
||||
if (!thumbnail || !settings)
|
||||
if (!thumbnail)
|
||||
return;
|
||||
|
||||
/* Reset thumbnail, then set 'missing' status by default
|
||||
@ -342,7 +345,7 @@ void menu_thumbnail_request_file(
|
||||
* here, but can't see how to do it... */
|
||||
if(task_push_image_load(
|
||||
file_path, video_driver_supports_rgba(),
|
||||
settings->uints.menu_thumbnail_upscale_threshold,
|
||||
menu_thumbnail_upscale_threshold,
|
||||
menu_thumbnail_handle_upload, thumbnail_tag))
|
||||
thumbnail->status = MENU_THUMBNAIL_STATUS_PENDING;
|
||||
}
|
||||
@ -390,7 +393,10 @@ void menu_thumbnail_reset(menu_thumbnail_t *thumbnail)
|
||||
* performance */
|
||||
void menu_thumbnail_process_stream(
|
||||
menu_thumbnail_path_data_t *path_data, enum menu_thumbnail_id thumbnail_id,
|
||||
playlist_t *playlist, size_t idx, menu_thumbnail_t *thumbnail, bool on_screen)
|
||||
playlist_t *playlist, size_t idx, menu_thumbnail_t *thumbnail, bool on_screen,
|
||||
unsigned menu_thumbnail_upscale_threshold,
|
||||
bool network_on_demand_thumbnails
|
||||
)
|
||||
{
|
||||
if (!thumbnail)
|
||||
return;
|
||||
@ -423,7 +429,10 @@ void menu_thumbnail_process_stream(
|
||||
|
||||
/* Request image load */
|
||||
menu_thumbnail_request(
|
||||
path_data, thumbnail_id, playlist, idx, thumbnail);
|
||||
path_data, thumbnail_id, playlist, idx, thumbnail,
|
||||
menu_thumbnail_upscale_threshold,
|
||||
network_on_demand_thumbnails
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -457,7 +466,10 @@ void menu_thumbnail_process_streams(
|
||||
menu_thumbnail_path_data_t *path_data,
|
||||
playlist_t *playlist, size_t idx,
|
||||
menu_thumbnail_t *right_thumbnail, menu_thumbnail_t *left_thumbnail,
|
||||
bool on_screen)
|
||||
bool on_screen,
|
||||
unsigned menu_thumbnail_upscale_threshold,
|
||||
bool network_on_demand_thumbnails
|
||||
)
|
||||
{
|
||||
if (!right_thumbnail || !left_thumbnail)
|
||||
return;
|
||||
@ -521,11 +533,15 @@ void menu_thumbnail_process_streams(
|
||||
/* Request image load */
|
||||
if (request_right)
|
||||
menu_thumbnail_request(
|
||||
path_data, MENU_THUMBNAIL_RIGHT, playlist, idx, right_thumbnail);
|
||||
path_data, MENU_THUMBNAIL_RIGHT, playlist, idx, right_thumbnail,
|
||||
menu_thumbnail_upscale_threshold,
|
||||
network_on_demand_thumbnails);
|
||||
|
||||
if (request_left)
|
||||
menu_thumbnail_request(
|
||||
path_data, MENU_THUMBNAIL_LEFT, playlist, idx, left_thumbnail);
|
||||
path_data, MENU_THUMBNAIL_LEFT, playlist, idx, left_thumbnail,
|
||||
menu_thumbnail_upscale_threshold,
|
||||
network_on_demand_thumbnails);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -134,7 +134,10 @@ void menu_thumbnail_cancel_pending_requests(void);
|
||||
* (an annoyance...) */
|
||||
void menu_thumbnail_request(
|
||||
menu_thumbnail_path_data_t *path_data, enum menu_thumbnail_id thumbnail_id,
|
||||
playlist_t *playlist, size_t idx, menu_thumbnail_t *thumbnail);
|
||||
playlist_t *playlist, size_t idx, menu_thumbnail_t *thumbnail,
|
||||
unsigned menu_thumbnail_upscale_threshold,
|
||||
bool network_on_demand_thumbnails
|
||||
);
|
||||
|
||||
/* Requests loading of a specific thumbnail image file
|
||||
* (may be used, for example, to load savestate images)
|
||||
@ -145,7 +148,8 @@ void menu_thumbnail_request(
|
||||
* 'thumbnail' will be populated with texture info/metadata
|
||||
* once the image load is complete */
|
||||
void menu_thumbnail_request_file(
|
||||
const char *file_path, menu_thumbnail_t *thumbnail);
|
||||
const char *file_path, menu_thumbnail_t *thumbnail,
|
||||
unsigned menu_thumbnail_upscale_threshold);
|
||||
|
||||
/* Resets (and free()s the current texture of) the
|
||||
* specified thumbnail */
|
||||
@ -167,7 +171,10 @@ void menu_thumbnail_reset(menu_thumbnail_t *thumbnail);
|
||||
* performance */
|
||||
void menu_thumbnail_process_stream(
|
||||
menu_thumbnail_path_data_t *path_data, enum menu_thumbnail_id thumbnail_id,
|
||||
playlist_t *playlist, size_t idx, menu_thumbnail_t *thumbnail, bool on_screen);
|
||||
playlist_t *playlist, size_t idx, menu_thumbnail_t *thumbnail, bool on_screen,
|
||||
unsigned menu_thumbnail_upscale_threshold,
|
||||
bool network_on_demand_thumbnails
|
||||
);
|
||||
|
||||
/* Handles streaming of the specified thumbnails as they move
|
||||
* on/off screen
|
||||
@ -185,7 +192,10 @@ void menu_thumbnail_process_streams(
|
||||
menu_thumbnail_path_data_t *path_data,
|
||||
playlist_t *playlist, size_t idx,
|
||||
menu_thumbnail_t *right_thumbnail, menu_thumbnail_t *left_thumbnail,
|
||||
bool on_screen);
|
||||
bool on_screen,
|
||||
unsigned menu_thumbnail_upscale_threshold,
|
||||
bool network_on_demand_thumbnails
|
||||
);
|
||||
|
||||
/* Thumbnail rendering */
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user