mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +00:00
(ozone) reorder structs, alignment
This commit is contained in:
parent
7a6b9fd1b2
commit
e4f99dc648
@ -16,6 +16,7 @@ For POD-types, try to order structs as follows (first to last):
|
|||||||
* jmp_buf (4 bytes)
|
* jmp_buf (4 bytes)
|
||||||
* long (4 bytes [64bit Win], 8 bytes [64bit non-Win], 4 bytes [32bit])
|
* long (4 bytes [64bit Win], 8 bytes [64bit non-Win], 4 bytes [32bit])
|
||||||
* int32_t (4 bytes)
|
* int32_t (4 bytes)
|
||||||
|
* unsigned (4 bytes)
|
||||||
* float (4 bytes)
|
* float (4 bytes)
|
||||||
* int (4 bytes)
|
* int (4 bytes)
|
||||||
* enum (4 bytes)
|
* enum (4 bytes)
|
||||||
|
@ -607,7 +607,7 @@ static void *ozone_init(void **userdata, bool video_is_threaded)
|
|||||||
|
|
||||||
ozone->animations.thumbnail_bar_position = 0.0f;
|
ozone->animations.thumbnail_bar_position = 0.0f;
|
||||||
ozone->show_thumbnail_bar = false;
|
ozone->show_thumbnail_bar = false;
|
||||||
ozone->dimensions.sidebar_width = 0.0f;
|
ozone->dimensions_sidebar_width = 0.0f;
|
||||||
|
|
||||||
ozone->num_search_terms_old = 0;
|
ozone->num_search_terms_old = 0;
|
||||||
|
|
||||||
@ -952,7 +952,7 @@ static void ozone_cache_footer_labels(ozone_handle_t *ozone)
|
|||||||
MSG_TOGGLE_CONTENT_METADATA);
|
MSG_TOGGLE_CONTENT_METADATA);
|
||||||
|
|
||||||
/* Record current language setting */
|
/* Record current language setting */
|
||||||
ozone->footer_labels.lanuage = *msg_hash_get_uint(MSG_HASH_USER_LANGUAGE);
|
ozone->footer_labels_language = *msg_hash_get_uint(MSG_HASH_USER_LANGUAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Determines the size of all menu elements */
|
/* Determines the size of all menu elements */
|
||||||
@ -996,8 +996,8 @@ static void ozone_set_layout(ozone_handle_t *ozone, bool is_threaded)
|
|||||||
ozone->dimensions.sidebar_entry_icon_padding * 2 +
|
ozone->dimensions.sidebar_entry_icon_padding * 2 +
|
||||||
ozone->dimensions.sidebar_padding_horizontal * 2;
|
ozone->dimensions.sidebar_padding_horizontal * 2;
|
||||||
|
|
||||||
if (ozone->dimensions.sidebar_width == 0)
|
if (ozone->dimensions_sidebar_width == 0)
|
||||||
ozone->dimensions.sidebar_width = (float)ozone->dimensions.sidebar_width_normal;
|
ozone->dimensions_sidebar_width = (float)ozone->dimensions.sidebar_width_normal;
|
||||||
|
|
||||||
ozone->dimensions.thumbnail_bar_width =
|
ozone->dimensions.thumbnail_bar_width =
|
||||||
ozone->dimensions.sidebar_width_normal -
|
ozone->dimensions.sidebar_width_normal -
|
||||||
@ -1601,9 +1601,9 @@ static void ozone_render(void *data,
|
|||||||
|
|
||||||
/* Check whether menu language has changed
|
/* Check whether menu language has changed
|
||||||
* > If so, need to re-cache footer text labels */
|
* > If so, need to re-cache footer text labels */
|
||||||
if (ozone->footer_labels.lanuage != language)
|
if (ozone->footer_labels_language != language)
|
||||||
{
|
{
|
||||||
ozone->footer_labels.lanuage = language;
|
ozone->footer_labels_language = language;
|
||||||
ozone_cache_footer_labels(ozone);
|
ozone_cache_footer_labels(ozone);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1666,9 +1666,9 @@ static void ozone_render(void *data,
|
|||||||
int entry_padding = (ozone->depth == 1) ?
|
int entry_padding = (ozone->depth == 1) ?
|
||||||
ozone->dimensions.entry_padding_horizontal_half :
|
ozone->dimensions.entry_padding_horizontal_half :
|
||||||
ozone->dimensions.entry_padding_horizontal_full;
|
ozone->dimensions.entry_padding_horizontal_full;
|
||||||
float entry_x = ozone->dimensions.sidebar_width +
|
float entry_x = ozone->dimensions_sidebar_width +
|
||||||
ozone->sidebar_offset + entry_padding;
|
ozone->sidebar_offset + entry_padding;
|
||||||
float entry_width = width - ozone->dimensions.sidebar_width -
|
float entry_width = width - ozone->dimensions_sidebar_width -
|
||||||
ozone->sidebar_offset - entry_padding * 2 -
|
ozone->sidebar_offset - entry_padding * 2 -
|
||||||
ozone->animations.thumbnail_bar_position;
|
ozone->animations.thumbnail_bar_position;
|
||||||
bool first_entry_found = false;
|
bool first_entry_found = false;
|
||||||
@ -1700,7 +1700,8 @@ static void ozone_render(void *data,
|
|||||||
if ((ozone->pointer.type == MENU_POINTER_MOUSE) ||
|
if ((ozone->pointer.type == MENU_POINTER_MOUSE) ||
|
||||||
ozone->pointer.pressed)
|
ozone->pointer.pressed)
|
||||||
ozone->pointer_in_sidebar = ozone->draw_sidebar &&
|
ozone->pointer_in_sidebar = ozone->draw_sidebar &&
|
||||||
(ozone->pointer.x < ozone->dimensions.sidebar_width + ozone->sidebar_offset);
|
(ozone->pointer.x < ozone->dimensions_sidebar_width
|
||||||
|
+ ozone->sidebar_offset);
|
||||||
|
|
||||||
/* If pointer has switched from entries to sidebar
|
/* If pointer has switched from entries to sidebar
|
||||||
* or vice versa, must reset pointer acceleration */
|
* or vice versa, must reset pointer acceleration */
|
||||||
@ -2698,9 +2699,10 @@ static void ozone_frame(void *data, video_frame_info_t *video_info)
|
|||||||
gfx_display_scissor_begin(userdata,
|
gfx_display_scissor_begin(userdata,
|
||||||
video_width,
|
video_width,
|
||||||
video_height,
|
video_height,
|
||||||
ozone->sidebar_offset + (unsigned) ozone->dimensions.sidebar_width,
|
ozone->sidebar_offset + (unsigned) ozone->dimensions_sidebar_width,
|
||||||
ozone->dimensions.header_height + ozone->dimensions.spacer_1px,
|
ozone->dimensions.header_height + ozone->dimensions.spacer_1px,
|
||||||
video_width - (unsigned) ozone->dimensions.sidebar_width + (-ozone->sidebar_offset),
|
video_width - (unsigned) ozone->dimensions_sidebar_width
|
||||||
|
+ (-ozone->sidebar_offset),
|
||||||
video_height - ozone->dimensions.header_height - ozone->dimensions.footer_height - ozone->dimensions.spacer_1px);
|
video_height - ozone->dimensions.header_height - ozone->dimensions.footer_height - ozone->dimensions.spacer_1px);
|
||||||
|
|
||||||
/* Current list */
|
/* Current list */
|
||||||
@ -2928,13 +2930,13 @@ static void ozone_list_open(ozone_handle_t *ozone)
|
|||||||
{
|
{
|
||||||
struct gfx_animation_ctx_entry entry;
|
struct gfx_animation_ctx_entry entry;
|
||||||
|
|
||||||
entry.cb = ozone_collapse_end;
|
entry.cb = ozone_collapse_end;
|
||||||
entry.duration = ANIMATION_PUSH_ENTRY_DURATION;
|
entry.duration = ANIMATION_PUSH_ENTRY_DURATION;
|
||||||
entry.easing_enum = EASING_OUT_QUAD;
|
entry.easing_enum = EASING_OUT_QUAD;
|
||||||
entry.subject = &ozone->sidebar_offset;
|
entry.subject = &ozone->sidebar_offset;
|
||||||
entry.tag = sidebar_tag;
|
entry.tag = sidebar_tag;
|
||||||
entry.target_value = -ozone->dimensions.sidebar_width;
|
entry.target_value = -ozone->dimensions_sidebar_width;
|
||||||
entry.userdata = (void*) ozone;
|
entry.userdata = (void*)ozone;
|
||||||
|
|
||||||
gfx_animation_push(&entry);
|
gfx_animation_push(&entry);
|
||||||
}
|
}
|
||||||
@ -3402,7 +3404,8 @@ static int ozone_pointer_up(void *userdata,
|
|||||||
return ozone_menu_entry_action(ozone, entry, selection, MENU_ACTION_CANCEL);
|
return ozone_menu_entry_action(ozone, entry, selection, MENU_ACTION_CANCEL);
|
||||||
/* Tap/press entries: Activate and/or select item */
|
/* Tap/press entries: Activate and/or select item */
|
||||||
else if ((ptr < entries_end) &&
|
else if ((ptr < entries_end) &&
|
||||||
(x > ozone->dimensions.sidebar_width + ozone->sidebar_offset) &&
|
(x > ozone->dimensions_sidebar_width
|
||||||
|
+ ozone->sidebar_offset) &&
|
||||||
(x < width - ozone->animations.thumbnail_bar_position))
|
(x < width - ozone->animations.thumbnail_bar_position))
|
||||||
{
|
{
|
||||||
if (gesture == MENU_INPUT_GESTURE_TAP)
|
if (gesture == MENU_INPUT_GESTURE_TAP)
|
||||||
@ -3490,7 +3493,7 @@ static int ozone_pointer_up(void *userdata,
|
|||||||
(y < height - ozone->dimensions.footer_height) &&
|
(y < height - ozone->dimensions.footer_height) &&
|
||||||
(ptr < entries_end) &&
|
(ptr < entries_end) &&
|
||||||
(ptr == selection) &&
|
(ptr == selection) &&
|
||||||
(x > ozone->dimensions.sidebar_width + ozone->sidebar_offset) &&
|
(x > ozone->dimensions_sidebar_width + ozone->sidebar_offset) &&
|
||||||
(x < width - ozone->animations.thumbnail_bar_position))
|
(x < width - ozone->animations.thumbnail_bar_position))
|
||||||
return menu_entry_action(entry, selection, MENU_ACTION_START);
|
return menu_entry_action(entry, selection, MENU_ACTION_START);
|
||||||
break;
|
break;
|
||||||
|
@ -92,7 +92,7 @@ enum ozone_onscreen_entry_position_type
|
|||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
font_data_t *font;
|
font_data_t *font;
|
||||||
video_font_raster_block_t raster_block;
|
video_font_raster_block_t raster_block; /* ptr alignment */
|
||||||
int glyph_width;
|
int glyph_width;
|
||||||
int line_height;
|
int line_height;
|
||||||
int line_ascender;
|
int line_ascender;
|
||||||
@ -108,6 +108,14 @@ typedef struct
|
|||||||
|
|
||||||
struct ozone_handle
|
struct ozone_handle
|
||||||
{
|
{
|
||||||
|
menu_input_pointer_t pointer; /* retro_time_t alignment */
|
||||||
|
|
||||||
|
ozone_theme_t *theme;
|
||||||
|
gfx_thumbnail_path_data_t *thumbnail_path_data;
|
||||||
|
file_list_t *selection_buf_old;
|
||||||
|
char *pending_message;
|
||||||
|
file_list_t horizontal_list; /* console tabs */ /* ptr alignment */
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
ozone_font_data_t footer;
|
ozone_font_data_t footer;
|
||||||
@ -120,7 +128,6 @@ struct ozone_handle
|
|||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
unsigned lanuage;
|
|
||||||
ozone_footer_label_t ok;
|
ozone_footer_label_t ok;
|
||||||
ozone_footer_label_t back;
|
ozone_footer_label_t back;
|
||||||
ozone_footer_label_t search;
|
ozone_footer_label_t search;
|
||||||
@ -128,101 +135,33 @@ struct ozone_handle
|
|||||||
ozone_footer_label_t metadata_toggle;
|
ozone_footer_label_t metadata_toggle;
|
||||||
} footer_labels;
|
} footer_labels;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
gfx_thumbnail_t right; /* uintptr_t alignment */
|
||||||
|
gfx_thumbnail_t left; /* uintptr_t alignment */
|
||||||
|
} thumbnails;
|
||||||
uintptr_t textures[OZONE_THEME_TEXTURE_LAST];
|
uintptr_t textures[OZONE_THEME_TEXTURE_LAST];
|
||||||
uintptr_t icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LAST];
|
uintptr_t icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LAST];
|
||||||
uintptr_t tab_textures[OZONE_TAB_TEXTURE_LAST];
|
uintptr_t tab_textures[OZONE_TAB_TEXTURE_LAST];
|
||||||
|
|
||||||
char title[PATH_MAX_LENGTH];
|
|
||||||
|
|
||||||
char assets_path[PATH_MAX_LENGTH];
|
|
||||||
char png_path[PATH_MAX_LENGTH];
|
|
||||||
char icons_path[PATH_MAX_LENGTH];
|
|
||||||
char tab_path[PATH_MAX_LENGTH];
|
|
||||||
|
|
||||||
uint8_t system_tab_end;
|
|
||||||
uint8_t tabs[OZONE_SYSTEM_TAB_LAST];
|
|
||||||
|
|
||||||
size_t categories_selection_ptr; /* active tab id */
|
size_t categories_selection_ptr; /* active tab id */
|
||||||
size_t categories_active_idx_old;
|
size_t categories_active_idx_old;
|
||||||
|
|
||||||
bool cursor_in_sidebar;
|
|
||||||
bool cursor_in_sidebar_old;
|
|
||||||
|
|
||||||
struct
|
|
||||||
{
|
|
||||||
float cursor_alpha;
|
|
||||||
float scroll_y;
|
|
||||||
float scroll_y_sidebar;
|
|
||||||
|
|
||||||
float list_alpha;
|
|
||||||
|
|
||||||
float messagebox_alpha;
|
|
||||||
|
|
||||||
float sidebar_text_alpha;
|
|
||||||
float thumbnail_bar_position;
|
|
||||||
|
|
||||||
float fullscreen_thumbnail_alpha;
|
|
||||||
float left_thumbnail_alpha;
|
|
||||||
} animations;
|
|
||||||
|
|
||||||
bool fade_direction; /* false = left to right, true = right to left */
|
|
||||||
|
|
||||||
size_t selection; /* currently selected entry */
|
size_t selection; /* currently selected entry */
|
||||||
size_t selection_old; /* previously selected entry (for fancy animation) */
|
size_t selection_old; /* previously selected entry (for fancy animation) */
|
||||||
size_t selection_old_list;
|
size_t selection_old_list;
|
||||||
|
size_t fullscreen_thumbnail_selection;
|
||||||
unsigned entries_height;
|
size_t num_search_terms_old;
|
||||||
|
size_t pointer_categories_selection;
|
||||||
|
size_t first_onscreen_entry;
|
||||||
|
size_t last_onscreen_entry;
|
||||||
|
size_t first_onscreen_category;
|
||||||
|
size_t last_onscreen_category;
|
||||||
|
|
||||||
int depth;
|
int depth;
|
||||||
|
|
||||||
bool draw_sidebar;
|
struct
|
||||||
float sidebar_offset;
|
{
|
||||||
|
|
||||||
ozone_theme_t *theme;
|
|
||||||
|
|
||||||
struct {
|
|
||||||
float selection_border[16];
|
|
||||||
float selection[16];
|
|
||||||
float entries_border[16];
|
|
||||||
float entries_icon[16];
|
|
||||||
float entries_checkmark[16];
|
|
||||||
float cursor_alpha[16];
|
|
||||||
|
|
||||||
unsigned cursor_state; /* 0 -> 1 -> 0 -> 1 [...] */
|
|
||||||
float cursor_border[16];
|
|
||||||
float message_background[16];
|
|
||||||
} theme_dynamic;
|
|
||||||
|
|
||||||
unsigned last_width;
|
|
||||||
unsigned last_height;
|
|
||||||
float last_scale_factor;
|
|
||||||
|
|
||||||
bool need_compute;
|
|
||||||
|
|
||||||
file_list_t *selection_buf_old;
|
|
||||||
|
|
||||||
bool draw_old_list;
|
|
||||||
float scroll_old;
|
|
||||||
|
|
||||||
char *pending_message;
|
|
||||||
bool has_all_assets;
|
|
||||||
|
|
||||||
bool is_playlist;
|
|
||||||
bool is_playlist_old;
|
|
||||||
size_t num_search_terms_old;
|
|
||||||
|
|
||||||
bool empty_playlist;
|
|
||||||
|
|
||||||
bool osk_cursor; /* true = display it, false = don't */
|
|
||||||
bool messagebox_state;
|
|
||||||
bool messagebox_state_old;
|
|
||||||
bool should_draw_messagebox;
|
|
||||||
|
|
||||||
unsigned old_list_offset_y;
|
|
||||||
|
|
||||||
file_list_t horizontal_list; /* console tabs */ /* ptr alignment */
|
|
||||||
|
|
||||||
struct {
|
|
||||||
int header_height;
|
int header_height;
|
||||||
int footer_height;
|
int footer_height;
|
||||||
|
|
||||||
@ -237,7 +176,6 @@ struct ozone_handle
|
|||||||
int sidebar_width_normal;
|
int sidebar_width_normal;
|
||||||
int sidebar_width_collapsed;
|
int sidebar_width_collapsed;
|
||||||
|
|
||||||
float sidebar_width; /* animated field */
|
|
||||||
int sidebar_padding_horizontal;
|
int sidebar_padding_horizontal;
|
||||||
int sidebar_padding_vertical;
|
int sidebar_padding_vertical;
|
||||||
int sidebar_entry_padding_vertical;
|
int sidebar_entry_padding_vertical;
|
||||||
@ -257,44 +195,98 @@ struct ozone_handle
|
|||||||
int spacer_5px;
|
int spacer_5px;
|
||||||
} dimensions;
|
} dimensions;
|
||||||
|
|
||||||
menu_input_pointer_t pointer;
|
unsigned footer_labels_language;
|
||||||
|
unsigned last_width;
|
||||||
|
unsigned last_height;
|
||||||
|
unsigned entries_height;
|
||||||
|
unsigned theme_dynamic_cursor_state; /* 0 -> 1 -> 0 -> 1 [...] */
|
||||||
|
unsigned selection_core_name_lines;
|
||||||
|
unsigned selection_lastplayed_lines;
|
||||||
|
unsigned old_list_offset_y;
|
||||||
|
|
||||||
|
float dimensions_sidebar_width; /* animated field */
|
||||||
|
float sidebar_offset;
|
||||||
|
float last_scale_factor;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
float cursor_alpha;
|
||||||
|
float scroll_y;
|
||||||
|
float scroll_y_sidebar;
|
||||||
|
|
||||||
|
float list_alpha;
|
||||||
|
|
||||||
|
float messagebox_alpha;
|
||||||
|
|
||||||
|
float sidebar_text_alpha;
|
||||||
|
float thumbnail_bar_position;
|
||||||
|
|
||||||
|
float fullscreen_thumbnail_alpha;
|
||||||
|
float left_thumbnail_alpha;
|
||||||
|
} animations;
|
||||||
|
|
||||||
|
struct
|
||||||
|
{
|
||||||
|
float selection_border[16];
|
||||||
|
float selection[16];
|
||||||
|
float entries_border[16];
|
||||||
|
float entries_icon[16];
|
||||||
|
float entries_checkmark[16];
|
||||||
|
float cursor_alpha[16];
|
||||||
|
|
||||||
|
float cursor_border[16];
|
||||||
|
float message_background[16];
|
||||||
|
} theme_dynamic;
|
||||||
|
|
||||||
|
float scroll_old;
|
||||||
|
|
||||||
int16_t pointer_active_delta;
|
int16_t pointer_active_delta;
|
||||||
bool pointer_in_sidebar;
|
|
||||||
bool last_pointer_in_sidebar;
|
|
||||||
size_t pointer_categories_selection;
|
|
||||||
size_t first_onscreen_entry;
|
|
||||||
size_t last_onscreen_entry;
|
|
||||||
size_t first_onscreen_category;
|
|
||||||
size_t last_onscreen_category;
|
|
||||||
|
|
||||||
bool show_cursor;
|
|
||||||
bool cursor_mode;
|
|
||||||
|
|
||||||
int16_t cursor_x_old;
|
int16_t cursor_x_old;
|
||||||
int16_t cursor_y_old;
|
int16_t cursor_y_old;
|
||||||
|
|
||||||
bool sidebar_collapsed;
|
uint8_t system_tab_end;
|
||||||
|
uint8_t tabs[OZONE_SYSTEM_TAB_LAST];
|
||||||
|
|
||||||
/* Thumbnails data */
|
char title[PATH_MAX_LENGTH];
|
||||||
bool show_thumbnail_bar;
|
|
||||||
|
|
||||||
gfx_thumbnail_path_data_t *thumbnail_path_data;
|
char assets_path[PATH_MAX_LENGTH];
|
||||||
|
char png_path[PATH_MAX_LENGTH];
|
||||||
struct {
|
char icons_path[PATH_MAX_LENGTH];
|
||||||
gfx_thumbnail_t right;
|
char tab_path[PATH_MAX_LENGTH];
|
||||||
gfx_thumbnail_t left;
|
|
||||||
} thumbnails;
|
|
||||||
|
|
||||||
bool fullscreen_thumbnails_available;
|
|
||||||
bool show_fullscreen_thumbnails;
|
|
||||||
size_t fullscreen_thumbnail_selection;
|
|
||||||
char fullscreen_thumbnail_label[255];
|
char fullscreen_thumbnail_label[255];
|
||||||
|
|
||||||
char selection_core_name[255];
|
char selection_core_name[255];
|
||||||
char selection_playtime[255];
|
char selection_playtime[255];
|
||||||
char selection_lastplayed[255];
|
char selection_lastplayed[255];
|
||||||
unsigned selection_core_name_lines;
|
|
||||||
unsigned selection_lastplayed_lines;
|
bool cursor_in_sidebar;
|
||||||
|
bool cursor_in_sidebar_old;
|
||||||
|
|
||||||
|
bool fade_direction; /* false = left to right, true = right to left */
|
||||||
|
|
||||||
|
bool draw_sidebar;
|
||||||
|
bool empty_playlist;
|
||||||
|
|
||||||
|
bool osk_cursor; /* true = display it, false = don't */
|
||||||
|
bool messagebox_state;
|
||||||
|
bool messagebox_state_old;
|
||||||
|
bool should_draw_messagebox;
|
||||||
|
|
||||||
|
bool need_compute;
|
||||||
|
bool draw_old_list;
|
||||||
|
bool has_all_assets;
|
||||||
|
|
||||||
|
bool is_playlist;
|
||||||
|
bool is_playlist_old;
|
||||||
|
|
||||||
|
bool pointer_in_sidebar;
|
||||||
|
bool last_pointer_in_sidebar;
|
||||||
|
bool show_cursor;
|
||||||
|
bool cursor_mode;
|
||||||
|
bool sidebar_collapsed;
|
||||||
|
bool show_thumbnail_bar;
|
||||||
|
bool fullscreen_thumbnails_available;
|
||||||
|
bool show_fullscreen_thumbnails;
|
||||||
bool selection_core_is_viewer;
|
bool selection_core_is_viewer;
|
||||||
|
|
||||||
bool force_metadata_display;
|
bool force_metadata_display;
|
||||||
|
@ -79,7 +79,7 @@ static void ozone_cursor_animation_cb(void *userdata)
|
|||||||
|
|
||||||
float *target = NULL;
|
float *target = NULL;
|
||||||
|
|
||||||
switch (ozone->theme_dynamic.cursor_state)
|
switch (ozone->theme_dynamic_cursor_state)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
target = ozone->theme->cursor_border_1;
|
target = ozone->theme->cursor_border_1;
|
||||||
@ -89,7 +89,7 @@ static void ozone_cursor_animation_cb(void *userdata)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
ozone->theme_dynamic.cursor_state = (ozone->theme_dynamic.cursor_state + 1) % 2;
|
ozone->theme_dynamic_cursor_state = (ozone->theme_dynamic_cursor_state + 1) % 2;
|
||||||
|
|
||||||
ozone_animate_cursor(ozone, ozone->theme_dynamic.cursor_border, target);
|
ozone_animate_cursor(ozone, ozone->theme_dynamic.cursor_border, target);
|
||||||
}
|
}
|
||||||
@ -238,7 +238,7 @@ void ozone_restart_cursor_animation(ozone_handle_t *ozone)
|
|||||||
if (!ozone->has_all_assets)
|
if (!ozone->has_all_assets)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
ozone->theme_dynamic.cursor_state = 1;
|
ozone->theme_dynamic_cursor_state = 1;
|
||||||
memcpy(ozone->theme_dynamic.cursor_border, ozone->theme->cursor_border_0, sizeof(ozone->theme_dynamic.cursor_border));
|
memcpy(ozone->theme_dynamic.cursor_border, ozone->theme->cursor_border_0, sizeof(ozone->theme_dynamic.cursor_border));
|
||||||
gfx_animation_kill_by_tag(&tag);
|
gfx_animation_kill_by_tag(&tag);
|
||||||
|
|
||||||
|
@ -357,7 +357,7 @@ void ozone_compute_entries_position(ozone_handle_t *ozone)
|
|||||||
|
|
||||||
if (ozone->depth == 1)
|
if (ozone->depth == 1)
|
||||||
{
|
{
|
||||||
sublabel_max_width -= (unsigned) ozone->dimensions.sidebar_width;
|
sublabel_max_width -= (unsigned) ozone->dimensions_sidebar_width;
|
||||||
|
|
||||||
if (ozone->show_thumbnail_bar)
|
if (ozone->show_thumbnail_bar)
|
||||||
sublabel_max_width -= ozone->dimensions.thumbnail_bar_width;
|
sublabel_max_width -= ozone->dimensions.thumbnail_bar_width;
|
||||||
@ -471,7 +471,7 @@ void ozone_draw_entries(
|
|||||||
entries_end = file_list_get_size(selection_buf);
|
entries_end = file_list_get_size(selection_buf);
|
||||||
y = ozone->dimensions.header_height + ozone->dimensions.spacer_1px + ozone->dimensions.entry_padding_vertical;
|
y = ozone->dimensions.header_height + ozone->dimensions.spacer_1px + ozone->dimensions.entry_padding_vertical;
|
||||||
sidebar_offset = ozone->sidebar_offset;
|
sidebar_offset = ozone->sidebar_offset;
|
||||||
entry_width = video_width - (unsigned) ozone->dimensions.sidebar_width - ozone->sidebar_offset - entry_padding * 2 - ozone->animations.thumbnail_bar_position;
|
entry_width = video_width - (unsigned) ozone->dimensions_sidebar_width - ozone->sidebar_offset - entry_padding * 2 - ozone->animations.thumbnail_bar_position;
|
||||||
button_height = ozone->dimensions.entry_height; /* height of the button (entry minus sublabel) */
|
button_height = ozone->dimensions.entry_height; /* height of the button (entry minus sublabel) */
|
||||||
|
|
||||||
video_driver_get_size(&video_info_width, &video_info_height);
|
video_driver_get_size(&video_info_width, &video_info_height);
|
||||||
@ -520,7 +520,8 @@ void ozone_draw_entries(
|
|||||||
else if (y + scroll_y - node->height - 20 * scale_factor > bottom_boundary)
|
else if (y + scroll_y - node->height - 20 * scale_factor > bottom_boundary)
|
||||||
goto border_iterate;
|
goto border_iterate;
|
||||||
|
|
||||||
border_start_x = (unsigned) ozone->dimensions.sidebar_width + x_offset + entry_padding;
|
border_start_x = (unsigned) ozone->dimensions_sidebar_width
|
||||||
|
+ x_offset + entry_padding;
|
||||||
border_start_y = y + scroll_y;
|
border_start_y = y + scroll_y;
|
||||||
|
|
||||||
gfx_display_set_alpha(ozone->theme_dynamic.entries_border, alpha);
|
gfx_display_set_alpha(ozone->theme_dynamic.entries_border, alpha);
|
||||||
@ -562,7 +563,8 @@ border_iterate:
|
|||||||
userdata,
|
userdata,
|
||||||
video_width,
|
video_width,
|
||||||
video_height,
|
video_height,
|
||||||
(unsigned) ozone->dimensions.sidebar_width + x_offset + entry_padding + ozone->dimensions.spacer_3px,
|
(unsigned) ozone->dimensions_sidebar_width
|
||||||
|
+ x_offset + entry_padding + ozone->dimensions.spacer_3px,
|
||||||
entry_width - ozone->dimensions.spacer_5px,
|
entry_width - ozone->dimensions.spacer_5px,
|
||||||
button_height + ozone->dimensions.spacer_1px,
|
button_height + ozone->dimensions.spacer_1px,
|
||||||
selection_y + scroll_y,
|
selection_y + scroll_y,
|
||||||
@ -575,7 +577,8 @@ border_iterate:
|
|||||||
userdata,
|
userdata,
|
||||||
video_width,
|
video_width,
|
||||||
video_height,
|
video_height,
|
||||||
(unsigned)ozone->dimensions.sidebar_width + x_offset + entry_padding + ozone->dimensions.spacer_3px,
|
(unsigned)ozone->dimensions_sidebar_width
|
||||||
|
+ x_offset + entry_padding + ozone->dimensions.spacer_3px,
|
||||||
/* TODO/FIXME - undefined behavior reported by ASAN -
|
/* TODO/FIXME - undefined behavior reported by ASAN -
|
||||||
*-35.2358 is outside the range of representable values
|
*-35.2358 is outside the range of representable values
|
||||||
of type 'unsigned int'
|
of type 'unsigned int'
|
||||||
@ -687,7 +690,9 @@ border_iterate:
|
|||||||
/* Note: This entry can never be selected, so ticker_x_offset
|
/* Note: This entry can never be selected, so ticker_x_offset
|
||||||
* is irrelevant here (i.e. this text will never scroll) */
|
* is irrelevant here (i.e. this text will never scroll) */
|
||||||
unsigned text_width = font_driver_get_message_width(ozone->fonts.entries_label.font, rich_label, (unsigned)strlen(rich_label), 1);
|
unsigned text_width = font_driver_get_message_width(ozone->fonts.entries_label.font, rich_label, (unsigned)strlen(rich_label), 1);
|
||||||
x_offset = (video_info_width - (unsigned) ozone->dimensions.sidebar_width - entry_padding * 2) / 2 - text_width / 2 - 60 * scale_factor;
|
x_offset = (video_info_width - (unsigned)
|
||||||
|
ozone->dimensions_sidebar_width - entry_padding * 2)
|
||||||
|
/ 2 - text_width / 2 - 60 * scale_factor;
|
||||||
y = video_info_height / 2 - 60 * scale_factor;
|
y = video_info_height / 2 - 60 * scale_factor;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -702,7 +707,8 @@ border_iterate:
|
|||||||
|
|
||||||
if (ozone->depth == 1)
|
if (ozone->depth == 1)
|
||||||
{
|
{
|
||||||
sublabel_max_width -= (unsigned) ozone->dimensions.sidebar_width;
|
sublabel_max_width -= (unsigned)
|
||||||
|
ozone->dimensions_sidebar_width;
|
||||||
|
|
||||||
if (ozone->show_thumbnail_bar)
|
if (ozone->show_thumbnail_bar)
|
||||||
sublabel_max_width -= ozone->dimensions.thumbnail_bar_width;
|
sublabel_max_width -= ozone->dimensions.thumbnail_bar_width;
|
||||||
@ -750,8 +756,11 @@ border_iterate:
|
|||||||
ozone->dimensions.entry_icon_size,
|
ozone->dimensions.entry_icon_size,
|
||||||
ozone->dimensions.entry_icon_size,
|
ozone->dimensions.entry_icon_size,
|
||||||
texture,
|
texture,
|
||||||
(unsigned)ozone->dimensions.sidebar_width + x_offset + entry_padding + ozone->dimensions.entry_icon_padding,
|
(unsigned)ozone->dimensions_sidebar_width
|
||||||
y + scroll_y + ozone->dimensions.entry_height / 2 - ozone->dimensions.entry_icon_size / 2,
|
+ x_offset + entry_padding
|
||||||
|
+ ozone->dimensions.entry_icon_padding,
|
||||||
|
y + scroll_y + ozone->dimensions.entry_height
|
||||||
|
/ 2 - ozone->dimensions.entry_icon_size / 2,
|
||||||
video_width,
|
video_width,
|
||||||
video_height,
|
video_height,
|
||||||
0,
|
0,
|
||||||
@ -767,7 +776,10 @@ border_iterate:
|
|||||||
|
|
||||||
/* Draw text */
|
/* Draw text */
|
||||||
ozone_draw_text(ozone, rich_label,
|
ozone_draw_text(ozone, rich_label,
|
||||||
ticker_x_offset + text_offset + (unsigned) ozone->dimensions.sidebar_width + x_offset + entry_padding + ozone->dimensions.entry_icon_size + ozone->dimensions.entry_icon_padding * 2,
|
ticker_x_offset + text_offset + (unsigned)
|
||||||
|
ozone->dimensions_sidebar_width + x_offset +
|
||||||
|
entry_padding + ozone->dimensions.entry_icon_size +
|
||||||
|
ozone->dimensions.entry_icon_padding * 2,
|
||||||
y + ozone->dimensions.entry_height / 2.0f + ozone->fonts.entries_label.line_centre_offset + scroll_y,
|
y + ozone->dimensions.entry_height / 2.0f + ozone->fonts.entries_label.line_centre_offset + scroll_y,
|
||||||
TEXT_ALIGN_LEFT, video_width, video_height, &ozone->fonts.entries_label, COLOR_TEXT_ALPHA(ozone->theme->text_rgba, alpha_uint32), false);
|
TEXT_ALIGN_LEFT, video_width, video_height, &ozone->fonts.entries_label, COLOR_TEXT_ALPHA(ozone->theme->text_rgba, alpha_uint32), false);
|
||||||
|
|
||||||
@ -775,7 +787,9 @@ border_iterate:
|
|||||||
{
|
{
|
||||||
if (!string_is_empty(sublabel_str))
|
if (!string_is_empty(sublabel_str))
|
||||||
ozone_draw_text(ozone, sublabel_str,
|
ozone_draw_text(ozone, sublabel_str,
|
||||||
(unsigned) ozone->dimensions.sidebar_width + x_offset + entry_padding + ozone->dimensions.entry_icon_padding,
|
(unsigned) ozone->dimensions_sidebar_width +
|
||||||
|
x_offset + entry_padding +
|
||||||
|
ozone->dimensions.entry_icon_padding,
|
||||||
y + ozone->dimensions.entry_height - ozone->dimensions.spacer_1px + (node->height - ozone->dimensions.entry_height - (node->sublabel_lines * ozone->fonts.entries_sublabel.line_height))/2.0f + ozone->fonts.entries_sublabel.line_ascender + scroll_y,
|
y + ozone->dimensions.entry_height - ozone->dimensions.spacer_1px + (node->height - ozone->dimensions.entry_height - (node->sublabel_lines * ozone->fonts.entries_sublabel.line_height))/2.0f + ozone->fonts.entries_sublabel.line_ascender + scroll_y,
|
||||||
TEXT_ALIGN_LEFT, video_width, video_height, &ozone->fonts.entries_sublabel, COLOR_TEXT_ALPHA(ozone->theme->text_sublabel_rgba, alpha_uint32), false);
|
TEXT_ALIGN_LEFT, video_width, video_height, &ozone->fonts.entries_sublabel, COLOR_TEXT_ALPHA(ozone->theme->text_sublabel_rgba, alpha_uint32), false);
|
||||||
}
|
}
|
||||||
@ -811,7 +825,9 @@ border_iterate:
|
|||||||
video_width,
|
video_width,
|
||||||
video_height,
|
video_height,
|
||||||
entry_value_ticker,
|
entry_value_ticker,
|
||||||
value_x_offset + (unsigned) ozone->dimensions.sidebar_width + entry_padding + x_offset + entry_width - ozone->dimensions.entry_icon_padding,
|
value_x_offset + (unsigned) ozone->dimensions_sidebar_width
|
||||||
|
+ entry_padding + x_offset
|
||||||
|
+ entry_width - ozone->dimensions.entry_icon_padding,
|
||||||
y + ozone->dimensions.entry_height / 2 + ozone->fonts.entries_label.line_centre_offset + scroll_y,
|
y + ozone->dimensions.entry_height / 2 + ozone->fonts.entries_label.line_centre_offset + scroll_y,
|
||||||
alpha_uint32,
|
alpha_uint32,
|
||||||
&entry);
|
&entry);
|
||||||
|
@ -213,7 +213,7 @@ void ozone_draw_sidebar(
|
|||||||
video_width, video_height,
|
video_width, video_height,
|
||||||
0,
|
0,
|
||||||
ozone->dimensions.header_height + ozone->dimensions.spacer_1px,
|
ozone->dimensions.header_height + ozone->dimensions.spacer_1px,
|
||||||
(unsigned) ozone->dimensions.sidebar_width,
|
(unsigned) ozone->dimensions_sidebar_width,
|
||||||
video_height - ozone->dimensions.header_height - ozone->dimensions.footer_height - ozone->dimensions.spacer_1px);
|
video_height - ozone->dimensions.header_height - ozone->dimensions.footer_height - ozone->dimensions.spacer_1px);
|
||||||
|
|
||||||
/* Background */
|
/* Background */
|
||||||
@ -227,7 +227,7 @@ void ozone_draw_sidebar(
|
|||||||
video_height,
|
video_height,
|
||||||
ozone->sidebar_offset,
|
ozone->sidebar_offset,
|
||||||
ozone->dimensions.header_height + ozone->dimensions.spacer_1px,
|
ozone->dimensions.header_height + ozone->dimensions.spacer_1px,
|
||||||
(unsigned)ozone->dimensions.sidebar_width,
|
(unsigned)ozone->dimensions_sidebar_width,
|
||||||
ozone->dimensions.sidebar_gradient_height,
|
ozone->dimensions.sidebar_gradient_height,
|
||||||
video_width,
|
video_width,
|
||||||
video_height,
|
video_height,
|
||||||
@ -238,7 +238,7 @@ void ozone_draw_sidebar(
|
|||||||
video_height,
|
video_height,
|
||||||
ozone->sidebar_offset,
|
ozone->sidebar_offset,
|
||||||
ozone->dimensions.header_height + ozone->dimensions.spacer_1px + ozone->dimensions.sidebar_gradient_height,
|
ozone->dimensions.header_height + ozone->dimensions.spacer_1px + ozone->dimensions.sidebar_gradient_height,
|
||||||
(unsigned)ozone->dimensions.sidebar_width,
|
(unsigned)ozone->dimensions_sidebar_width,
|
||||||
sidebar_height,
|
sidebar_height,
|
||||||
video_width,
|
video_width,
|
||||||
video_height,
|
video_height,
|
||||||
@ -249,7 +249,7 @@ void ozone_draw_sidebar(
|
|||||||
video_height,
|
video_height,
|
||||||
ozone->sidebar_offset,
|
ozone->sidebar_offset,
|
||||||
video_height - ozone->dimensions.footer_height - ozone->dimensions.sidebar_gradient_height - ozone->dimensions.spacer_1px,
|
video_height - ozone->dimensions.footer_height - ozone->dimensions.sidebar_gradient_height - ozone->dimensions.spacer_1px,
|
||||||
(unsigned)ozone->dimensions.sidebar_width,
|
(unsigned)ozone->dimensions_sidebar_width,
|
||||||
ozone->dimensions.sidebar_gradient_height + ozone->dimensions.spacer_1px,
|
ozone->dimensions.sidebar_gradient_height + ozone->dimensions.spacer_1px,
|
||||||
video_width,
|
video_width,
|
||||||
video_height,
|
video_height,
|
||||||
@ -278,7 +278,7 @@ void ozone_draw_sidebar(
|
|||||||
y += ozone->dimensions.sidebar_entry_height + ozone->dimensions.sidebar_entry_padding_vertical;
|
y += ozone->dimensions.sidebar_entry_height + ozone->dimensions.sidebar_entry_padding_vertical;
|
||||||
}
|
}
|
||||||
|
|
||||||
entry_width = (unsigned) ozone->dimensions.sidebar_width - ozone->dimensions.sidebar_padding_horizontal * 2;
|
entry_width = (unsigned) ozone->dimensions_sidebar_width - ozone->dimensions.sidebar_padding_horizontal * 2;
|
||||||
|
|
||||||
/* Cursor */
|
/* Cursor */
|
||||||
if (ozone->cursor_in_sidebar)
|
if (ozone->cursor_in_sidebar)
|
||||||
@ -538,7 +538,7 @@ void ozone_sidebar_update_collapse(ozone_handle_t *ozone, bool allow_animation)
|
|||||||
gfx_animation_push(&entry);
|
gfx_animation_push(&entry);
|
||||||
|
|
||||||
/* Collapse */
|
/* Collapse */
|
||||||
entry.subject = &ozone->dimensions.sidebar_width;
|
entry.subject = &ozone->dimensions_sidebar_width;
|
||||||
entry.target_value = ozone->dimensions.sidebar_width_collapsed;
|
entry.target_value = ozone->dimensions.sidebar_width_collapsed;
|
||||||
|
|
||||||
gfx_animation_push(&entry);
|
gfx_animation_push(&entry);
|
||||||
@ -546,7 +546,7 @@ void ozone_sidebar_update_collapse(ozone_handle_t *ozone, bool allow_animation)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
ozone->animations.sidebar_text_alpha = 0.0f;
|
ozone->animations.sidebar_text_alpha = 0.0f;
|
||||||
ozone->dimensions.sidebar_width =
|
ozone->dimensions_sidebar_width =
|
||||||
ozone->dimensions.sidebar_width_collapsed;
|
ozone->dimensions.sidebar_width_collapsed;
|
||||||
ozone_sidebar_collapse_end(ozone);
|
ozone_sidebar_collapse_end(ozone);
|
||||||
}
|
}
|
||||||
@ -567,7 +567,7 @@ void ozone_sidebar_update_collapse(ozone_handle_t *ozone, bool allow_animation)
|
|||||||
gfx_animation_push(&entry);
|
gfx_animation_push(&entry);
|
||||||
|
|
||||||
/* Collapse */
|
/* Collapse */
|
||||||
entry.subject = &ozone->dimensions.sidebar_width;
|
entry.subject = &ozone->dimensions_sidebar_width;
|
||||||
entry.target_value = ozone->dimensions.sidebar_width_normal;
|
entry.target_value = ozone->dimensions.sidebar_width_normal;
|
||||||
|
|
||||||
gfx_animation_push(&entry);
|
gfx_animation_push(&entry);
|
||||||
@ -575,7 +575,7 @@ void ozone_sidebar_update_collapse(ozone_handle_t *ozone, bool allow_animation)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
ozone->animations.sidebar_text_alpha = 1.0f;
|
ozone->animations.sidebar_text_alpha = 1.0f;
|
||||||
ozone->dimensions.sidebar_width = ozone->dimensions.sidebar_width_normal;
|
ozone->dimensions_sidebar_width = ozone->dimensions.sidebar_width_normal;
|
||||||
ozone->sidebar_collapsed = false;
|
ozone->sidebar_collapsed = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -657,13 +657,13 @@ void ozone_refresh_sidebars(ozone_handle_t *ozone, unsigned video_height)
|
|||||||
if (collapse_sidebar || (is_playlist && !ozone->cursor_in_sidebar))
|
if (collapse_sidebar || (is_playlist && !ozone->cursor_in_sidebar))
|
||||||
{
|
{
|
||||||
ozone->animations.sidebar_text_alpha = 0.0f;
|
ozone->animations.sidebar_text_alpha = 0.0f;
|
||||||
ozone->dimensions.sidebar_width = ozone->dimensions.sidebar_width_collapsed;
|
ozone->dimensions_sidebar_width = ozone->dimensions.sidebar_width_collapsed;
|
||||||
ozone->sidebar_collapsed = true;
|
ozone->sidebar_collapsed = true;
|
||||||
}
|
}
|
||||||
else if (ozone->cursor_in_sidebar || (!is_playlist && !collapse_sidebar))
|
else if (ozone->cursor_in_sidebar || (!is_playlist && !collapse_sidebar))
|
||||||
{
|
{
|
||||||
ozone->animations.sidebar_text_alpha = 1.0f;
|
ozone->animations.sidebar_text_alpha = 1.0f;
|
||||||
ozone->dimensions.sidebar_width = ozone->dimensions.sidebar_width_normal;
|
ozone->dimensions_sidebar_width = ozone->dimensions.sidebar_width_normal;
|
||||||
ozone->sidebar_collapsed = false;
|
ozone->sidebar_collapsed = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -675,7 +675,7 @@ void ozone_refresh_sidebars(ozone_handle_t *ozone, unsigned video_height)
|
|||||||
}
|
}
|
||||||
else if (ozone->depth > 1)
|
else if (ozone->depth > 1)
|
||||||
{
|
{
|
||||||
ozone->sidebar_offset = -ozone->dimensions.sidebar_width;
|
ozone->sidebar_offset = -ozone->dimensions_sidebar_width;
|
||||||
ozone->draw_sidebar = false;
|
ozone->draw_sidebar = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user