GLUI: Allow fullscreen thumbnail browsing (#17562)
This commit is contained in:
parent
135a228ac1
commit
106dc5d8b7
|
@ -124,17 +124,12 @@ int action_switch_thumbnail(const char *path,
|
||||||
#ifdef HAVE_RGUI
|
#ifdef HAVE_RGUI
|
||||||
switch_enabled = !string_is_equal(menu_ident, "rgui");
|
switch_enabled = !string_is_equal(menu_ident, "rgui");
|
||||||
#endif
|
#endif
|
||||||
#ifdef HAVE_MATERIALUI
|
|
||||||
switch_enabled = switch_enabled && !string_is_equal(menu_ident, "glui");
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (!settings)
|
if (!settings)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/* RGUI has its own cycling for thumbnails in order to allow
|
/* RGUI has its own cycling for thumbnails in order to allow
|
||||||
* cycling all images in fullscreen mode.
|
* cycling all images in fullscreen mode.
|
||||||
* GLUI is a special case where thumbnail 'switch' corresponds to
|
|
||||||
* changing thumbnail view mode.
|
|
||||||
* For other menu drivers, we cycle through available thumbnail
|
* For other menu drivers, we cycle through available thumbnail
|
||||||
* types and skip if already visible. */
|
* types and skip if already visible. */
|
||||||
if (switch_enabled)
|
if (switch_enabled)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -101,7 +101,7 @@
|
||||||
#define SIDEBAR_ENTRY_ICON_PADDING 15
|
#define SIDEBAR_ENTRY_ICON_PADDING 15
|
||||||
#define SIDEBAR_GRADIENT_HEIGHT 28
|
#define SIDEBAR_GRADIENT_HEIGHT 28
|
||||||
|
|
||||||
#define FULLSCREEN_THUMBNAIL_PADDING 32
|
#define FULLSCREEN_THUMBNAIL_PADDING 20
|
||||||
|
|
||||||
#define CURSOR_SIZE 64
|
#define CURSOR_SIZE 64
|
||||||
/* Cursor becomes active when it moves more
|
/* Cursor becomes active when it moves more
|
||||||
|
@ -1579,6 +1579,7 @@ static float ozone_last_framebuffer_opacity = -1.0f;
|
||||||
static void ozone_cursor_animation_cb(void *userdata);
|
static void ozone_cursor_animation_cb(void *userdata);
|
||||||
static void ozone_selection_changed(ozone_handle_t *ozone, bool allow_animation);
|
static void ozone_selection_changed(ozone_handle_t *ozone, bool allow_animation);
|
||||||
static void ozone_unload_thumbnail_textures(void *data);
|
static void ozone_unload_thumbnail_textures(void *data);
|
||||||
|
extern int action_switch_thumbnail(const char *path, const char *label, unsigned type, size_t idx);
|
||||||
|
|
||||||
static INLINE uint8_t ozone_count_lines(const char *str)
|
static INLINE uint8_t ozone_count_lines(const char *str)
|
||||||
{
|
{
|
||||||
|
@ -1688,7 +1689,7 @@ static void ozone_set_color_theme(
|
||||||
break;
|
break;
|
||||||
case OZONE_COLOR_THEME_SELENIUM:
|
case OZONE_COLOR_THEME_SELENIUM:
|
||||||
theme = &ozone_theme_selenium;
|
theme = &ozone_theme_selenium;
|
||||||
break;
|
break;
|
||||||
case OZONE_COLOR_THEME_SOLARIZED_DARK:
|
case OZONE_COLOR_THEME_SOLARIZED_DARK:
|
||||||
theme = &ozone_theme_solarized_dark;
|
theme = &ozone_theme_solarized_dark;
|
||||||
break;
|
break;
|
||||||
|
@ -7219,40 +7220,37 @@ static void ozone_draw_fullscreen_thumbnails(
|
||||||
if ( (ozone->animations.fullscreen_thumbnail_alpha > 0.0f)
|
if ( (ozone->animations.fullscreen_thumbnail_alpha > 0.0f)
|
||||||
|| (ozone->flags2 & OZONE_FLAG2_WANT_FULLSCREEN_THUMBNAILS))
|
|| (ozone->flags2 & OZONE_FLAG2_WANT_FULLSCREEN_THUMBNAILS))
|
||||||
{
|
{
|
||||||
gfx_thumbnail_t *right_thumbnail = &ozone->thumbnails.right;
|
|
||||||
gfx_thumbnail_t *left_thumbnail = &ozone->thumbnails.left;
|
|
||||||
unsigned width = video_width;
|
|
||||||
unsigned height = video_height;
|
|
||||||
int view_width = (int)width;
|
|
||||||
gfx_display_t *p_disp = (gfx_display_t*)disp_userdata;
|
gfx_display_t *p_disp = (gfx_display_t*)disp_userdata;
|
||||||
|
gfx_thumbnail_t *right_thumbnail = &ozone->thumbnails.left;
|
||||||
int view_height = (int)height
|
gfx_thumbnail_t *left_thumbnail = &ozone->thumbnails.right;
|
||||||
- ozone->dimensions.header_height
|
|
||||||
- ozone->dimensions.footer_height
|
|
||||||
- ozone->dimensions.spacer_1px;
|
|
||||||
int thumbnail_margin = ozone->dimensions.fullscreen_thumbnail_padding;
|
|
||||||
bool show_right_thumbnail = false;
|
|
||||||
bool show_left_thumbnail = false;
|
|
||||||
unsigned num_thumbnails = 0;
|
|
||||||
float right_thumbnail_draw_width = 0.0f;
|
float right_thumbnail_draw_width = 0.0f;
|
||||||
float right_thumbnail_draw_height = 0.0f;
|
float right_thumbnail_draw_height = 0.0f;
|
||||||
float left_thumbnail_draw_width = 0.0f;
|
float left_thumbnail_draw_width = 0.0f;
|
||||||
float left_thumbnail_draw_height = 0.0f;
|
float left_thumbnail_draw_height = 0.0f;
|
||||||
float background_alpha = 0.85f;
|
float background_alpha = 0.95f;
|
||||||
static float background_color[16] = {
|
static float background_color[16] = {
|
||||||
0.0f, 0.0f, 0.0f, 1.0f,
|
0.0f, 0.0f, 0.0f, 1.0f,
|
||||||
0.0f, 0.0f, 0.0f, 1.0f,
|
0.0f, 0.0f, 0.0f, 1.0f,
|
||||||
0.0f, 0.0f, 0.0f, 1.0f,
|
0.0f, 0.0f, 0.0f, 1.0f,
|
||||||
0.0f, 0.0f, 0.0f, 1.0f,
|
0.0f, 0.0f, 0.0f, 1.0f,
|
||||||
};
|
};
|
||||||
int frame_width = (int)((float)thumbnail_margin / 3.0f);
|
|
||||||
float frame_color[16];
|
float frame_color[16];
|
||||||
float separator_color[16];
|
float separator_color[16];
|
||||||
int thumbnail_box_width;
|
int view_width = (int)video_width;
|
||||||
int thumbnail_box_height;
|
int view_height = (int)video_height
|
||||||
int right_thumbnail_x;
|
- ozone->dimensions.header_height
|
||||||
int left_thumbnail_x;
|
- ozone->dimensions.footer_height
|
||||||
int thumbnail_y;
|
- ozone->dimensions.spacer_1px;
|
||||||
|
int thumbnail_padding = ozone->dimensions.fullscreen_thumbnail_padding;
|
||||||
|
int frame_width = (int)((float)thumbnail_padding / 4.0f);
|
||||||
|
int thumbnail_box_width = 0;
|
||||||
|
int thumbnail_box_height = 0;
|
||||||
|
int right_thumbnail_x = 0;
|
||||||
|
int left_thumbnail_x = 0;
|
||||||
|
int thumbnail_y = 0;
|
||||||
|
uint8_t num_thumbnails = 0;
|
||||||
|
bool show_right_thumbnail = false;
|
||||||
|
bool show_left_thumbnail = false;
|
||||||
|
|
||||||
/* Sanity check: Return immediately if this is
|
/* Sanity check: Return immediately if this is
|
||||||
* a menu without thumbnails and we are not currently
|
* a menu without thumbnails and we are not currently
|
||||||
|
@ -7298,10 +7296,10 @@ static void ozone_draw_fullscreen_thumbnails(
|
||||||
video_height,
|
video_height,
|
||||||
0,
|
0,
|
||||||
ozone->dimensions.header_height + ozone->dimensions.spacer_1px,
|
ozone->dimensions.header_height + ozone->dimensions.spacer_1px,
|
||||||
width,
|
view_width,
|
||||||
(unsigned)view_height,
|
(unsigned)view_height,
|
||||||
width,
|
video_width,
|
||||||
height,
|
video_height,
|
||||||
background_color,
|
background_color,
|
||||||
NULL);
|
NULL);
|
||||||
return;
|
return;
|
||||||
|
@ -7321,23 +7319,23 @@ static void ozone_draw_fullscreen_thumbnails(
|
||||||
|
|
||||||
/* > Thumbnail bounding box height + y position
|
/* > Thumbnail bounding box height + y position
|
||||||
* are fixed */
|
* are fixed */
|
||||||
thumbnail_box_height = view_height - (thumbnail_margin * 2);
|
thumbnail_box_height = view_height - (thumbnail_padding * 2);
|
||||||
thumbnail_y = ozone->dimensions.header_height + thumbnail_margin
|
thumbnail_y = ozone->dimensions.header_height + thumbnail_padding
|
||||||
+ ozone->dimensions.spacer_1px;
|
+ ozone->dimensions.spacer_1px;
|
||||||
|
|
||||||
/* Thumbnail bounding box width and x position
|
/* Thumbnail bounding box width and x position
|
||||||
* depend upon number of active thumbnails */
|
* depend upon number of active thumbnails */
|
||||||
if (num_thumbnails == 2)
|
if (num_thumbnails == 2)
|
||||||
{
|
{
|
||||||
thumbnail_box_width = (view_width - (thumbnail_margin * 3) - frame_width) >> 1;
|
thumbnail_box_width = (view_width - (thumbnail_padding * 3) - frame_width) >> 1;
|
||||||
left_thumbnail_x = thumbnail_margin;
|
left_thumbnail_x = thumbnail_padding;
|
||||||
right_thumbnail_x = left_thumbnail_x + thumbnail_box_width + frame_width
|
right_thumbnail_x = left_thumbnail_x + thumbnail_box_width + frame_width
|
||||||
+ thumbnail_margin;
|
+ thumbnail_padding;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
thumbnail_box_width = view_width - (thumbnail_margin * 2);
|
thumbnail_box_width = view_width - (thumbnail_padding * 2);
|
||||||
left_thumbnail_x = thumbnail_margin;
|
left_thumbnail_x = thumbnail_padding;
|
||||||
right_thumbnail_x = left_thumbnail_x;
|
right_thumbnail_x = left_thumbnail_x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7427,10 +7425,10 @@ static void ozone_draw_fullscreen_thumbnails(
|
||||||
video_height,
|
video_height,
|
||||||
0,
|
0,
|
||||||
ozone->dimensions.header_height + ozone->dimensions.spacer_1px,
|
ozone->dimensions.header_height + ozone->dimensions.spacer_1px,
|
||||||
width,
|
view_width,
|
||||||
(unsigned)view_height,
|
(unsigned)view_height,
|
||||||
width,
|
video_width,
|
||||||
height,
|
video_height,
|
||||||
background_color,
|
background_color,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
@ -7442,10 +7440,10 @@ static void ozone_draw_fullscreen_thumbnails(
|
||||||
video_height,
|
video_height,
|
||||||
0,
|
0,
|
||||||
ozone->dimensions.header_height,
|
ozone->dimensions.header_height,
|
||||||
width,
|
view_width,
|
||||||
ozone->dimensions.spacer_1px,
|
ozone->dimensions.spacer_1px,
|
||||||
width,
|
video_width,
|
||||||
height,
|
video_height,
|
||||||
separator_color,
|
separator_color,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
@ -7455,11 +7453,11 @@ static void ozone_draw_fullscreen_thumbnails(
|
||||||
video_width,
|
video_width,
|
||||||
video_height,
|
video_height,
|
||||||
0,
|
0,
|
||||||
height - ozone->dimensions.footer_height,
|
video_height - ozone->dimensions.footer_height,
|
||||||
width,
|
view_width,
|
||||||
ozone->dimensions.spacer_1px,
|
ozone->dimensions.spacer_1px,
|
||||||
width,
|
video_width,
|
||||||
height,
|
video_height,
|
||||||
separator_color,
|
separator_color,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
@ -7482,8 +7480,8 @@ static void ozone_draw_fullscreen_thumbnails(
|
||||||
+ ((thumbnail_box_height - (int)right_thumbnail_draw_height) >> 1),
|
+ ((thumbnail_box_height - (int)right_thumbnail_draw_height) >> 1),
|
||||||
(unsigned)right_thumbnail_draw_width + (frame_width << 1),
|
(unsigned)right_thumbnail_draw_width + (frame_width << 1),
|
||||||
(unsigned)right_thumbnail_draw_height + (frame_width << 1),
|
(unsigned)right_thumbnail_draw_height + (frame_width << 1),
|
||||||
width,
|
video_width,
|
||||||
height,
|
video_height,
|
||||||
frame_color,
|
frame_color,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
@ -7520,8 +7518,8 @@ static void ozone_draw_fullscreen_thumbnails(
|
||||||
+ ((thumbnail_box_height - (int)left_thumbnail_draw_height) >> 1),
|
+ ((thumbnail_box_height - (int)left_thumbnail_draw_height) >> 1),
|
||||||
(unsigned)left_thumbnail_draw_width + (frame_width << 1),
|
(unsigned)left_thumbnail_draw_width + (frame_width << 1),
|
||||||
(unsigned)left_thumbnail_draw_height + (frame_width << 1),
|
(unsigned)left_thumbnail_draw_height + (frame_width << 1),
|
||||||
width,
|
video_width,
|
||||||
height,
|
video_height,
|
||||||
frame_color,
|
frame_color,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
@ -8008,15 +8006,6 @@ static void ozone_set_thumbnail_delay(bool on)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Common thumbnail switch requires FILE_TYPE_RPL_ENTRY,
|
|
||||||
* which only works with playlists, therefore activate it
|
|
||||||
* manually for Quick Menu, Explore and Database */
|
|
||||||
extern int action_switch_thumbnail(
|
|
||||||
const char *path,
|
|
||||||
const char *label,
|
|
||||||
unsigned type,
|
|
||||||
size_t idx);
|
|
||||||
|
|
||||||
static enum menu_action ozone_parse_menu_entry_action(
|
static enum menu_action ozone_parse_menu_entry_action(
|
||||||
ozone_handle_t *ozone,
|
ozone_handle_t *ozone,
|
||||||
bool menu_navigation_wraparound_enable,
|
bool menu_navigation_wraparound_enable,
|
||||||
|
|
|
@ -2715,6 +2715,7 @@ static void rgui_render_fs_thumbnail(
|
||||||
unsigned fs_thumbnail_height = rgui->fs_thumbnail.height;
|
unsigned fs_thumbnail_height = rgui->fs_thumbnail.height;
|
||||||
uint16_t *src = NULL;
|
uint16_t *src = NULL;
|
||||||
uint16_t *dst = NULL;
|
uint16_t *dst = NULL;
|
||||||
|
uint8_t border_width = 1;
|
||||||
|
|
||||||
/* Ensure that thumbnail is centred
|
/* Ensure that thumbnail is centred
|
||||||
* > Have to perform some stupid tests here because we
|
* > Have to perform some stupid tests here because we
|
||||||
|
@ -2755,48 +2756,19 @@ static void rgui_render_fs_thumbnail(
|
||||||
memcpy(dst, src, width * sizeof(uint16_t));
|
memcpy(dst, src, width * sizeof(uint16_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Draw drop shadow, if required */
|
/* Draw border */
|
||||||
if (rgui->flags & RGUI_FLAG_SHADOW_ENABLE)
|
rgui_fill_rect(frame_buf_data, fb_width, fb_height,
|
||||||
{
|
fb_x_offset, fb_y_offset, width - border_width, border_width,
|
||||||
unsigned shadow_x;
|
0, 0, false);
|
||||||
unsigned shadow_y;
|
rgui_fill_rect(frame_buf_data, fb_width, fb_height,
|
||||||
unsigned shadow_width;
|
fb_x_offset + width - border_width, fb_y_offset, border_width, height - border_width,
|
||||||
unsigned shadow_height;
|
0, 0, false);
|
||||||
|
rgui_fill_rect(frame_buf_data, fb_width, fb_height,
|
||||||
/* Vertical component */
|
fb_x_offset + border_width, fb_y_offset + height - border_width, width - border_width, border_width,
|
||||||
if (fs_thumbnail_width < fb_width)
|
0, 0, false);
|
||||||
{
|
rgui_fill_rect(frame_buf_data, fb_width, fb_height,
|
||||||
shadow_width = fb_width - fs_thumbnail_width;
|
fb_x_offset, fb_y_offset + border_width, border_width, height - border_width,
|
||||||
if (shadow_width > 2)
|
0, 0, false);
|
||||||
shadow_width = 2;
|
|
||||||
shadow_height = (fs_thumbnail_height + 2 < fb_height)
|
|
||||||
? fs_thumbnail_height
|
|
||||||
: fb_height - 2;
|
|
||||||
|
|
||||||
shadow_x = fb_x_offset + fs_thumbnail_width;
|
|
||||||
shadow_y = fb_y_offset + 2;
|
|
||||||
|
|
||||||
rgui_color_rect(frame_buf_data, fb_width, fb_height,
|
|
||||||
shadow_x, shadow_y, shadow_width, shadow_height, rgui->colors.shadow_color);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Horizontal component */
|
|
||||||
if (fs_thumbnail_height < fb_height)
|
|
||||||
{
|
|
||||||
shadow_height = fb_height - fs_thumbnail_height;
|
|
||||||
if (shadow_height > 2)
|
|
||||||
shadow_height = 2;
|
|
||||||
shadow_width = (fs_thumbnail_width + 2 < fb_width)
|
|
||||||
? fs_thumbnail_width
|
|
||||||
: fb_width - 2;
|
|
||||||
|
|
||||||
shadow_x = fb_x_offset + 2;
|
|
||||||
shadow_y = fb_y_offset + fs_thumbnail_height;
|
|
||||||
|
|
||||||
rgui_color_rect(frame_buf_data, fb_width, fb_height,
|
|
||||||
shadow_x, shadow_y, shadow_width, shadow_height, rgui->colors.shadow_color);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5244,7 +5216,7 @@ static void rgui_render(void *data, unsigned width, unsigned height,
|
||||||
if (use_smooth_ticker)
|
if (use_smooth_ticker)
|
||||||
{
|
{
|
||||||
ticker_smooth.selected = true;
|
ticker_smooth.selected = true;
|
||||||
ticker_smooth.field_width = (rgui->term_layout.width - 10) * rgui->font_width_stride;
|
ticker_smooth.field_width = (rgui->term_layout.width) * rgui->font_width_stride;
|
||||||
ticker_smooth.src_str = thumbnail_title;
|
ticker_smooth.src_str = thumbnail_title;
|
||||||
ticker_smooth.dst_str = thumbnail_title_buf;
|
ticker_smooth.dst_str = thumbnail_title_buf;
|
||||||
ticker_smooth.dst_str_len = sizeof(thumbnail_title_buf);
|
ticker_smooth.dst_str_len = sizeof(thumbnail_title_buf);
|
||||||
|
@ -5259,7 +5231,7 @@ static void rgui_render(void *data, unsigned width, unsigned height,
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ticker.s = thumbnail_title_buf;
|
ticker.s = thumbnail_title_buf;
|
||||||
ticker.len = rgui->term_layout.width - 10;
|
ticker.len = rgui->term_layout.width;
|
||||||
ticker.str = thumbnail_title;
|
ticker.str = thumbnail_title;
|
||||||
ticker.selected = true;
|
ticker.selected = true;
|
||||||
|
|
||||||
|
@ -5274,13 +5246,13 @@ static void rgui_render(void *data, unsigned width, unsigned height,
|
||||||
|
|
||||||
/* Draw thumbnail title background */
|
/* Draw thumbnail title background */
|
||||||
rgui_fill_rect(rgui->frame_buf.data, fb_width, fb_height,
|
rgui_fill_rect(rgui->frame_buf.data, fb_width, fb_height,
|
||||||
title_x - 5, 0, title_width + 10, rgui->font_height_stride,
|
title_x - 5, 0, title_width + 10, rgui->font_height_stride - 1,
|
||||||
rgui->colors.bg_dark_color, rgui->colors.bg_light_color,
|
rgui->colors.bg_dark_color, rgui->colors.bg_light_color,
|
||||||
(rgui->flags & RGUI_FLAG_BG_THICKNESS) ? true : false);
|
(rgui->flags & RGUI_FLAG_BG_THICKNESS) ? true : false);
|
||||||
|
|
||||||
/* Draw thumbnail title */
|
/* Draw thumbnail title */
|
||||||
rgui_blit_line(rgui, fb_width, ticker_x_offset + title_x,
|
rgui_blit_line(rgui, fb_width, ticker_x_offset + title_x,
|
||||||
1, thumbnail_title_buf,
|
0, thumbnail_title_buf,
|
||||||
rgui->colors.hover_color, rgui->colors.shadow_color);
|
rgui->colors.hover_color, rgui->colors.shadow_color);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -6392,7 +6364,7 @@ static bool rgui_set_aspect_ratio(
|
||||||
|
|
||||||
/* Allocate thumbnail buffer */
|
/* Allocate thumbnail buffer */
|
||||||
rgui->fs_thumbnail.max_width = rgui->frame_buf.width;
|
rgui->fs_thumbnail.max_width = rgui->frame_buf.width;
|
||||||
rgui->fs_thumbnail.max_height = rgui->frame_buf.height - (unsigned)(rgui->font_height_stride * 2.0f) - 1;
|
rgui->fs_thumbnail.max_height = rgui->frame_buf.height - (unsigned)(rgui->font_height_stride * 2.0f) + 2;
|
||||||
rgui->fs_thumbnail.data = (uint16_t*)calloc(
|
rgui->fs_thumbnail.data = (uint16_t*)calloc(
|
||||||
rgui->fs_thumbnail.max_width * rgui->fs_thumbnail.max_height, sizeof(uint16_t));
|
rgui->fs_thumbnail.max_width * rgui->fs_thumbnail.max_height, sizeof(uint16_t));
|
||||||
|
|
||||||
|
|
|
@ -505,9 +505,14 @@ static float xmb_item_color[] = {
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Forward declarations */
|
/* Forward declarations */
|
||||||
|
extern int action_switch_thumbnail(const char *path,
|
||||||
|
const char *label, unsigned type, size_t idx);
|
||||||
|
static int xmb_menu_entry_action(void *userdata,
|
||||||
|
menu_entry_t *entry, size_t i, enum menu_action action);
|
||||||
static bool xmb_load_image(void *userdata, void *data,
|
static bool xmb_load_image(void *userdata, void *data,
|
||||||
enum menu_image_type type);
|
enum menu_image_type type);
|
||||||
|
|
||||||
|
|
||||||
static INLINE float xmb_item_y(const xmb_handle_t *xmb,
|
static INLINE float xmb_item_y(const xmb_handle_t *xmb,
|
||||||
int i, size_t current)
|
int i, size_t current)
|
||||||
{
|
{
|
||||||
|
@ -5532,16 +5537,6 @@ static void xmb_set_thumbnail_delay(bool on)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Common thumbnail switch requires FILE_TYPE_RPL_ENTRY,
|
|
||||||
* which only works with playlists, therefore activate it
|
|
||||||
* manually for Quick Menu, Explore and Database */
|
|
||||||
extern int action_switch_thumbnail(const char *path,
|
|
||||||
const char *label, unsigned type, size_t idx);
|
|
||||||
|
|
||||||
static int xmb_menu_entry_action(
|
|
||||||
void *userdata, menu_entry_t *entry,
|
|
||||||
size_t i, enum menu_action action);
|
|
||||||
|
|
||||||
static enum menu_action xmb_parse_menu_entry_action(
|
static enum menu_action xmb_parse_menu_entry_action(
|
||||||
xmb_handle_t *xmb, enum menu_action action)
|
xmb_handle_t *xmb, enum menu_action action)
|
||||||
{
|
{
|
||||||
|
@ -7141,8 +7136,8 @@ static void xmb_draw_fullscreen_thumbnails(
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
/* Get thumbnail pointers */
|
/* Get thumbnail pointers */
|
||||||
right_thumbnail = &xmb->thumbnails.right;
|
right_thumbnail = &xmb->thumbnails.left;
|
||||||
left_thumbnail = &xmb->thumbnails.left;
|
left_thumbnail = &xmb->thumbnails.right;
|
||||||
|
|
||||||
/* Get number of 'active' thumbnails */
|
/* Get number of 'active' thumbnails */
|
||||||
show_right_thumbnail =
|
show_right_thumbnail =
|
||||||
|
|
Loading…
Reference in New Issue