From 5d9356f2ff8ca8c76709942695ae70b67d7b10ea Mon Sep 17 00:00:00 2001 From: Patrick Scheurenbrand Date: Sun, 10 Feb 2019 16:22:45 +0100 Subject: [PATCH 1/8] updated ozone to use macros instead of hardcoded values --- menu/drivers/ozone/ozone.c | 45 +++++++++++++++--------------- menu/drivers/ozone/ozone.h | 7 ++++- menu/drivers/ozone/ozone_entries.c | 28 +++++++++---------- menu/drivers/ozone/ozone_sidebar.c | 18 ++++++------ 4 files changed, 51 insertions(+), 47 deletions(-) diff --git a/menu/drivers/ozone/ozone.c b/menu/drivers/ozone/ozone.c index 989605c6b5..57d30d9533 100644 --- a/menu/drivers/ozone/ozone.c +++ b/menu/drivers/ozone/ozone.c @@ -797,13 +797,13 @@ static void ozone_update_scroll(ozone_handle_t *ozone, bool allow_animation, ozo video_driver_get_size(NULL, &video_info_height); current_selection_middle_onscreen = ENTRIES_START_Y + ozone->animations.scroll_y + node->position_y + node->height / 2; - bottom_boundary = video_info_height - 87 - 78; + bottom_boundary = video_info_height - HEADER_HEIGHT - FOOTER_HEIGHT; entries_middle = video_info_height/2; new_scroll = ozone->animations.scroll_y - (current_selection_middle_onscreen - entries_middle); if (new_scroll + ozone->entries_height < bottom_boundary) - new_scroll = -(78 + ozone->entries_height - bottom_boundary); + new_scroll = -(FOOTER_HEIGHT + ozone->entries_height - bottom_boundary); if (new_scroll > 0) new_scroll = 0; @@ -966,7 +966,7 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i unsigned timedate_offset = 0; /* Separator */ - menu_display_draw_quad(video_info, 30, 87, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); + menu_display_draw_quad(video_info, 30, HEADER_HEIGHT, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); /* Title */ ticker.s = title; @@ -977,7 +977,7 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i menu_animation_ticker(&ticker); - ozone_draw_text(video_info, ozone, title, 128, 20 + FONT_SIZE_TITLE, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.title, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, title, 128, HEADER_HEIGHT / 2 + FONT_SIZE_TITLE * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.title, ozone->theme->text_rgba, false); /* Icon */ menu_display_blend_begin(video_info); @@ -986,11 +986,11 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i ozone_draw_icon(video_info, 60, 60, ozone->textures[OZONE_TEXTURE_DISCORD_OWN_AVATAR], 47, 14, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); else #endif - ozone_draw_icon(video_info, 60, 60, ozone->textures[OZONE_TEXTURE_RETROARCH], 47, 14, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); + ozone_draw_icon(video_info, 60, 60, ozone->textures[OZONE_TEXTURE_RETROARCH], 47, (HEADER_HEIGHT - 60) / 2, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); menu_display_blend_end(video_info); /* Battery */ - if (video_info->battery_level_enable) + if (video_info->battery_level_enable || true) { char msg[12]; static retro_time_t last_time = 0; @@ -1016,10 +1016,10 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i snprintf(msg, sizeof(msg), "%d%%", percent); - ozone_draw_text(video_info, ozone, msg, video_info->width - 85, 30 + FONT_SIZE_TIME, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, msg, video_info->width - 85, HEADER_HEIGHT / 2 + FONT_SIZE_TIME * 3/8, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); menu_display_blend_begin(video_info); - ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[charging ? OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_CHARGING : OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_FULL], video_info->width - 60 - 56, 30 - 28, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); + ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[charging ? OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_CHARGING : OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_FULL], video_info->width - 60 - 56, HEADER_HEIGHT / 2 - 42, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); menu_display_blend_end(video_info); } } @@ -1038,10 +1038,10 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i menu_display_timedate(&datetime); - ozone_draw_text(video_info, ozone, timedate, video_info->width - 87 - timedate_offset, 30 + FONT_SIZE_TIME, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, timedate, video_info->width - 85 - timedate_offset, HEADER_HEIGHT / 2 + FONT_SIZE_TIME * 3/8, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); menu_display_blend_begin(video_info); - ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CLOCK], video_info->width - 60 - 56 - timedate_offset, 30 - 28, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); + ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CLOCK], video_info->width - 60 - 56 - timedate_offset, HEADER_HEIGHT / 2 - 42, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); menu_display_blend_end(video_info); } } @@ -1050,16 +1050,15 @@ static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_i { char core_title[255]; /* Separator */ - menu_display_draw_quad(video_info, 23, video_info->height - 78, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); + menu_display_draw_quad(video_info, 23, video_info->height - FOOTER_HEIGHT, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); /* Core title or Switch icon */ if (settings->bools.menu_core_enable && menu_entries_get_core_title(core_title, sizeof(core_title)) == 0) - ozone_draw_text(video_info, ozone, core_title, 59, video_info->height - 49 + FONT_SIZE_FOOTER, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, core_title, 59, video_info->height - FOOTER_HEIGHT / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); else - ozone_draw_icon(video_info, 69, 30, ozone->theme->textures[OZONE_THEME_TEXTURE_SWITCH], 59, video_info->height - 52, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 69, 30, ozone->theme->textures[OZONE_THEME_TEXTURE_SWITCH], 59, video_info->height - FOOTER_HEIGHT / 2 - 15, video_info->width,video_info->height, 0, 1, NULL); /* Buttons */ - { unsigned back_width = 215; unsigned back_height = 49; @@ -1079,13 +1078,13 @@ static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_i if (do_swap) { - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 133, video_info->height - 49, video_info->width,video_info->height, 0, 1, NULL); - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 251, video_info->height - 49, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 133, video_info->height - FOOTER_HEIGHT / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 251, video_info->height - FOOTER_HEIGHT / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); } else { - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 251, video_info->height - 49, video_info->width,video_info->height, 0, 1, NULL); - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 133, video_info->height - 49, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 251, video_info->height - FOOTER_HEIGHT / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 133, video_info->height - FOOTER_HEIGHT / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); } menu_display_blend_end(video_info); @@ -1094,12 +1093,12 @@ static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_i do_swap ? msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_OK) : msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_BACK), - video_info->width - back_width, video_info->height - back_height + FONT_SIZE_FOOTER, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); + video_info->width - back_width, video_info->height - FOOTER_HEIGHT / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); ozone_draw_text(video_info, ozone, do_swap ? msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_BACK) : msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_OK), - video_info->width - ok_width, video_info->height - ok_height + FONT_SIZE_FOOTER, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); + video_info->width - ok_width, video_info->height - FOOTER_HEIGHT / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); } menu_display_blend_end(video_info); @@ -1249,7 +1248,7 @@ static void ozone_frame(void *data, video_frame_info_t *video_info) ozone_draw_sidebar(ozone, video_info); /* Menu entries */ - menu_display_scissor_begin(video_info, ozone->sidebar_offset + 408, 87, video_info->width - 408 + (-ozone->sidebar_offset), video_info->height - 87 - 78); + menu_display_scissor_begin(video_info, ozone->sidebar_offset + SIDEBAR_WIDTH, HEADER_HEIGHT, video_info->width - SIDEBAR_WIDTH + (-ozone->sidebar_offset), video_info->height - HEADER_HEIGHT - FOOTER_HEIGHT); /* Current list */ ozone_draw_entries(ozone, @@ -1415,7 +1414,7 @@ static void ozone_list_open(ozone_handle_t *ozone) entry.easing_enum = EASING_OUT_QUAD; entry.subject = &ozone->sidebar_offset; entry.tag = (uintptr_t) NULL; - entry.target_value = -408.0f; + entry.target_value = -SIDEBAR_WIDTH; entry.userdata = (void*) ozone; menu_animation_push(&entry); @@ -1741,7 +1740,7 @@ static void ozone_list_cache(void *data, y = ENTRIES_START_Y; entries_end = menu_entries_get_size(); selection_buf = menu_entries_get_selection_buf_ptr(0); - bottom_boundary = video_info_height - 87 - 78; + bottom_boundary = video_info_height - HEADER_HEIGHT - FOOTER_HEIGHT; for (i = 0; i < entries_end; i++) { diff --git a/menu/drivers/ozone/ozone.h b/menu/drivers/ozone/ozone.h index 911d8f1c01..02fd75620c 100644 --- a/menu/drivers/ozone/ozone.h +++ b/menu/drivers/ozone/ozone.h @@ -37,7 +37,12 @@ typedef struct ozone_handle ozone_handle_t; #define ANIMATION_CURSOR_DURATION 8 #define ANIMATION_CURSOR_PULSE 30 -#define ENTRIES_START_Y 127 +#define HEADER_HEIGHT 87 +#define FOOTER_HEIGHT 78 +#define SIDEBAR_WIDTH 408 +#define ENTRIE_PADDING 67 + +#define ENTRIES_START_Y (HEADER_HEIGHT + 40) #define INTERVAL_BATTERY_LEVEL_CHECK (30 * 1000000) #define INTERVAL_OSK_CURSOR (0.5f * 1000000) diff --git a/menu/drivers/ozone/ozone_entries.c b/menu/drivers/ozone/ozone_entries.c index 4d09e6d3cf..a00aa7aa53 100644 --- a/menu/drivers/ozone/ozone_entries.c +++ b/menu/drivers/ozone/ozone_entries.c @@ -113,7 +113,7 @@ void ozone_draw_entries(ozone_handle_t *ozone, video_frame_info_t *video_info, size_t i, y, entries_end; float sidebar_offset, bottom_boundary, invert, alpha_anim; unsigned video_info_height, video_info_width, entry_width, button_height; - int x_offset = 22; + int x_offset = 0; size_t selection_y = 0; size_t old_selection_y = 0; @@ -122,13 +122,13 @@ void ozone_draw_entries(ozone_handle_t *ozone, video_frame_info_t *video_info, entries_end = file_list_get_size(selection_buf); old_list = selection_buf == ozone->selection_buf_old; y = ENTRIES_START_Y; - sidebar_offset = ozone->sidebar_offset / 2.0f; - entry_width = video_info->width - 548; + sidebar_offset = ozone->sidebar_offset; + entry_width = video_info->width - SIDEBAR_WIDTH - ozone->sidebar_offset - ENTRIE_PADDING * 2; button_height = 52; /* height of the button (entry minus sublabel) */ video_driver_get_size(&video_info_width, &video_info_height); - bottom_boundary = video_info_height - 87 - 78; + bottom_boundary = video_info_height - HEADER_HEIGHT - FOOTER_HEIGHT; invert = (ozone->fade_direction) ? -1 : 1; alpha_anim = old_list ? alpha : 1.0f - alpha; @@ -172,8 +172,8 @@ void ozone_draw_entries(ozone_handle_t *ozone, video_frame_info_t *video_info, ozone_color_alpha(ozone->theme_dynamic.entries_checkmark, alpha); /* Borders */ - menu_display_draw_quad(video_info, x_offset + 456-3, y - 3 + scroll_y, entry_width + 10 - 3 -1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); - menu_display_draw_quad(video_info, x_offset + 456-3, y - 3 + button_height + scroll_y, entry_width + 10 - 3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); + menu_display_draw_quad(video_info, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING - 3, y - 3 + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); + menu_display_draw_quad(video_info, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING - 3, y - 3 + button_height + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); border_iterate: y += node->height; @@ -181,11 +181,11 @@ border_iterate: /* Cursor(s) layer - current */ if (!ozone->cursor_in_sidebar) - ozone_draw_cursor(ozone, video_info, x_offset + 456, entry_width, button_height, selection_y + scroll_y, ozone->animations.cursor_alpha * alpha); + ozone_draw_cursor(ozone, video_info, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING, entry_width, button_height, selection_y + scroll_y, ozone->animations.cursor_alpha * alpha); /* Old*/ if (!ozone->cursor_in_sidebar_old) - ozone_draw_cursor(ozone, video_info, x_offset + 456, entry_width, button_height, old_selection_y + scroll_y, (1-ozone->animations.cursor_alpha) * alpha); + ozone_draw_cursor(ozone, video_info, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING, entry_width, button_height, old_selection_y + scroll_y, (1-ozone->animations.cursor_alpha) * alpha); /* Icons + text */ y = ENTRIES_START_Y; @@ -238,8 +238,8 @@ border_iterate: if (ozone->empty_playlist) { unsigned text_width = font_driver_get_message_width(ozone->fonts.entries_label, rich_label, (unsigned)strlen(rich_label), 1); - x_offset = (video_info_width - 408 - 162)/2 - text_width/2; - y = video_info_height/2 - 60; + x_offset = (video_info_width - SIDEBAR_WIDTH - ENTRIE_PADDING * 2) / 2 - text_width / 2 - 60; + y = video_info_height / 2 - 60; } sublabel_str = menu_entry_get_sublabel(&entry); @@ -280,7 +280,7 @@ border_iterate: ozone_color_alpha(icon_color, alpha); menu_display_blend_begin(video_info); - ozone_draw_icon(video_info, 46, 46, texture, x_offset + 451+5+10, y + scroll_y, video_info->width, video_info->height, 0, 1, icon_color); + ozone_draw_icon(video_info, 46, 46, texture, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING + 10, y + scroll_y, video_info->width, video_info->height, 0, 1, icon_color); menu_display_blend_end(video_info); if (icon_color == ozone_pure_white) @@ -290,9 +290,9 @@ border_iterate: } /* Draw text */ - ozone_draw_text(video_info, ozone, rich_label, text_offset + x_offset + 521, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_label, COLOR_TEXT_ALPHA(ozone->theme->text_rgba, alpha_uint32), false); + ozone_draw_text(video_info, ozone, rich_label, text_offset + SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING + 60, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_label, COLOR_TEXT_ALPHA(ozone->theme->text_rgba, alpha_uint32), false); if (sublabel_str) - ozone_draw_text(video_info, ozone, sublabel_str, x_offset + 470, y + FONT_SIZE_ENTRIES_SUBLABEL + 80 - 20 - 3 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_sublabel, COLOR_TEXT_ALPHA(ozone->theme->text_sublabel_rgba, alpha_uint32), false); + ozone_draw_text(video_info, ozone, sublabel_str, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING + 10, y + FONT_SIZE_ENTRIES_SUBLABEL + 80 - 20 - 3 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_sublabel, COLOR_TEXT_ALPHA(ozone->theme->text_sublabel_rgba, alpha_uint32), false); /* Value */ ticker.idx = ozone->frame_count / 20; @@ -303,7 +303,7 @@ border_iterate: menu_animation_ticker(&ticker); - ozone_draw_entry_value(ozone, video_info, entry_value_ticker, x_offset + 426 + entry_width, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y,alpha_uint32, &entry); + ozone_draw_entry_value(ozone, video_info, entry_value_ticker, SIDEBAR_WIDTH + ENTRIE_PADDING + x_offset + entry_width - 20, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y,alpha_uint32, &entry); free(entry_rich_label); diff --git a/menu/drivers/ozone/ozone_sidebar.c b/menu/drivers/ozone/ozone_sidebar.c index ff368adc84..bcd6dfeba8 100644 --- a/menu/drivers/ozone/ozone_sidebar.c +++ b/menu/drivers/ozone/ozone_sidebar.c @@ -121,16 +121,16 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) if (ozone->horizontal_list) horizontal_list_size = ozone->horizontal_list->size; - menu_display_scissor_begin(video_info, 0, 87, 408, video_info->height - 87 - 78); + menu_display_scissor_begin(video_info, 0, HEADER_HEIGHT, SIDEBAR_WIDTH, video_info->height - HEADER_HEIGHT - FOOTER_HEIGHT); /* Background */ - sidebar_height = video_info->height - 87 - 55 - 78; + sidebar_height = video_info->height - HEADER_HEIGHT - 55 - FOOTER_HEIGHT; if (!video_info->libretro_running) { - menu_display_draw_quad(video_info, ozone->sidebar_offset, 88, 408, 55/2, video_info->width, video_info->height, ozone->theme->sidebar_top_gradient); - menu_display_draw_quad(video_info, ozone->sidebar_offset, 88 + 55/2, 408, sidebar_height, video_info->width, video_info->height, ozone->theme->sidebar_background); - menu_display_draw_quad(video_info, ozone->sidebar_offset, 55*2 + sidebar_height, 408, 55/2 + 1, video_info->width, video_info->height, ozone->theme->sidebar_bottom_gradient); + menu_display_draw_quad(video_info, ozone->sidebar_offset, HEADER_HEIGHT + 1, SIDEBAR_WIDTH, 55/2, video_info->width, video_info->height, ozone->theme->sidebar_top_gradient); + menu_display_draw_quad(video_info, ozone->sidebar_offset, HEADER_HEIGHT + 1 + 55/2, SIDEBAR_WIDTH, sidebar_height, video_info->width, video_info->height, ozone->theme->sidebar_background); + menu_display_draw_quad(video_info, ozone->sidebar_offset, video_info->height - FOOTER_HEIGHT - 55/2 - 1, SIDEBAR_WIDTH, 55/2 + 1, video_info->width, video_info->height, ozone->theme->sidebar_bottom_gradient); } /* Tabs */ @@ -157,10 +157,10 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) /* Cursor */ if (ozone->cursor_in_sidebar) - ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + 41, 408 - 81, 52, selection_y-8 + ozone->animations.scroll_y_sidebar, ozone->animations.cursor_alpha); + ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + 41, SIDEBAR_WIDTH - 81, 52, selection_y-8 + ozone->animations.scroll_y_sidebar, ozone->animations.cursor_alpha); if (ozone->cursor_in_sidebar_old) - ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + 41, 408 - 81, 52, selection_old_y-8 + ozone->animations.scroll_y_sidebar, 1-ozone->animations.cursor_alpha); + ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + 41, SIDEBAR_WIDTH - 81, 52, selection_old_y-8 + ozone->animations.scroll_y_sidebar, 1-ozone->animations.cursor_alpha); /* Menu tabs */ y = ENTRIES_START_Y - 10; @@ -190,7 +190,7 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) /* Console tabs */ if (horizontal_list_size > 0) { - menu_display_draw_quad(video_info, ozone->sidebar_offset + 41 + 10, y - 5 + ozone->animations.scroll_y_sidebar, 408-81, 1, video_info->width, video_info->height, ozone->theme->entries_border); + menu_display_draw_quad(video_info, ozone->sidebar_offset + 41 + 10, y - 5 + ozone->animations.scroll_y_sidebar, SIDEBAR_WIDTH - 81, 1, video_info->width, video_info->height, ozone->theme->entries_border); y += 30; @@ -336,7 +336,7 @@ void ozone_sidebar_goto(ozone_handle_t *ozone, unsigned new_selection) new_scroll = 0; selected_position_y = ozone_get_selected_sidebar_y_position(ozone); current_selection_middle_onscreen = ENTRIES_START_Y - 10 + ozone->animations.scroll_y_sidebar + selected_position_y + 65 / 2; - bottom_boundary = video_info_height - 87 - 78; + bottom_boundary = video_info_height - HEADER_HEIGHT - FOOTER_HEIGHT; entries_middle = video_info_height/2; entries_height = ozone_get_sidebar_height(ozone); From b259be8a38017a6a90a4107762abdc9a14fd8548 Mon Sep 17 00:00:00 2001 From: Patrick Scheurenbrand Date: Sun, 10 Feb 2019 16:55:48 +0100 Subject: [PATCH 2/8] fixed typo; removed test line --- menu/drivers/ozone/ozone.c | 2 +- menu/drivers/ozone/ozone.h | 2 +- menu/drivers/ozone/ozone_entries.c | 20 ++++++++++---------- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/menu/drivers/ozone/ozone.c b/menu/drivers/ozone/ozone.c index 57d30d9533..2490d49084 100644 --- a/menu/drivers/ozone/ozone.c +++ b/menu/drivers/ozone/ozone.c @@ -990,7 +990,7 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i menu_display_blend_end(video_info); /* Battery */ - if (video_info->battery_level_enable || true) + if (video_info->battery_level_enable) { char msg[12]; static retro_time_t last_time = 0; diff --git a/menu/drivers/ozone/ozone.h b/menu/drivers/ozone/ozone.h index 02fd75620c..52d729bc6b 100644 --- a/menu/drivers/ozone/ozone.h +++ b/menu/drivers/ozone/ozone.h @@ -40,7 +40,7 @@ typedef struct ozone_handle ozone_handle_t; #define HEADER_HEIGHT 87 #define FOOTER_HEIGHT 78 #define SIDEBAR_WIDTH 408 -#define ENTRIE_PADDING 67 +#define ENTRY_PADDING 67 #define ENTRIES_START_Y (HEADER_HEIGHT + 40) diff --git a/menu/drivers/ozone/ozone_entries.c b/menu/drivers/ozone/ozone_entries.c index a00aa7aa53..bec8dbaaf0 100644 --- a/menu/drivers/ozone/ozone_entries.c +++ b/menu/drivers/ozone/ozone_entries.c @@ -123,7 +123,7 @@ void ozone_draw_entries(ozone_handle_t *ozone, video_frame_info_t *video_info, old_list = selection_buf == ozone->selection_buf_old; y = ENTRIES_START_Y; sidebar_offset = ozone->sidebar_offset; - entry_width = video_info->width - SIDEBAR_WIDTH - ozone->sidebar_offset - ENTRIE_PADDING * 2; + entry_width = video_info->width - SIDEBAR_WIDTH - ozone->sidebar_offset - ENTRY_PADDING * 2; button_height = 52; /* height of the button (entry minus sublabel) */ video_driver_get_size(&video_info_width, &video_info_height); @@ -172,8 +172,8 @@ void ozone_draw_entries(ozone_handle_t *ozone, video_frame_info_t *video_info, ozone_color_alpha(ozone->theme_dynamic.entries_checkmark, alpha); /* Borders */ - menu_display_draw_quad(video_info, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING - 3, y - 3 + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); - menu_display_draw_quad(video_info, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING - 3, y - 3 + button_height + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); + menu_display_draw_quad(video_info, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING - 3, y - 3 + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); + menu_display_draw_quad(video_info, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING - 3, y - 3 + button_height + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); border_iterate: y += node->height; @@ -181,11 +181,11 @@ border_iterate: /* Cursor(s) layer - current */ if (!ozone->cursor_in_sidebar) - ozone_draw_cursor(ozone, video_info, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING, entry_width, button_height, selection_y + scroll_y, ozone->animations.cursor_alpha * alpha); + ozone_draw_cursor(ozone, video_info, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING, entry_width, button_height, selection_y + scroll_y, ozone->animations.cursor_alpha * alpha); /* Old*/ if (!ozone->cursor_in_sidebar_old) - ozone_draw_cursor(ozone, video_info, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING, entry_width, button_height, old_selection_y + scroll_y, (1-ozone->animations.cursor_alpha) * alpha); + ozone_draw_cursor(ozone, video_info, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING, entry_width, button_height, old_selection_y + scroll_y, (1-ozone->animations.cursor_alpha) * alpha); /* Icons + text */ y = ENTRIES_START_Y; @@ -238,7 +238,7 @@ border_iterate: if (ozone->empty_playlist) { unsigned text_width = font_driver_get_message_width(ozone->fonts.entries_label, rich_label, (unsigned)strlen(rich_label), 1); - x_offset = (video_info_width - SIDEBAR_WIDTH - ENTRIE_PADDING * 2) / 2 - text_width / 2 - 60; + x_offset = (video_info_width - SIDEBAR_WIDTH - ENTRY_PADDING * 2) / 2 - text_width / 2 - 60; y = video_info_height / 2 - 60; } @@ -280,7 +280,7 @@ border_iterate: ozone_color_alpha(icon_color, alpha); menu_display_blend_begin(video_info); - ozone_draw_icon(video_info, 46, 46, texture, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING + 10, y + scroll_y, video_info->width, video_info->height, 0, 1, icon_color); + ozone_draw_icon(video_info, 46, 46, texture, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING + 10, y + scroll_y, video_info->width, video_info->height, 0, 1, icon_color); menu_display_blend_end(video_info); if (icon_color == ozone_pure_white) @@ -290,9 +290,9 @@ border_iterate: } /* Draw text */ - ozone_draw_text(video_info, ozone, rich_label, text_offset + SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING + 60, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_label, COLOR_TEXT_ALPHA(ozone->theme->text_rgba, alpha_uint32), false); + ozone_draw_text(video_info, ozone, rich_label, text_offset + SIDEBAR_WIDTH + x_offset + ENTRY_PADDING + 60, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_label, COLOR_TEXT_ALPHA(ozone->theme->text_rgba, alpha_uint32), false); if (sublabel_str) - ozone_draw_text(video_info, ozone, sublabel_str, SIDEBAR_WIDTH + x_offset + ENTRIE_PADDING + 10, y + FONT_SIZE_ENTRIES_SUBLABEL + 80 - 20 - 3 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_sublabel, COLOR_TEXT_ALPHA(ozone->theme->text_sublabel_rgba, alpha_uint32), false); + ozone_draw_text(video_info, ozone, sublabel_str, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING + 10, y + FONT_SIZE_ENTRIES_SUBLABEL + 80 - 20 - 3 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_sublabel, COLOR_TEXT_ALPHA(ozone->theme->text_sublabel_rgba, alpha_uint32), false); /* Value */ ticker.idx = ozone->frame_count / 20; @@ -303,7 +303,7 @@ border_iterate: menu_animation_ticker(&ticker); - ozone_draw_entry_value(ozone, video_info, entry_value_ticker, SIDEBAR_WIDTH + ENTRIE_PADDING + x_offset + entry_width - 20, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y,alpha_uint32, &entry); + ozone_draw_entry_value(ozone, video_info, entry_value_ticker, SIDEBAR_WIDTH + ENTRY_PADDING + x_offset + entry_width - 20, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y,alpha_uint32, &entry); free(entry_rich_label); From 2030f7faf81f97154eb9f055ac394228bdb7bfa2 Mon Sep 17 00:00:00 2001 From: Patrick Scheurenbrand Date: Sun, 10 Feb 2019 21:15:16 +0100 Subject: [PATCH 3/8] added dimensions variable to use for scaling; added sidebar entry dimension variables --- menu/drivers/ozone/ozone.c | 54 +++++++++++++++++----------- menu/drivers/ozone/ozone.h | 17 ++++++++- menu/drivers/ozone/ozone_entries.c | 22 ++++++------ menu/drivers/ozone/ozone_sidebar.c | 56 ++++++++++++++++-------------- 4 files changed, 90 insertions(+), 59 deletions(-) diff --git a/menu/drivers/ozone/ozone.c b/menu/drivers/ozone/ozone.c index 2490d49084..3a0346b367 100644 --- a/menu/drivers/ozone/ozone.c +++ b/menu/drivers/ozone/ozone.c @@ -468,6 +468,18 @@ static void ozone_context_reset(void *data, bool is_threaded) } ozone_restart_cursor_animation(ozone); + + int scale = 1; + + /* UI dimensions */ + ozone->ui_dimensions.header_height = HEADER_HEIGHT * scale; + ozone->ui_dimensions.footer_height = FOOTER_HEIGHT * scale; + ozone->ui_dimensions.sidebar_width = SIDEBAR_WIDTH * scale; + ozone->ui_dimensions.entry_padding = ENTRY_PADDING * scale; + + ozone->ui_dimensions.sidebar_entry_height = ENTRY_HEIGHT * scale; + ozone->ui_dimensions.sidebar_padding_vertical = SIDEBAR_Y_PADDING * scale; + ozone->ui_dimensions.sidebar_entry_padding_vertical = ENTRY_Y_PADDING * scale; } } @@ -797,13 +809,13 @@ static void ozone_update_scroll(ozone_handle_t *ozone, bool allow_animation, ozo video_driver_get_size(NULL, &video_info_height); current_selection_middle_onscreen = ENTRIES_START_Y + ozone->animations.scroll_y + node->position_y + node->height / 2; - bottom_boundary = video_info_height - HEADER_HEIGHT - FOOTER_HEIGHT; + bottom_boundary = video_info_height - ozone->ui_dimensions.header_height - ozone->ui_dimensions.footer_height; entries_middle = video_info_height/2; new_scroll = ozone->animations.scroll_y - (current_selection_middle_onscreen - entries_middle); if (new_scroll + ozone->entries_height < bottom_boundary) - new_scroll = -(FOOTER_HEIGHT + ozone->entries_height - bottom_boundary); + new_scroll = -(ozone->ui_dimensions.footer_height + ozone->entries_height - bottom_boundary); if (new_scroll > 0) new_scroll = 0; @@ -966,7 +978,7 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i unsigned timedate_offset = 0; /* Separator */ - menu_display_draw_quad(video_info, 30, HEADER_HEIGHT, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); + menu_display_draw_quad(video_info, 30, ozone->ui_dimensions.header_height, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); /* Title */ ticker.s = title; @@ -977,7 +989,7 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i menu_animation_ticker(&ticker); - ozone_draw_text(video_info, ozone, title, 128, HEADER_HEIGHT / 2 + FONT_SIZE_TITLE * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.title, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, title, 128, ozone->ui_dimensions.header_height / 2 + FONT_SIZE_TITLE * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.title, ozone->theme->text_rgba, false); /* Icon */ menu_display_blend_begin(video_info); @@ -986,7 +998,7 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i ozone_draw_icon(video_info, 60, 60, ozone->textures[OZONE_TEXTURE_DISCORD_OWN_AVATAR], 47, 14, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); else #endif - ozone_draw_icon(video_info, 60, 60, ozone->textures[OZONE_TEXTURE_RETROARCH], 47, (HEADER_HEIGHT - 60) / 2, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); + ozone_draw_icon(video_info, 60, 60, ozone->textures[OZONE_TEXTURE_RETROARCH], 47, (ozone->ui_dimensions.header_height - 60) / 2, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); menu_display_blend_end(video_info); /* Battery */ @@ -1016,10 +1028,10 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i snprintf(msg, sizeof(msg), "%d%%", percent); - ozone_draw_text(video_info, ozone, msg, video_info->width - 85, HEADER_HEIGHT / 2 + FONT_SIZE_TIME * 3/8, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, msg, video_info->width - 85, ozone->ui_dimensions.header_height / 2 + FONT_SIZE_TIME * 3/8, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); menu_display_blend_begin(video_info); - ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[charging ? OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_CHARGING : OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_FULL], video_info->width - 60 - 56, HEADER_HEIGHT / 2 - 42, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); + ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[charging ? OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_CHARGING : OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_FULL], video_info->width - 60 - 56, ozone->ui_dimensions.header_height / 2 - 42, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); menu_display_blend_end(video_info); } } @@ -1038,10 +1050,10 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i menu_display_timedate(&datetime); - ozone_draw_text(video_info, ozone, timedate, video_info->width - 85 - timedate_offset, HEADER_HEIGHT / 2 + FONT_SIZE_TIME * 3/8, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, timedate, video_info->width - 85 - timedate_offset, ozone->ui_dimensions.header_height / 2 + FONT_SIZE_TIME * 3/8, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); menu_display_blend_begin(video_info); - ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CLOCK], video_info->width - 60 - 56 - timedate_offset, HEADER_HEIGHT / 2 - 42, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); + ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CLOCK], video_info->width - 60 - 56 - timedate_offset, ozone->ui_dimensions.header_height / 2 - 42, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); menu_display_blend_end(video_info); } } @@ -1050,13 +1062,13 @@ static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_i { char core_title[255]; /* Separator */ - menu_display_draw_quad(video_info, 23, video_info->height - FOOTER_HEIGHT, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); + menu_display_draw_quad(video_info, 23, video_info->height - ozone->ui_dimensions.footer_height, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); /* Core title or Switch icon */ if (settings->bools.menu_core_enable && menu_entries_get_core_title(core_title, sizeof(core_title)) == 0) - ozone_draw_text(video_info, ozone, core_title, 59, video_info->height - FOOTER_HEIGHT / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, core_title, 59, video_info->height - ozone->ui_dimensions.footer_height / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); else - ozone_draw_icon(video_info, 69, 30, ozone->theme->textures[OZONE_THEME_TEXTURE_SWITCH], 59, video_info->height - FOOTER_HEIGHT / 2 - 15, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 69, 30, ozone->theme->textures[OZONE_THEME_TEXTURE_SWITCH], 59, video_info->height - ozone->ui_dimensions.footer_height / 2 - 15, video_info->width,video_info->height, 0, 1, NULL); /* Buttons */ { @@ -1078,13 +1090,13 @@ static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_i if (do_swap) { - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 133, video_info->height - FOOTER_HEIGHT / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 251, video_info->height - FOOTER_HEIGHT / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 133, video_info->height - ozone->ui_dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 251, video_info->height - ozone->ui_dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); } else { - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 251, video_info->height - FOOTER_HEIGHT / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 133, video_info->height - FOOTER_HEIGHT / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 251, video_info->height - ozone->ui_dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 133, video_info->height - ozone->ui_dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); } menu_display_blend_end(video_info); @@ -1093,12 +1105,12 @@ static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_i do_swap ? msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_OK) : msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_BACK), - video_info->width - back_width, video_info->height - FOOTER_HEIGHT / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); + video_info->width - back_width, video_info->height - ozone->ui_dimensions.footer_height / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); ozone_draw_text(video_info, ozone, do_swap ? msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_BACK) : msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_OK), - video_info->width - ok_width, video_info->height - FOOTER_HEIGHT / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); + video_info->width - ok_width, video_info->height - ozone->ui_dimensions.footer_height / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); } menu_display_blend_end(video_info); @@ -1248,7 +1260,7 @@ static void ozone_frame(void *data, video_frame_info_t *video_info) ozone_draw_sidebar(ozone, video_info); /* Menu entries */ - menu_display_scissor_begin(video_info, ozone->sidebar_offset + SIDEBAR_WIDTH, HEADER_HEIGHT, video_info->width - SIDEBAR_WIDTH + (-ozone->sidebar_offset), video_info->height - HEADER_HEIGHT - FOOTER_HEIGHT); + menu_display_scissor_begin(video_info, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_width, ozone->ui_dimensions.header_height, video_info->width - ozone->ui_dimensions.sidebar_width + (-ozone->sidebar_offset), video_info->height - ozone->ui_dimensions.header_height - ozone->ui_dimensions.footer_height); /* Current list */ ozone_draw_entries(ozone, @@ -1414,7 +1426,7 @@ static void ozone_list_open(ozone_handle_t *ozone) entry.easing_enum = EASING_OUT_QUAD; entry.subject = &ozone->sidebar_offset; entry.tag = (uintptr_t) NULL; - entry.target_value = -SIDEBAR_WIDTH; + entry.target_value = -ozone->ui_dimensions.sidebar_width; entry.userdata = (void*) ozone; menu_animation_push(&entry); @@ -1740,7 +1752,7 @@ static void ozone_list_cache(void *data, y = ENTRIES_START_Y; entries_end = menu_entries_get_size(); selection_buf = menu_entries_get_selection_buf_ptr(0); - bottom_boundary = video_info_height - HEADER_HEIGHT - FOOTER_HEIGHT; + bottom_boundary = video_info_height - ozone->ui_dimensions.header_height - ozone->ui_dimensions.footer_height; for (i = 0; i < entries_end; i++) { diff --git a/menu/drivers/ozone/ozone.h b/menu/drivers/ozone/ozone.h index 52d729bc6b..2f09e1dc1f 100644 --- a/menu/drivers/ozone/ozone.h +++ b/menu/drivers/ozone/ozone.h @@ -42,7 +42,11 @@ typedef struct ozone_handle ozone_handle_t; #define SIDEBAR_WIDTH 408 #define ENTRY_PADDING 67 -#define ENTRIES_START_Y (HEADER_HEIGHT + 40) +#define SIDEBAR_Y_PADDING 20 +#define ENTRY_HEIGHT 50 +#define ENTRY_Y_PADDING 10 + +#define ENTRIES_START_Y (HEADER_HEIGHT + 1) + 40 #define INTERVAL_BATTERY_LEVEL_CHECK (30 * 1000000) #define INTERVAL_OSK_CURSOR (0.5f * 1000000) @@ -157,6 +161,17 @@ struct ozone_handle unsigned old_list_offset_y; file_list_t *horizontal_list; /* console tabs */ + + struct { + int header_height; + int footer_height; + int sidebar_width; + int entry_padding; + + int sidebar_entry_height; + int sidebar_padding_vertical; + int sidebar_entry_padding_vertical; + } ui_dimensions; }; /* If you change this struct, also diff --git a/menu/drivers/ozone/ozone_entries.c b/menu/drivers/ozone/ozone_entries.c index bec8dbaaf0..c68f1fbad5 100644 --- a/menu/drivers/ozone/ozone_entries.c +++ b/menu/drivers/ozone/ozone_entries.c @@ -123,12 +123,12 @@ void ozone_draw_entries(ozone_handle_t *ozone, video_frame_info_t *video_info, old_list = selection_buf == ozone->selection_buf_old; y = ENTRIES_START_Y; sidebar_offset = ozone->sidebar_offset; - entry_width = video_info->width - SIDEBAR_WIDTH - ozone->sidebar_offset - ENTRY_PADDING * 2; + entry_width = video_info->width - ozone->ui_dimensions.sidebar_width - ozone->sidebar_offset - ozone->ui_dimensions.entry_padding * 2; button_height = 52; /* height of the button (entry minus sublabel) */ video_driver_get_size(&video_info_width, &video_info_height); - bottom_boundary = video_info_height - HEADER_HEIGHT - FOOTER_HEIGHT; + bottom_boundary = video_info_height - ozone->ui_dimensions.header_height - ozone->ui_dimensions.footer_height; invert = (ozone->fade_direction) ? -1 : 1; alpha_anim = old_list ? alpha : 1.0f - alpha; @@ -172,8 +172,8 @@ void ozone_draw_entries(ozone_handle_t *ozone, video_frame_info_t *video_info, ozone_color_alpha(ozone->theme_dynamic.entries_checkmark, alpha); /* Borders */ - menu_display_draw_quad(video_info, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING - 3, y - 3 + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); - menu_display_draw_quad(video_info, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING - 3, y - 3 + button_height + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); + menu_display_draw_quad(video_info, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding - 3, y - 3 + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); + menu_display_draw_quad(video_info, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding - 3, y - 3 + button_height + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); border_iterate: y += node->height; @@ -181,11 +181,11 @@ border_iterate: /* Cursor(s) layer - current */ if (!ozone->cursor_in_sidebar) - ozone_draw_cursor(ozone, video_info, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING, entry_width, button_height, selection_y + scroll_y, ozone->animations.cursor_alpha * alpha); + ozone_draw_cursor(ozone, video_info, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding, entry_width, button_height, selection_y + scroll_y, ozone->animations.cursor_alpha * alpha); /* Old*/ if (!ozone->cursor_in_sidebar_old) - ozone_draw_cursor(ozone, video_info, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING, entry_width, button_height, old_selection_y + scroll_y, (1-ozone->animations.cursor_alpha) * alpha); + ozone_draw_cursor(ozone, video_info, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding, entry_width, button_height, old_selection_y + scroll_y, (1-ozone->animations.cursor_alpha) * alpha); /* Icons + text */ y = ENTRIES_START_Y; @@ -238,7 +238,7 @@ border_iterate: if (ozone->empty_playlist) { unsigned text_width = font_driver_get_message_width(ozone->fonts.entries_label, rich_label, (unsigned)strlen(rich_label), 1); - x_offset = (video_info_width - SIDEBAR_WIDTH - ENTRY_PADDING * 2) / 2 - text_width / 2 - 60; + x_offset = (video_info_width - ozone->ui_dimensions.sidebar_width - ozone->ui_dimensions.entry_padding * 2) / 2 - text_width / 2 - 60; y = video_info_height / 2 - 60; } @@ -280,7 +280,7 @@ border_iterate: ozone_color_alpha(icon_color, alpha); menu_display_blend_begin(video_info); - ozone_draw_icon(video_info, 46, 46, texture, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING + 10, y + scroll_y, video_info->width, video_info->height, 0, 1, icon_color); + ozone_draw_icon(video_info, 46, 46, texture, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding + 10, y + scroll_y, video_info->width, video_info->height, 0, 1, icon_color); menu_display_blend_end(video_info); if (icon_color == ozone_pure_white) @@ -290,9 +290,9 @@ border_iterate: } /* Draw text */ - ozone_draw_text(video_info, ozone, rich_label, text_offset + SIDEBAR_WIDTH + x_offset + ENTRY_PADDING + 60, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_label, COLOR_TEXT_ALPHA(ozone->theme->text_rgba, alpha_uint32), false); + ozone_draw_text(video_info, ozone, rich_label, text_offset + ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding + 60, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_label, COLOR_TEXT_ALPHA(ozone->theme->text_rgba, alpha_uint32), false); if (sublabel_str) - ozone_draw_text(video_info, ozone, sublabel_str, SIDEBAR_WIDTH + x_offset + ENTRY_PADDING + 10, y + FONT_SIZE_ENTRIES_SUBLABEL + 80 - 20 - 3 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_sublabel, COLOR_TEXT_ALPHA(ozone->theme->text_sublabel_rgba, alpha_uint32), false); + ozone_draw_text(video_info, ozone, sublabel_str, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding + 10, y + FONT_SIZE_ENTRIES_SUBLABEL + 80 - 20 - 3 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_sublabel, COLOR_TEXT_ALPHA(ozone->theme->text_sublabel_rgba, alpha_uint32), false); /* Value */ ticker.idx = ozone->frame_count / 20; @@ -303,7 +303,7 @@ border_iterate: menu_animation_ticker(&ticker); - ozone_draw_entry_value(ozone, video_info, entry_value_ticker, SIDEBAR_WIDTH + ENTRY_PADDING + x_offset + entry_width - 20, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y,alpha_uint32, &entry); + ozone_draw_entry_value(ozone, video_info, entry_value_ticker, ozone->ui_dimensions.sidebar_width + ozone->ui_dimensions.entry_padding + x_offset + entry_width - 20, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y,alpha_uint32, &entry); free(entry_rich_label); diff --git a/menu/drivers/ozone/ozone_sidebar.c b/menu/drivers/ozone/ozone_sidebar.c index bcd6dfeba8..34233e530c 100644 --- a/menu/drivers/ozone/ozone_sidebar.c +++ b/menu/drivers/ozone/ozone_sidebar.c @@ -121,49 +121,49 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) if (ozone->horizontal_list) horizontal_list_size = ozone->horizontal_list->size; - menu_display_scissor_begin(video_info, 0, HEADER_HEIGHT, SIDEBAR_WIDTH, video_info->height - HEADER_HEIGHT - FOOTER_HEIGHT); + menu_display_scissor_begin(video_info, 0, ozone->ui_dimensions.header_height, ozone->ui_dimensions.sidebar_width, video_info->height - ozone->ui_dimensions.header_height - ozone->ui_dimensions.footer_height); /* Background */ - sidebar_height = video_info->height - HEADER_HEIGHT - 55 - FOOTER_HEIGHT; + sidebar_height = video_info->height - ozone->ui_dimensions.header_height - 55 - ozone->ui_dimensions.footer_height; if (!video_info->libretro_running) { - menu_display_draw_quad(video_info, ozone->sidebar_offset, HEADER_HEIGHT + 1, SIDEBAR_WIDTH, 55/2, video_info->width, video_info->height, ozone->theme->sidebar_top_gradient); - menu_display_draw_quad(video_info, ozone->sidebar_offset, HEADER_HEIGHT + 1 + 55/2, SIDEBAR_WIDTH, sidebar_height, video_info->width, video_info->height, ozone->theme->sidebar_background); - menu_display_draw_quad(video_info, ozone->sidebar_offset, video_info->height - FOOTER_HEIGHT - 55/2 - 1, SIDEBAR_WIDTH, 55/2 + 1, video_info->width, video_info->height, ozone->theme->sidebar_bottom_gradient); + menu_display_draw_quad(video_info, ozone->sidebar_offset, ozone->ui_dimensions.header_height + 1, ozone->ui_dimensions.sidebar_width, 55/2, video_info->width, video_info->height, ozone->theme->sidebar_top_gradient); + menu_display_draw_quad(video_info, ozone->sidebar_offset, ozone->ui_dimensions.header_height + 1 + 55/2, ozone->ui_dimensions.sidebar_width, sidebar_height, video_info->width, video_info->height, ozone->theme->sidebar_background); + menu_display_draw_quad(video_info, ozone->sidebar_offset, video_info->height - ozone->ui_dimensions.footer_height - 55/2 - 1, ozone->ui_dimensions.sidebar_width, 55/2 + 1, video_info->width, video_info->height, ozone->theme->sidebar_bottom_gradient); } /* Tabs */ /* y offset computation */ - y = ENTRIES_START_Y - 10; + y = ozone->ui_dimensions.header_height + 1 + ozone->ui_dimensions.sidebar_padding_vertical; for (i = 0; i < ozone->system_tab_end + horizontal_list_size + 1; i++) { if (i == ozone->categories_selection_ptr) { selection_y = y; if (ozone->categories_selection_ptr > ozone->system_tab_end) - selection_y += 30; + selection_y += ozone->ui_dimensions.sidebar_entry_padding_vertical + 1; } if (i == ozone->categories_active_idx_old) { selection_old_y = y; if (ozone->categories_active_idx_old > ozone->system_tab_end) - selection_old_y += 30; + selection_old_y += ozone->ui_dimensions.sidebar_entry_padding_vertical + 1; } - y += 65; + y += ozone->ui_dimensions.sidebar_entry_height + ozone->ui_dimensions.sidebar_entry_padding_vertical; } /* Cursor */ if (ozone->cursor_in_sidebar) - ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + 41, SIDEBAR_WIDTH - 81, 52, selection_y-8 + ozone->animations.scroll_y_sidebar, ozone->animations.cursor_alpha); + ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + 41, ozone->ui_dimensions.sidebar_width - 81, ozone->ui_dimensions.sidebar_entry_height + 2, selection_y + 1 + ozone->animations.scroll_y_sidebar, ozone->animations.cursor_alpha); if (ozone->cursor_in_sidebar_old) - ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + 41, SIDEBAR_WIDTH - 81, 52, selection_old_y-8 + ozone->animations.scroll_y_sidebar, 1-ozone->animations.cursor_alpha); + ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + 41, ozone->ui_dimensions.sidebar_width - 81, ozone->ui_dimensions.sidebar_entry_height + 2, selection_old_y + 1 + ozone->animations.scroll_y_sidebar, 1-ozone->animations.cursor_alpha); /* Menu tabs */ - y = ENTRIES_START_Y - 10; + y = ozone->ui_dimensions.header_height + 1 + ozone->ui_dimensions.sidebar_padding_vertical; menu_display_blend_begin(video_info); for (i = 0; i < ozone->system_tab_end+1; i++) @@ -174,15 +174,15 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) unsigned icon = ozone_system_tabs_icons[ozone->tabs[i]]; /* Icon */ - ozone_draw_icon(video_info, 40, 40, ozone->tab_textures[icon], ozone->sidebar_offset + 41 + 10, y - 5 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); + ozone_draw_icon(video_info, 40, 40, ozone->tab_textures[icon], ozone->sidebar_offset + 41 + 10, y + ozone->ui_dimensions.sidebar_entry_height / 2 - 20 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); value_idx = ozone_system_tabs_value[ozone->tabs[i]]; title = msg_hash_to_str(value_idx); /* Text */ - ozone_draw_text(video_info, ozone, title, ozone->sidebar_offset + 115 - 10, y + FONT_SIZE_SIDEBAR + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); + ozone_draw_text(video_info, ozone, title, ozone->sidebar_offset + 115 - 10, y + ozone->ui_dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); - y += 65; + y += ozone->ui_dimensions.sidebar_entry_height + ozone->ui_dimensions.sidebar_entry_padding_vertical; } menu_display_blend_end(video_info); @@ -190,9 +190,9 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) /* Console tabs */ if (horizontal_list_size > 0) { - menu_display_draw_quad(video_info, ozone->sidebar_offset + 41 + 10, y - 5 + ozone->animations.scroll_y_sidebar, SIDEBAR_WIDTH - 81, 1, video_info->width, video_info->height, ozone->theme->entries_border); + menu_display_draw_quad(video_info, ozone->sidebar_offset + 38, y + ozone->animations.scroll_y_sidebar, ozone->ui_dimensions.sidebar_width - 76, 1, video_info->width, video_info->height, ozone->theme->entries_border); - y += 30; + y += ozone->ui_dimensions.sidebar_entry_padding_vertical + 1; menu_display_blend_begin(video_info); @@ -206,7 +206,7 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) goto console_iterate; /* Icon */ - ozone_draw_icon(video_info, 40, 40, node->icon, ozone->sidebar_offset + 41 + 10 - 3, y - 5 - 3 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); + ozone_draw_icon(video_info, 40, 40, node->icon, ozone->sidebar_offset + 41 + 10 - 3, y + ozone->ui_dimensions.sidebar_entry_height / 2 - 20 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); /* Text */ ticker.idx = ozone->frame_count / 20; @@ -217,10 +217,11 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) menu_animation_ticker(&ticker); - ozone_draw_text(video_info, ozone, console_title, ozone->sidebar_offset + 115 - 10, y + FONT_SIZE_SIDEBAR + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); + ozone_draw_text(video_info, ozone, console_title, ozone->sidebar_offset + 115 - 10, y + ozone->ui_dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); console_iterate: - y += 65; + y += ozone->ui_dimensions.sidebar_entry_height + ozone->ui_dimensions.sidebar_entry_padding_vertical; } menu_display_blend_end(video_info); @@ -279,15 +280,18 @@ void ozone_leave_sidebar(ozone_handle_t *ozone, uintptr_t tag) menu_animation_push(&entry); } +// @TODO: fix unsigned ozone_get_selected_sidebar_y_position(ozone_handle_t *ozone) { - return ozone->categories_selection_ptr * 65 + (ozone->categories_selection_ptr > ozone->system_tab_end ? 30 : 0); + return ozone->categories_selection_ptr * ozone->ui_dimensions.sidebar_entry_height + (ozone->categories_selection_ptr - 1) * ozone->ui_dimensions.sidebar_entry_padding_vertical + ozone->ui_dimensions.sidebar_padding_vertical + + (ozone->categories_selection_ptr > ozone->system_tab_end ? ozone->ui_dimensions.sidebar_entry_padding_vertical + 1 : 0); } unsigned ozone_get_sidebar_height(ozone_handle_t *ozone) { - return (ozone->system_tab_end + 1 + (ozone->horizontal_list ? ozone->horizontal_list->size : 0)) * 65 - + (ozone->horizontal_list && ozone->horizontal_list->size > 0 ? 30 : 0); + int entries = (ozone->system_tab_end + 1 + (ozone->horizontal_list ? ozone->horizontal_list->size : 0)); + return entries * ozone->ui_dimensions.sidebar_entry_height + (entries - 1) * ozone->ui_dimensions.sidebar_entry_padding_vertical + ozone->ui_dimensions.sidebar_padding_vertical + + (ozone->horizontal_list && ozone->horizontal_list->size > 0 ? ozone->ui_dimensions.sidebar_entry_padding_vertical + 1 : 0); } void ozone_sidebar_goto(ozone_handle_t *ozone, unsigned new_selection) @@ -335,8 +339,8 @@ void ozone_sidebar_goto(ozone_handle_t *ozone, unsigned new_selection) /* Scroll animation */ new_scroll = 0; selected_position_y = ozone_get_selected_sidebar_y_position(ozone); - current_selection_middle_onscreen = ENTRIES_START_Y - 10 + ozone->animations.scroll_y_sidebar + selected_position_y + 65 / 2; - bottom_boundary = video_info_height - HEADER_HEIGHT - FOOTER_HEIGHT; + current_selection_middle_onscreen = ozone->ui_dimensions.header_height + 1 + ozone->animations.scroll_y_sidebar + selected_position_y + ozone->ui_dimensions.sidebar_entry_height / 2; + bottom_boundary = video_info_height - (ozone->ui_dimensions.header_height + 1) - ozone->ui_dimensions.footer_height; entries_middle = video_info_height/2; entries_height = ozone_get_sidebar_height(ozone); @@ -344,7 +348,7 @@ void ozone_sidebar_goto(ozone_handle_t *ozone, unsigned new_selection) new_scroll = ozone->animations.scroll_y_sidebar - (current_selection_middle_onscreen - entries_middle); if (new_scroll + entries_height < bottom_boundary) - new_scroll = -(30 + entries_height - bottom_boundary); + new_scroll = bottom_boundary - entries_height - ozone->ui_dimensions.sidebar_padding_vertical; if (new_scroll > 0) new_scroll = 0; From bf43b610705a9a55a70e895978a7fb4cb99cd7df Mon Sep 17 00:00:00 2001 From: Patrick Scheurenbrand Date: Sun, 10 Feb 2019 21:30:35 +0100 Subject: [PATCH 4/8] removed todo --- menu/drivers/ozone/ozone_sidebar.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/menu/drivers/ozone/ozone_sidebar.c b/menu/drivers/ozone/ozone_sidebar.c index 34233e530c..afe59197be 100644 --- a/menu/drivers/ozone/ozone_sidebar.c +++ b/menu/drivers/ozone/ozone_sidebar.c @@ -280,11 +280,11 @@ void ozone_leave_sidebar(ozone_handle_t *ozone, uintptr_t tag) menu_animation_push(&entry); } -// @TODO: fix unsigned ozone_get_selected_sidebar_y_position(ozone_handle_t *ozone) { - return ozone->categories_selection_ptr * ozone->ui_dimensions.sidebar_entry_height + (ozone->categories_selection_ptr - 1) * ozone->ui_dimensions.sidebar_entry_padding_vertical + ozone->ui_dimensions.sidebar_padding_vertical + - (ozone->categories_selection_ptr > ozone->system_tab_end ? ozone->ui_dimensions.sidebar_entry_padding_vertical + 1 : 0); + return ozone->categories_selection_ptr * ozone->ui_dimensions.sidebar_entry_height + + (ozone->categories_selection_ptr - 1) * ozone->ui_dimensions.sidebar_entry_padding_vertical + ozone->ui_dimensions.sidebar_padding_vertical + + (ozone->categories_selection_ptr > ozone->system_tab_end ? ozone->ui_dimensions.sidebar_entry_padding_vertical + 1 : 0); } unsigned ozone_get_sidebar_height(ozone_handle_t *ozone) From 8435fc5542a71885fa041d045f970ea9d76dca38 Mon Sep 17 00:00:00 2001 From: Patrick Scheurenbrand Date: Sun, 10 Feb 2019 21:56:05 +0100 Subject: [PATCH 5/8] added variable for the horizontal padding of sidebar entries --- menu/drivers/ozone/ozone.c | 1 + menu/drivers/ozone/ozone.h | 2 ++ menu/drivers/ozone/ozone_sidebar.c | 20 +++++++++++++------- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/menu/drivers/ozone/ozone.c b/menu/drivers/ozone/ozone.c index 3a0346b367..ed88f951d9 100644 --- a/menu/drivers/ozone/ozone.c +++ b/menu/drivers/ozone/ozone.c @@ -478,6 +478,7 @@ static void ozone_context_reset(void *data, bool is_threaded) ozone->ui_dimensions.entry_padding = ENTRY_PADDING * scale; ozone->ui_dimensions.sidebar_entry_height = ENTRY_HEIGHT * scale; + ozone->ui_dimensions.sidebar_padding_horizontal = SIDEBAR_X_PADDING * scale; ozone->ui_dimensions.sidebar_padding_vertical = SIDEBAR_Y_PADDING * scale; ozone->ui_dimensions.sidebar_entry_padding_vertical = ENTRY_Y_PADDING * scale; } diff --git a/menu/drivers/ozone/ozone.h b/menu/drivers/ozone/ozone.h index 2f09e1dc1f..38d6280dd8 100644 --- a/menu/drivers/ozone/ozone.h +++ b/menu/drivers/ozone/ozone.h @@ -42,6 +42,7 @@ typedef struct ozone_handle ozone_handle_t; #define SIDEBAR_WIDTH 408 #define ENTRY_PADDING 67 +#define SIDEBAR_X_PADDING 40 #define SIDEBAR_Y_PADDING 20 #define ENTRY_HEIGHT 50 #define ENTRY_Y_PADDING 10 @@ -169,6 +170,7 @@ struct ozone_handle int entry_padding; int sidebar_entry_height; + int sidebar_padding_horizontal; int sidebar_padding_vertical; int sidebar_entry_padding_vertical; } ui_dimensions; diff --git a/menu/drivers/ozone/ozone_sidebar.c b/menu/drivers/ozone/ozone_sidebar.c index afe59197be..98d21d6af0 100644 --- a/menu/drivers/ozone/ozone_sidebar.c +++ b/menu/drivers/ozone/ozone_sidebar.c @@ -157,10 +157,12 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) /* Cursor */ if (ozone->cursor_in_sidebar) - ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + 41, ozone->ui_dimensions.sidebar_width - 81, ozone->ui_dimensions.sidebar_entry_height + 2, selection_y + 1 + ozone->animations.scroll_y_sidebar, ozone->animations.cursor_alpha); + ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal, ozone->ui_dimensions.sidebar_width - ozone->ui_dimensions.sidebar_padding_horizontal * 2, + ozone->ui_dimensions.sidebar_entry_height + 2, selection_y + 1 + ozone->animations.scroll_y_sidebar, ozone->animations.cursor_alpha); if (ozone->cursor_in_sidebar_old) - ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + 41, ozone->ui_dimensions.sidebar_width - 81, ozone->ui_dimensions.sidebar_entry_height + 2, selection_old_y + 1 + ozone->animations.scroll_y_sidebar, 1-ozone->animations.cursor_alpha); + ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal, ozone->ui_dimensions.sidebar_width - ozone->ui_dimensions.sidebar_padding_horizontal * 2, + ozone->ui_dimensions.sidebar_entry_height + 2, selection_old_y + 1 + ozone->animations.scroll_y_sidebar, 1-ozone->animations.cursor_alpha); /* Menu tabs */ y = ozone->ui_dimensions.header_height + 1 + ozone->ui_dimensions.sidebar_padding_vertical; @@ -174,13 +176,15 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) unsigned icon = ozone_system_tabs_icons[ozone->tabs[i]]; /* Icon */ - ozone_draw_icon(video_info, 40, 40, ozone->tab_textures[icon], ozone->sidebar_offset + 41 + 10, y + ozone->ui_dimensions.sidebar_entry_height / 2 - 20 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); + ozone_draw_icon(video_info, 40, 40, ozone->tab_textures[icon], ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 10, + y + ozone->ui_dimensions.sidebar_entry_height / 2 - 20 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); value_idx = ozone_system_tabs_value[ozone->tabs[i]]; title = msg_hash_to_str(value_idx); /* Text */ - ozone_draw_text(video_info, ozone, title, ozone->sidebar_offset + 115 - 10, y + ozone->ui_dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); + ozone_draw_text(video_info, ozone, title, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 65, + y + ozone->ui_dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); y += ozone->ui_dimensions.sidebar_entry_height + ozone->ui_dimensions.sidebar_entry_padding_vertical; } @@ -206,7 +210,8 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) goto console_iterate; /* Icon */ - ozone_draw_icon(video_info, 40, 40, node->icon, ozone->sidebar_offset + 41 + 10 - 3, y + ozone->ui_dimensions.sidebar_entry_height / 2 - 20 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); + ozone_draw_icon(video_info, 40, 40, node->icon, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 10 - 3, + y + ozone->ui_dimensions.sidebar_entry_height / 2 - 20 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); /* Text */ ticker.idx = ozone->frame_count / 20; @@ -217,8 +222,9 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) menu_animation_ticker(&ticker); - ozone_draw_text(video_info, ozone, console_title, ozone->sidebar_offset + 115 - 10, y + ozone->ui_dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + - ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); + ozone_draw_text(video_info, ozone, console_title, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 65, + y + ozone->ui_dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, + video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); console_iterate: y += ozone->ui_dimensions.sidebar_entry_height + ozone->ui_dimensions.sidebar_entry_padding_vertical; From a542cd049a239a11279f82ef550097e5bb0489bd Mon Sep 17 00:00:00 2001 From: Patrick Scheurenbrand Date: Mon, 11 Feb 2019 18:30:31 +0100 Subject: [PATCH 6/8] added sidebar icon dimensions --- menu/drivers/ozone/ozone.c | 2 ++ menu/drivers/ozone/ozone.h | 4 ++++ menu/drivers/ozone/ozone_sidebar.c | 29 ++++++++++++++++++----------- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/menu/drivers/ozone/ozone.c b/menu/drivers/ozone/ozone.c index ed88f951d9..2e712603a2 100644 --- a/menu/drivers/ozone/ozone.c +++ b/menu/drivers/ozone/ozone.c @@ -481,6 +481,8 @@ static void ozone_context_reset(void *data, bool is_threaded) ozone->ui_dimensions.sidebar_padding_horizontal = SIDEBAR_X_PADDING * scale; ozone->ui_dimensions.sidebar_padding_vertical = SIDEBAR_Y_PADDING * scale; ozone->ui_dimensions.sidebar_entry_padding_vertical = ENTRY_Y_PADDING * scale; + ozone->ui_dimensions.sidebar_entry_icon_size = SIDEBAR_ENTRY_ICON_SIZE * scale; + ozone->ui_dimensions.sidebar_entry_icon_width = SIDEBAR_ENTRY_ICON_WIDTH * scale; } } diff --git a/menu/drivers/ozone/ozone.h b/menu/drivers/ozone/ozone.h index 38d6280dd8..4c18620d1a 100644 --- a/menu/drivers/ozone/ozone.h +++ b/menu/drivers/ozone/ozone.h @@ -46,6 +46,8 @@ typedef struct ozone_handle ozone_handle_t; #define SIDEBAR_Y_PADDING 20 #define ENTRY_HEIGHT 50 #define ENTRY_Y_PADDING 10 +#define SIDEBAR_ENTRY_ICON_SIZE 40 +#define SIDEBAR_ENTRY_ICON_WIDTH 70 #define ENTRIES_START_Y (HEADER_HEIGHT + 1) + 40 @@ -173,6 +175,8 @@ struct ozone_handle int sidebar_padding_horizontal; int sidebar_padding_vertical; int sidebar_entry_padding_vertical; + int sidebar_entry_icon_size; + int sidebar_entry_icon_width; } ui_dimensions; }; diff --git a/menu/drivers/ozone/ozone_sidebar.c b/menu/drivers/ozone/ozone_sidebar.c index 98d21d6af0..ebd08095db 100644 --- a/menu/drivers/ozone/ozone_sidebar.c +++ b/menu/drivers/ozone/ozone_sidebar.c @@ -115,6 +115,8 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) unsigned selection_old_y = 0; unsigned horizontal_list_size = 0; + int entry_width = 0; + if (!ozone->draw_sidebar) return; @@ -155,14 +157,16 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) y += ozone->ui_dimensions.sidebar_entry_height + ozone->ui_dimensions.sidebar_entry_padding_vertical; } + entry_width = ozone->ui_dimensions.sidebar_width - ozone->ui_dimensions.sidebar_padding_horizontal * 2; + /* Cursor */ if (ozone->cursor_in_sidebar) - ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal, ozone->ui_dimensions.sidebar_width - ozone->ui_dimensions.sidebar_padding_horizontal * 2, - ozone->ui_dimensions.sidebar_entry_height + 2, selection_y + 1 + ozone->animations.scroll_y_sidebar, ozone->animations.cursor_alpha); + ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 3, + entry_width - 5, ozone->ui_dimensions.sidebar_entry_height + 2, selection_y + 1 + ozone->animations.scroll_y_sidebar, ozone->animations.cursor_alpha); if (ozone->cursor_in_sidebar_old) - ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal, ozone->ui_dimensions.sidebar_width - ozone->ui_dimensions.sidebar_padding_horizontal * 2, - ozone->ui_dimensions.sidebar_entry_height + 2, selection_old_y + 1 + ozone->animations.scroll_y_sidebar, 1-ozone->animations.cursor_alpha); + ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 3, + entry_width - 5, ozone->ui_dimensions.sidebar_entry_height + 2, selection_old_y + 1 + ozone->animations.scroll_y_sidebar, 1-ozone->animations.cursor_alpha); /* Menu tabs */ y = ozone->ui_dimensions.header_height + 1 + ozone->ui_dimensions.sidebar_padding_vertical; @@ -176,14 +180,15 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) unsigned icon = ozone_system_tabs_icons[ozone->tabs[i]]; /* Icon */ - ozone_draw_icon(video_info, 40, 40, ozone->tab_textures[icon], ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 10, - y + ozone->ui_dimensions.sidebar_entry_height / 2 - 20 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); + ozone_draw_icon(video_info, ozone->ui_dimensions.sidebar_entry_icon_size, ozone->ui_dimensions.sidebar_entry_icon_size, + ozone->tab_textures[icon], ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + ozone->ui_dimensions.sidebar_entry_icon_width / 2 - ozone->ui_dimensions.sidebar_entry_icon_size / 2, + y + ozone->ui_dimensions.sidebar_entry_height / 2 - ozone->ui_dimensions.sidebar_entry_icon_size / 2 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); value_idx = ozone_system_tabs_value[ozone->tabs[i]]; title = msg_hash_to_str(value_idx); /* Text */ - ozone_draw_text(video_info, ozone, title, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 65, + ozone_draw_text(video_info, ozone, title, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + ozone->ui_dimensions.sidebar_entry_icon_width, y + ozone->ui_dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); y += ozone->ui_dimensions.sidebar_entry_height + ozone->ui_dimensions.sidebar_entry_padding_vertical; @@ -210,19 +215,21 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) goto console_iterate; /* Icon */ - ozone_draw_icon(video_info, 40, 40, node->icon, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 10 - 3, - y + ozone->ui_dimensions.sidebar_entry_height / 2 - 20 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); + ozone_draw_icon(video_info, ozone->ui_dimensions.sidebar_entry_icon_size, ozone->ui_dimensions.sidebar_entry_icon_size, + node->icon, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + ozone->ui_dimensions.sidebar_entry_icon_width / 2 - ozone->ui_dimensions.sidebar_entry_icon_size / 2, + y + ozone->ui_dimensions.sidebar_entry_height / 2 - ozone->ui_dimensions.sidebar_entry_icon_size / 2 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); + /* Text */ ticker.idx = ozone->frame_count / 20; - ticker.len = 19; + ticker.len = (entry_width - ozone->ui_dimensions.sidebar_entry_icon_size - 35) / ozone->entry_font_glyph_width; ticker.s = console_title; ticker.selected = selected; ticker.str = node->console_name; menu_animation_ticker(&ticker); - ozone_draw_text(video_info, ozone, console_title, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 65, + ozone_draw_text(video_info, ozone, console_title, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + ozone->ui_dimensions.sidebar_entry_icon_width, y + ozone->ui_dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); From a82cc31a1ff3fce6fefb2c4d54011ab030b5e09a Mon Sep 17 00:00:00 2001 From: Patrick Scheurenbrand Date: Mon, 11 Feb 2019 21:22:52 +0100 Subject: [PATCH 7/8] updated entries to use values that can be scaled --- menu/drivers/ozone/ozone.c | 93 ++++++++++++++++-------------- menu/drivers/ozone/ozone.h | 39 ++++++++----- menu/drivers/ozone/ozone_entries.c | 54 ++++++++++------- menu/drivers/ozone/ozone_sidebar.c | 78 ++++++++++++------------- 4 files changed, 149 insertions(+), 115 deletions(-) diff --git a/menu/drivers/ozone/ozone.c b/menu/drivers/ozone/ozone.c index 2e712603a2..2dc5bf5047 100644 --- a/menu/drivers/ozone/ozone.c +++ b/menu/drivers/ozone/ozone.c @@ -333,6 +333,8 @@ static void ozone_context_reset(void *data, bool is_threaded) unsigned size; char font_path[PATH_MAX_LENGTH]; + float scale = 1; + ozone_handle_t *ozone = (ozone_handle_t*) data; if (ozone) @@ -365,6 +367,7 @@ static void ozone_context_reset(void *data, bool is_threaded) ozone->title_font_glyph_width = FONT_SIZE_TITLE * 3/4; ozone->entry_font_glyph_width = FONT_SIZE_ENTRIES_LABEL * 3/4; ozone->sublabel_font_glyph_width = FONT_SIZE_ENTRIES_SUBLABEL * 3/4; + ozone->sidebar_font_glyph_width = FONT_SIZE_SIDEBAR * 3/4; /* More realistic font size */ size = font_driver_get_message_width(ozone->fonts.title, "a", 1, 1); @@ -376,6 +379,9 @@ static void ozone_context_reset(void *data, bool is_threaded) size = font_driver_get_message_width(ozone->fonts.entries_sublabel, "a", 1, 1); if (size) ozone->sublabel_font_glyph_width = size; + size = font_driver_get_message_width(ozone->fonts.sidebar, "a", 1, 1); + if (size) + ozone->sidebar_font_glyph_width = size; /* Textures init */ for (i = 0; i < OZONE_TEXTURE_LAST; i++) @@ -469,20 +475,25 @@ static void ozone_context_reset(void *data, bool is_threaded) ozone_restart_cursor_animation(ozone); - int scale = 1; - /* UI dimensions */ - ozone->ui_dimensions.header_height = HEADER_HEIGHT * scale; - ozone->ui_dimensions.footer_height = FOOTER_HEIGHT * scale; - ozone->ui_dimensions.sidebar_width = SIDEBAR_WIDTH * scale; - ozone->ui_dimensions.entry_padding = ENTRY_PADDING * scale; + ozone->dimensions.header_height = HEADER_HEIGHT * scale; + ozone->dimensions.footer_height = FOOTER_HEIGHT * scale; - ozone->ui_dimensions.sidebar_entry_height = ENTRY_HEIGHT * scale; - ozone->ui_dimensions.sidebar_padding_horizontal = SIDEBAR_X_PADDING * scale; - ozone->ui_dimensions.sidebar_padding_vertical = SIDEBAR_Y_PADDING * scale; - ozone->ui_dimensions.sidebar_entry_padding_vertical = ENTRY_Y_PADDING * scale; - ozone->ui_dimensions.sidebar_entry_icon_size = SIDEBAR_ENTRY_ICON_SIZE * scale; - ozone->ui_dimensions.sidebar_entry_icon_width = SIDEBAR_ENTRY_ICON_WIDTH * scale; + ozone->dimensions.entry_padding_horizontal_half = ENTRY_PADDING_HORIZONTAL_HALF * scale; + ozone->dimensions.entry_padding_horizontal_full = ENTRY_PADDING_HORIZONTAL_FULL * scale; + ozone->dimensions.entry_padding_vertical = ENTRY_PADDING_VERTRICAL * scale; + ozone->dimensions.entry_height = ENTRY_HEIGHT * scale; + ozone->dimensions.entry_padding = ENTRY_PADDING * scale; + ozone->dimensions.entry_icon_size = ENTRY_ICON_SIZE * scale; + ozone->dimensions.entry_icon_padding = ENTRY_ICON_PADDING * scale; + + ozone->dimensions.sidebar_width = SIDEBAR_WIDTH * scale; + ozone->dimensions.sidebar_entry_height = SIDEBAR_ENTRY_HEIGHT * scale; + ozone->dimensions.sidebar_padding_horizontal = SIDEBAR_X_PADDING * scale; + ozone->dimensions.sidebar_padding_vertical = SIDEBAR_Y_PADDING * scale; + ozone->dimensions.sidebar_entry_padding_vertical = SIDEBAR_ENTRY_Y_PADDING * scale; + ozone->dimensions.sidebar_entry_icon_size = SIDEBAR_ENTRY_ICON_SIZE * scale; + ozone->dimensions.sidebar_entry_icon_padding = SIDEBAR_ENTRY_ICON_PADDING * scale; } } @@ -811,14 +822,14 @@ static void ozone_update_scroll(ozone_handle_t *ozone, bool allow_animation, ozo video_driver_get_size(NULL, &video_info_height); - current_selection_middle_onscreen = ENTRIES_START_Y + ozone->animations.scroll_y + node->position_y + node->height / 2; - bottom_boundary = video_info_height - ozone->ui_dimensions.header_height - ozone->ui_dimensions.footer_height; + current_selection_middle_onscreen = ozone->dimensions.header_height + ozone->dimensions.entry_padding_vertical + ozone->animations.scroll_y + node->position_y + node->height / 2; + bottom_boundary = video_info_height - ozone->dimensions.header_height - 1 - ozone->dimensions.footer_height; entries_middle = video_info_height/2; new_scroll = ozone->animations.scroll_y - (current_selection_middle_onscreen - entries_middle); if (new_scroll + ozone->entries_height < bottom_boundary) - new_scroll = -(ozone->ui_dimensions.footer_height + ozone->entries_height - bottom_boundary); + new_scroll = bottom_boundary - ozone->entries_height - ozone->dimensions.entry_padding_vertical * 2; if (new_scroll > 0) new_scroll = 0; @@ -912,14 +923,16 @@ static void ozone_compute_entries_position(ozone_handle_t *ozone) if (!node) continue; - node->height = (entry.sublabel ? 100 : 60-8); + node->height = ozone->dimensions.entry_height + ozone->dimensions.entry_padding + (entry.sublabel ? 40 : 0); node->wrap = false; if (entry.sublabel) { char *sublabel_str = menu_entry_get_sublabel(&entry); - word_wrap(sublabel_str, sublabel_str, (video_info_width - 548) / ozone->sublabel_font_glyph_width, false); + int sublable_max_width = video_info_width - ozone->dimensions.sidebar_width - + ozone->dimensions.entry_padding_horizontal_half * 2 - ozone->dimensions.entry_icon_padding * 2; + word_wrap(sublabel_str, sublabel_str, sublable_max_width / ozone->sublabel_font_glyph_width, false); lines = ozone_count_lines(sublabel_str); @@ -981,7 +994,7 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i unsigned timedate_offset = 0; /* Separator */ - menu_display_draw_quad(video_info, 30, ozone->ui_dimensions.header_height, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); + menu_display_draw_quad(video_info, 30, ozone->dimensions.header_height, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); /* Title */ ticker.s = title; @@ -992,7 +1005,7 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i menu_animation_ticker(&ticker); - ozone_draw_text(video_info, ozone, title, 128, ozone->ui_dimensions.header_height / 2 + FONT_SIZE_TITLE * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.title, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, title, 128, ozone->dimensions.header_height / 2 + FONT_SIZE_TITLE * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.title, ozone->theme->text_rgba, false); /* Icon */ menu_display_blend_begin(video_info); @@ -1001,7 +1014,7 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i ozone_draw_icon(video_info, 60, 60, ozone->textures[OZONE_TEXTURE_DISCORD_OWN_AVATAR], 47, 14, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); else #endif - ozone_draw_icon(video_info, 60, 60, ozone->textures[OZONE_TEXTURE_RETROARCH], 47, (ozone->ui_dimensions.header_height - 60) / 2, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); + ozone_draw_icon(video_info, 60, 60, ozone->textures[OZONE_TEXTURE_RETROARCH], 47, (ozone->dimensions.header_height - 60) / 2, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); menu_display_blend_end(video_info); /* Battery */ @@ -1031,10 +1044,10 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i snprintf(msg, sizeof(msg), "%d%%", percent); - ozone_draw_text(video_info, ozone, msg, video_info->width - 85, ozone->ui_dimensions.header_height / 2 + FONT_SIZE_TIME * 3/8, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, msg, video_info->width - 85, ozone->dimensions.header_height / 2 + FONT_SIZE_TIME * 3/8, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); menu_display_blend_begin(video_info); - ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[charging ? OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_CHARGING : OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_FULL], video_info->width - 60 - 56, ozone->ui_dimensions.header_height / 2 - 42, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); + ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[charging ? OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_CHARGING : OZONE_ENTRIES_ICONS_TEXTURE_BATTERY_FULL], video_info->width - 60 - 56, ozone->dimensions.header_height / 2 - 42, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); menu_display_blend_end(video_info); } } @@ -1053,10 +1066,10 @@ static void ozone_draw_header(ozone_handle_t *ozone, video_frame_info_t *video_i menu_display_timedate(&datetime); - ozone_draw_text(video_info, ozone, timedate, video_info->width - 85 - timedate_offset, ozone->ui_dimensions.header_height / 2 + FONT_SIZE_TIME * 3/8, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, timedate, video_info->width - 85 - timedate_offset, ozone->dimensions.header_height / 2 + FONT_SIZE_TIME * 3/8, TEXT_ALIGN_RIGHT, video_info->width, video_info->height, ozone->fonts.time, ozone->theme->text_rgba, false); menu_display_blend_begin(video_info); - ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CLOCK], video_info->width - 60 - 56 - timedate_offset, ozone->ui_dimensions.header_height / 2 - 42, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); + ozone_draw_icon(video_info, 92, 92, ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_CLOCK], video_info->width - 60 - 56 - timedate_offset, ozone->dimensions.header_height / 2 - 42, video_info->width, video_info->height, 0, 1, ozone->theme->entries_icon); menu_display_blend_end(video_info); } } @@ -1065,41 +1078,37 @@ static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_i { char core_title[255]; /* Separator */ - menu_display_draw_quad(video_info, 23, video_info->height - ozone->ui_dimensions.footer_height, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); + menu_display_draw_quad(video_info, 23, video_info->height - ozone->dimensions.footer_height, video_info->width - 60, 1, video_info->width, video_info->height, ozone->theme->header_footer_separator); /* Core title or Switch icon */ if (settings->bools.menu_core_enable && menu_entries_get_core_title(core_title, sizeof(core_title)) == 0) - ozone_draw_text(video_info, ozone, core_title, 59, video_info->height - ozone->ui_dimensions.footer_height / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); + ozone_draw_text(video_info, ozone, core_title, 59, video_info->height - ozone->dimensions.footer_height / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); else - ozone_draw_icon(video_info, 69, 30, ozone->theme->textures[OZONE_THEME_TEXTURE_SWITCH], 59, video_info->height - ozone->ui_dimensions.footer_height / 2 - 15, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 69, 30, ozone->theme->textures[OZONE_THEME_TEXTURE_SWITCH], 59, video_info->height - ozone->dimensions.footer_height / 2 - 15, video_info->width,video_info->height, 0, 1, NULL); /* Buttons */ { unsigned back_width = 215; - unsigned back_height = 49; unsigned ok_width = 96; - unsigned ok_height = 49; bool do_swap = video_info->input_menu_swap_ok_cancel_buttons; if (do_swap) { back_width = 96; - back_height = 49; ok_width = 215; - ok_height = 49; } menu_display_blend_begin(video_info); if (do_swap) { - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 133, video_info->height - ozone->ui_dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 251, video_info->height - ozone->ui_dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 133, video_info->height - ozone->dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 251, video_info->height - ozone->dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); } else { - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 251, video_info->height - ozone->ui_dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); - ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 133, video_info->height - ozone->ui_dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_B], video_info->width - 251, video_info->height - ozone->dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); + ozone_draw_icon(video_info, 25, 25, ozone->theme->textures[OZONE_THEME_TEXTURE_BUTTON_A], video_info->width - 133, video_info->height - ozone->dimensions.footer_height / 2 - 12, video_info->width,video_info->height, 0, 1, NULL); } menu_display_blend_end(video_info); @@ -1108,12 +1117,12 @@ static void ozone_draw_footer(ozone_handle_t *ozone, video_frame_info_t *video_i do_swap ? msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_OK) : msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_BACK), - video_info->width - back_width, video_info->height - ozone->ui_dimensions.footer_height / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); + video_info->width - back_width, video_info->height - ozone->dimensions.footer_height / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); ozone_draw_text(video_info, ozone, do_swap ? msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_BACK) : msg_hash_to_str(MENU_ENUM_LABEL_VALUE_BASIC_MENU_CONTROLS_OK), - video_info->width - ok_width, video_info->height - ozone->ui_dimensions.footer_height / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); + video_info->width - ok_width, video_info->height - ozone->dimensions.footer_height / 2 + FONT_SIZE_FOOTER * 3/8, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.footer, ozone->theme->text_rgba, false); } menu_display_blend_end(video_info); @@ -1263,7 +1272,7 @@ static void ozone_frame(void *data, video_frame_info_t *video_info) ozone_draw_sidebar(ozone, video_info); /* Menu entries */ - menu_display_scissor_begin(video_info, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_width, ozone->ui_dimensions.header_height, video_info->width - ozone->ui_dimensions.sidebar_width + (-ozone->sidebar_offset), video_info->height - ozone->ui_dimensions.header_height - ozone->ui_dimensions.footer_height); + menu_display_scissor_begin(video_info, ozone->sidebar_offset + ozone->dimensions.sidebar_width, ozone->dimensions.header_height, video_info->width - ozone->dimensions.sidebar_width + (-ozone->sidebar_offset), video_info->height - ozone->dimensions.header_height - ozone->dimensions.footer_height); /* Current list */ ozone_draw_entries(ozone, @@ -1429,7 +1438,7 @@ static void ozone_list_open(ozone_handle_t *ozone) entry.easing_enum = EASING_OUT_QUAD; entry.subject = &ozone->sidebar_offset; entry.tag = (uintptr_t) NULL; - entry.target_value = -ozone->ui_dimensions.sidebar_width; + entry.target_value = -ozone->dimensions.sidebar_width; entry.userdata = (void*) ozone; menu_animation_push(&entry); @@ -1752,10 +1761,10 @@ static void ozone_list_cache(void *data, /* Deep copy visible elements */ video_driver_get_size(NULL, &video_info_height); - y = ENTRIES_START_Y; + y = ozone->dimensions.header_height + ozone->dimensions.entry_padding_vertical; entries_end = menu_entries_get_size(); selection_buf = menu_entries_get_selection_buf_ptr(0); - bottom_boundary = video_info_height - ozone->ui_dimensions.header_height - ozone->ui_dimensions.footer_height; + bottom_boundary = video_info_height - ozone->dimensions.header_height - ozone->dimensions.footer_height; for (i = 0; i < entries_end; i++) { @@ -1764,7 +1773,7 @@ static void ozone_list_cache(void *data, if (!node) continue; - if (y + ozone->animations.scroll_y + node->height + 20 < ENTRIES_START_Y) + if (y + ozone->animations.scroll_y + node->height + 20 < ozone->dimensions.header_height + ozone->dimensions.entry_padding_vertical) { first++; goto text_iterate; diff --git a/menu/drivers/ozone/ozone.h b/menu/drivers/ozone/ozone.h index 4c18620d1a..f91e35007e 100644 --- a/menu/drivers/ozone/ozone.h +++ b/menu/drivers/ozone/ozone.h @@ -39,17 +39,22 @@ typedef struct ozone_handle ozone_handle_t; #define HEADER_HEIGHT 87 #define FOOTER_HEIGHT 78 -#define SIDEBAR_WIDTH 408 -#define ENTRY_PADDING 67 +#define ENTRY_PADDING_HORIZONTAL_HALF 60 +#define ENTRY_PADDING_HORIZONTAL_FULL 100 +#define ENTRY_PADDING_VERTRICAL 20 +#define ENTRY_HEIGHT 50 +#define ENTRY_PADDING 0 +#define ENTRY_ICON_SIZE 46 +#define ENTRY_ICON_PADDING 15 + +#define SIDEBAR_WIDTH 408 #define SIDEBAR_X_PADDING 40 #define SIDEBAR_Y_PADDING 20 -#define ENTRY_HEIGHT 50 -#define ENTRY_Y_PADDING 10 +#define SIDEBAR_ENTRY_HEIGHT 50 +#define SIDEBAR_ENTRY_Y_PADDING 10 #define SIDEBAR_ENTRY_ICON_SIZE 40 -#define SIDEBAR_ENTRY_ICON_WIDTH 70 - -#define ENTRIES_START_Y (HEADER_HEIGHT + 1) + 40 +#define SIDEBAR_ENTRY_ICON_PADDING 15 #define INTERVAL_BATTERY_LEVEL_CHECK (30 * 1000000) #define INTERVAL_OSK_CURSOR (0.5f * 1000000) @@ -125,7 +130,8 @@ struct ozone_handle unsigned title_font_glyph_width; unsigned entry_font_glyph_width; unsigned sublabel_font_glyph_width; - + unsigned sidebar_font_glyph_width; + ozone_theme_t *theme; struct { @@ -168,16 +174,23 @@ struct ozone_handle struct { int header_height; int footer_height; - int sidebar_width; - int entry_padding; - int sidebar_entry_height; + int entry_padding_horizontal_half; + int entry_padding_horizontal_full; /* todo when sidebar is not visible */ + int entry_padding_vertical; + int entry_height; + int entry_padding; + int entry_icon_size; + int entry_icon_padding; + + int sidebar_width; int sidebar_padding_horizontal; int sidebar_padding_vertical; int sidebar_entry_padding_vertical; + int sidebar_entry_height; int sidebar_entry_icon_size; - int sidebar_entry_icon_width; - } ui_dimensions; + int sidebar_entry_icon_padding; + } dimensions; }; /* If you change this struct, also diff --git a/menu/drivers/ozone/ozone_entries.c b/menu/drivers/ozone/ozone_entries.c index c68f1fbad5..137ebdcfd8 100644 --- a/menu/drivers/ozone/ozone_entries.c +++ b/menu/drivers/ozone/ozone_entries.c @@ -121,14 +121,14 @@ void ozone_draw_entries(ozone_handle_t *ozone, video_frame_info_t *video_info, entries_end = file_list_get_size(selection_buf); old_list = selection_buf == ozone->selection_buf_old; - y = ENTRIES_START_Y; + y = ozone->dimensions.header_height + 1 + ozone->dimensions.entry_padding_vertical; sidebar_offset = ozone->sidebar_offset; - entry_width = video_info->width - ozone->ui_dimensions.sidebar_width - ozone->sidebar_offset - ozone->ui_dimensions.entry_padding * 2; - button_height = 52; /* height of the button (entry minus sublabel) */ + entry_width = video_info->width - ozone->dimensions.sidebar_width - ozone->sidebar_offset - ozone->dimensions.entry_padding_horizontal_half * 2; + button_height = ozone->dimensions.entry_height; /* height of the button (entry minus sublabel) */ video_driver_get_size(&video_info_width, &video_info_height); - bottom_boundary = video_info_height - ozone->ui_dimensions.header_height - ozone->ui_dimensions.footer_height; + bottom_boundary = video_info_height - ozone->dimensions.header_height - ozone->dimensions.footer_height; invert = (ozone->fade_direction) ? -1 : 1; alpha_anim = old_list ? alpha : 1.0f - alpha; @@ -163,7 +163,7 @@ void ozone_draw_entries(ozone_handle_t *ozone, video_frame_info_t *video_info, if (!node || ozone->empty_playlist) goto border_iterate; - if (y + scroll_y + node->height + 20 < ENTRIES_START_Y) + if (y + scroll_y + node->height + 20 < ozone->dimensions.header_height + ozone->dimensions.entry_padding_vertical) goto border_iterate; else if (y + scroll_y - node->height - 20 > bottom_boundary) goto border_iterate; @@ -172,8 +172,10 @@ void ozone_draw_entries(ozone_handle_t *ozone, video_frame_info_t *video_info, ozone_color_alpha(ozone->theme_dynamic.entries_checkmark, alpha); /* Borders */ - menu_display_draw_quad(video_info, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding - 3, y - 3 + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); - menu_display_draw_quad(video_info, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding - 3, y - 3 + button_height + scroll_y, entry_width + 10-3-1, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); + menu_display_draw_quad(video_info, ozone->dimensions.sidebar_width + x_offset + ozone->dimensions.entry_padding_horizontal_half, + y + scroll_y, entry_width, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); + menu_display_draw_quad(video_info, ozone->dimensions.sidebar_width + x_offset + ozone->dimensions.entry_padding_horizontal_half, + y + button_height + scroll_y, entry_width, 1, video_info->width, video_info->height, ozone->theme_dynamic.entries_border); border_iterate: y += node->height; @@ -181,14 +183,16 @@ border_iterate: /* Cursor(s) layer - current */ if (!ozone->cursor_in_sidebar) - ozone_draw_cursor(ozone, video_info, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding, entry_width, button_height, selection_y + scroll_y, ozone->animations.cursor_alpha * alpha); + ozone_draw_cursor(ozone, video_info, ozone->dimensions.sidebar_width + x_offset + ozone->dimensions.entry_padding_horizontal_half + 3, + entry_width - 5, button_height + 2, selection_y + scroll_y + 1, ozone->animations.cursor_alpha * alpha); /* Old*/ if (!ozone->cursor_in_sidebar_old) - ozone_draw_cursor(ozone, video_info, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding, entry_width, button_height, old_selection_y + scroll_y, (1-ozone->animations.cursor_alpha) * alpha); + ozone_draw_cursor(ozone, video_info, ozone->dimensions.sidebar_width + x_offset + ozone->dimensions.entry_padding_horizontal_half + 3, + entry_width - 5, button_height + 2, old_selection_y + scroll_y + 1, (1-ozone->animations.cursor_alpha) * alpha); /* Icons + text */ - y = ENTRIES_START_Y; + y = ozone->dimensions.header_height + 1 + ozone->dimensions.entry_padding_vertical; if (old_list) y += ozone->old_list_offset_y; @@ -205,7 +209,7 @@ border_iterate: ozone_node_t *node = NULL; char *entry_rich_label = NULL; bool entry_selected = false; - int text_offset = -40; + int text_offset = -ozone->dimensions.entry_icon_padding - ozone->dimensions.entry_icon_size; float *icon_color = NULL; entry_value[0] = '\0'; @@ -219,7 +223,7 @@ border_iterate: if (!node) continue; - if (y + scroll_y + node->height + 20 < ENTRIES_START_Y) + if (y + scroll_y + node->height + 20 < ozone->dimensions.header_height + ozone->dimensions.entry_padding_vertical) goto icons_iterate; else if (y + scroll_y - node->height - 20 > bottom_boundary) goto icons_iterate; @@ -238,15 +242,19 @@ border_iterate: if (ozone->empty_playlist) { unsigned text_width = font_driver_get_message_width(ozone->fonts.entries_label, rich_label, (unsigned)strlen(rich_label), 1); - x_offset = (video_info_width - ozone->ui_dimensions.sidebar_width - ozone->ui_dimensions.entry_padding * 2) / 2 - text_width / 2 - 60; + x_offset = (video_info_width - ozone->dimensions.sidebar_width - ozone->dimensions.entry_padding_horizontal_half * 2) / 2 - text_width / 2 - 60; y = video_info_height / 2 - 60; } sublabel_str = menu_entry_get_sublabel(&entry); if (node->wrap && sublabel_str) - word_wrap(sublabel_str, sublabel_str, (video_info->width - 548) / ozone->sublabel_font_glyph_width, false); - + { + int sublable_max_width = video_info_width - ozone->dimensions.sidebar_width - + ozone->dimensions.entry_padding_horizontal_half * 2 - ozone->dimensions.entry_icon_padding * 2; + word_wrap(sublabel_str, sublabel_str, sublable_max_width / ozone->sublabel_font_glyph_width, false); + } + /* Icon */ tex = ozone_entries_icon_get_texture(ozone, entry.enum_idx, entry.type, entry_selected); if (tex != ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_SUBSETTING]) @@ -280,7 +288,9 @@ border_iterate: ozone_color_alpha(icon_color, alpha); menu_display_blend_begin(video_info); - ozone_draw_icon(video_info, 46, 46, texture, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding + 10, y + scroll_y, video_info->width, video_info->height, 0, 1, icon_color); + ozone_draw_icon(video_info, ozone->dimensions.entry_icon_size, ozone->dimensions.entry_icon_size, texture, + ozone->dimensions.sidebar_width + x_offset + ozone->dimensions.entry_padding_horizontal_half + ozone->dimensions.entry_icon_padding, + y + scroll_y + ozone->dimensions.entry_height / 2 - ozone->dimensions.entry_icon_size / 2, video_info->width, video_info->height, 0, 1, icon_color); menu_display_blend_end(video_info); if (icon_color == ozone_pure_white) @@ -290,20 +300,24 @@ border_iterate: } /* Draw text */ - ozone_draw_text(video_info, ozone, rich_label, text_offset + ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding + 60, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_label, COLOR_TEXT_ALPHA(ozone->theme->text_rgba, alpha_uint32), false); + ozone_draw_text(video_info, ozone, rich_label, text_offset + ozone->dimensions.sidebar_width + x_offset + ozone->dimensions.entry_padding_horizontal_half + ozone->dimensions.entry_icon_size + ozone->dimensions.entry_icon_padding * 2, + y + ozone->dimensions.entry_height / 2 + FONT_SIZE_ENTRIES_LABEL * 3/8 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_label, COLOR_TEXT_ALPHA(ozone->theme->text_rgba, alpha_uint32), false); if (sublabel_str) - ozone_draw_text(video_info, ozone, sublabel_str, ozone->ui_dimensions.sidebar_width + x_offset + ozone->ui_dimensions.entry_padding + 10, y + FONT_SIZE_ENTRIES_SUBLABEL + 80 - 20 - 3 + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_sublabel, COLOR_TEXT_ALPHA(ozone->theme->text_sublabel_rgba, alpha_uint32), false); + ozone_draw_text(video_info, ozone, sublabel_str, ozone->dimensions.sidebar_width + x_offset + ozone->dimensions.entry_padding_horizontal_half + ozone->dimensions.entry_icon_padding, + y + ozone->dimensions.entry_height + 1 + 5 + FONT_SIZE_ENTRIES_SUBLABEL + scroll_y, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.entries_sublabel, COLOR_TEXT_ALPHA(ozone->theme->text_sublabel_rgba, alpha_uint32), false); /* Value */ ticker.idx = ozone->frame_count / 20; ticker.s = entry_value_ticker; ticker.str = entry_value; ticker.selected = entry_selected && !ozone->cursor_in_sidebar; - ticker.len = (entry_width - 60 - ((int)utf8len(entry_rich_label) * ozone->entry_font_glyph_width)) / ozone->entry_font_glyph_width; + ticker.len = (entry_width - ozone->dimensions.entry_icon_size - ozone->dimensions.entry_icon_padding * 2 - + ((int)utf8len(entry_rich_label) * ozone->entry_font_glyph_width)) / ozone->entry_font_glyph_width; menu_animation_ticker(&ticker); - ozone_draw_entry_value(ozone, video_info, entry_value_ticker, ozone->ui_dimensions.sidebar_width + ozone->ui_dimensions.entry_padding + x_offset + entry_width - 20, y + FONT_SIZE_ENTRIES_LABEL + 8 - 1 + scroll_y,alpha_uint32, &entry); + ozone_draw_entry_value(ozone, video_info, entry_value_ticker, ozone->dimensions.sidebar_width + ozone->dimensions.entry_padding_horizontal_half + x_offset + entry_width - ozone->dimensions.entry_icon_padding, + y + ozone->dimensions.entry_height / 2 + FONT_SIZE_ENTRIES_LABEL * 3/8 + scroll_y, alpha_uint32, &entry); free(entry_rich_label); diff --git a/menu/drivers/ozone/ozone_sidebar.c b/menu/drivers/ozone/ozone_sidebar.c index ebd08095db..9b0d66200c 100644 --- a/menu/drivers/ozone/ozone_sidebar.c +++ b/menu/drivers/ozone/ozone_sidebar.c @@ -17,8 +17,6 @@ * If not, see . */ -/* TODO Fluid sidebar width ? */ - #include "ozone.h" #include "ozone_theme.h" #include "ozone_display.h" @@ -123,53 +121,53 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) if (ozone->horizontal_list) horizontal_list_size = ozone->horizontal_list->size; - menu_display_scissor_begin(video_info, 0, ozone->ui_dimensions.header_height, ozone->ui_dimensions.sidebar_width, video_info->height - ozone->ui_dimensions.header_height - ozone->ui_dimensions.footer_height); + menu_display_scissor_begin(video_info, 0, ozone->dimensions.header_height, ozone->dimensions.sidebar_width, video_info->height - ozone->dimensions.header_height - ozone->dimensions.footer_height); /* Background */ - sidebar_height = video_info->height - ozone->ui_dimensions.header_height - 55 - ozone->ui_dimensions.footer_height; + sidebar_height = video_info->height - ozone->dimensions.header_height - 55 - ozone->dimensions.footer_height; if (!video_info->libretro_running) { - menu_display_draw_quad(video_info, ozone->sidebar_offset, ozone->ui_dimensions.header_height + 1, ozone->ui_dimensions.sidebar_width, 55/2, video_info->width, video_info->height, ozone->theme->sidebar_top_gradient); - menu_display_draw_quad(video_info, ozone->sidebar_offset, ozone->ui_dimensions.header_height + 1 + 55/2, ozone->ui_dimensions.sidebar_width, sidebar_height, video_info->width, video_info->height, ozone->theme->sidebar_background); - menu_display_draw_quad(video_info, ozone->sidebar_offset, video_info->height - ozone->ui_dimensions.footer_height - 55/2 - 1, ozone->ui_dimensions.sidebar_width, 55/2 + 1, video_info->width, video_info->height, ozone->theme->sidebar_bottom_gradient); + menu_display_draw_quad(video_info, ozone->sidebar_offset, ozone->dimensions.header_height + 1, ozone->dimensions.sidebar_width, 55/2, video_info->width, video_info->height, ozone->theme->sidebar_top_gradient); + menu_display_draw_quad(video_info, ozone->sidebar_offset, ozone->dimensions.header_height + 1 + 55/2, ozone->dimensions.sidebar_width, sidebar_height, video_info->width, video_info->height, ozone->theme->sidebar_background); + menu_display_draw_quad(video_info, ozone->sidebar_offset, video_info->height - ozone->dimensions.footer_height - 55/2 - 1, ozone->dimensions.sidebar_width, 55/2 + 1, video_info->width, video_info->height, ozone->theme->sidebar_bottom_gradient); } /* Tabs */ /* y offset computation */ - y = ozone->ui_dimensions.header_height + 1 + ozone->ui_dimensions.sidebar_padding_vertical; + y = ozone->dimensions.header_height + 1 + ozone->dimensions.sidebar_padding_vertical; for (i = 0; i < ozone->system_tab_end + horizontal_list_size + 1; i++) { if (i == ozone->categories_selection_ptr) { selection_y = y; if (ozone->categories_selection_ptr > ozone->system_tab_end) - selection_y += ozone->ui_dimensions.sidebar_entry_padding_vertical + 1; + selection_y += ozone->dimensions.sidebar_entry_padding_vertical + 1; } if (i == ozone->categories_active_idx_old) { selection_old_y = y; if (ozone->categories_active_idx_old > ozone->system_tab_end) - selection_old_y += ozone->ui_dimensions.sidebar_entry_padding_vertical + 1; + selection_old_y += ozone->dimensions.sidebar_entry_padding_vertical + 1; } - y += ozone->ui_dimensions.sidebar_entry_height + ozone->ui_dimensions.sidebar_entry_padding_vertical; + y += ozone->dimensions.sidebar_entry_height + ozone->dimensions.sidebar_entry_padding_vertical; } - entry_width = ozone->ui_dimensions.sidebar_width - ozone->ui_dimensions.sidebar_padding_horizontal * 2; + entry_width = ozone->dimensions.sidebar_width - ozone->dimensions.sidebar_padding_horizontal * 2; /* Cursor */ if (ozone->cursor_in_sidebar) - ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 3, - entry_width - 5, ozone->ui_dimensions.sidebar_entry_height + 2, selection_y + 1 + ozone->animations.scroll_y_sidebar, ozone->animations.cursor_alpha); + ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + ozone->dimensions.sidebar_padding_horizontal + 3, + entry_width - 5, ozone->dimensions.sidebar_entry_height + 2, selection_y + 1 + ozone->animations.scroll_y_sidebar, ozone->animations.cursor_alpha); if (ozone->cursor_in_sidebar_old) - ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + 3, - entry_width - 5, ozone->ui_dimensions.sidebar_entry_height + 2, selection_old_y + 1 + ozone->animations.scroll_y_sidebar, 1-ozone->animations.cursor_alpha); + ozone_draw_cursor(ozone, video_info, ozone->sidebar_offset + ozone->dimensions.sidebar_padding_horizontal + 3, + entry_width - 5, ozone->dimensions.sidebar_entry_height + 2, selection_old_y + 1 + ozone->animations.scroll_y_sidebar, 1-ozone->animations.cursor_alpha); /* Menu tabs */ - y = ozone->ui_dimensions.header_height + 1 + ozone->ui_dimensions.sidebar_padding_vertical; + y = ozone->dimensions.header_height + 1 + ozone->dimensions.sidebar_padding_vertical; menu_display_blend_begin(video_info); for (i = 0; i < ozone->system_tab_end+1; i++) @@ -180,18 +178,18 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) unsigned icon = ozone_system_tabs_icons[ozone->tabs[i]]; /* Icon */ - ozone_draw_icon(video_info, ozone->ui_dimensions.sidebar_entry_icon_size, ozone->ui_dimensions.sidebar_entry_icon_size, - ozone->tab_textures[icon], ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + ozone->ui_dimensions.sidebar_entry_icon_width / 2 - ozone->ui_dimensions.sidebar_entry_icon_size / 2, - y + ozone->ui_dimensions.sidebar_entry_height / 2 - ozone->ui_dimensions.sidebar_entry_icon_size / 2 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); + ozone_draw_icon(video_info, ozone->dimensions.sidebar_entry_icon_size, ozone->dimensions.sidebar_entry_icon_size, + ozone->tab_textures[icon], ozone->sidebar_offset + ozone->dimensions.sidebar_padding_horizontal + ozone->dimensions.sidebar_entry_icon_padding, + y + ozone->dimensions.sidebar_entry_height / 2 - ozone->dimensions.sidebar_entry_icon_size / 2 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); value_idx = ozone_system_tabs_value[ozone->tabs[i]]; title = msg_hash_to_str(value_idx); /* Text */ - ozone_draw_text(video_info, ozone, title, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + ozone->ui_dimensions.sidebar_entry_icon_width, - y + ozone->ui_dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); + ozone_draw_text(video_info, ozone, title, ozone->sidebar_offset + ozone->dimensions.sidebar_padding_horizontal + ozone->dimensions.sidebar_entry_icon_padding * 2 + ozone->dimensions.sidebar_entry_icon_size, + y + ozone->dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); - y += ozone->ui_dimensions.sidebar_entry_height + ozone->ui_dimensions.sidebar_entry_padding_vertical; + y += ozone->dimensions.sidebar_entry_height + ozone->dimensions.sidebar_entry_padding_vertical; } menu_display_blend_end(video_info); @@ -199,9 +197,9 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) /* Console tabs */ if (horizontal_list_size > 0) { - menu_display_draw_quad(video_info, ozone->sidebar_offset + 38, y + ozone->animations.scroll_y_sidebar, ozone->ui_dimensions.sidebar_width - 76, 1, video_info->width, video_info->height, ozone->theme->entries_border); + menu_display_draw_quad(video_info, ozone->sidebar_offset + ozone->dimensions.sidebar_padding_horizontal, y + ozone->animations.scroll_y_sidebar, entry_width, 1, video_info->width, video_info->height, ozone->theme->entries_border); - y += ozone->ui_dimensions.sidebar_entry_padding_vertical + 1; + y += ozone->dimensions.sidebar_entry_padding_vertical + 1; menu_display_blend_begin(video_info); @@ -215,26 +213,26 @@ void ozone_draw_sidebar(ozone_handle_t *ozone, video_frame_info_t *video_info) goto console_iterate; /* Icon */ - ozone_draw_icon(video_info, ozone->ui_dimensions.sidebar_entry_icon_size, ozone->ui_dimensions.sidebar_entry_icon_size, - node->icon, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + ozone->ui_dimensions.sidebar_entry_icon_width / 2 - ozone->ui_dimensions.sidebar_entry_icon_size / 2, - y + ozone->ui_dimensions.sidebar_entry_height / 2 - ozone->ui_dimensions.sidebar_entry_icon_size / 2 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); + ozone_draw_icon(video_info, ozone->dimensions.sidebar_entry_icon_size, ozone->dimensions.sidebar_entry_icon_size, + node->icon, ozone->sidebar_offset + ozone->dimensions.sidebar_padding_horizontal + ozone->dimensions.sidebar_entry_icon_padding, + y + ozone->dimensions.sidebar_entry_height / 2 - ozone->dimensions.sidebar_entry_icon_size / 2 + ozone->animations.scroll_y_sidebar, video_info->width, video_info->height, 0, 1, (selected ? ozone->theme->text_selected : ozone->theme->entries_icon)); /* Text */ ticker.idx = ozone->frame_count / 20; - ticker.len = (entry_width - ozone->ui_dimensions.sidebar_entry_icon_size - 35) / ozone->entry_font_glyph_width; + ticker.len = (entry_width - ozone->dimensions.sidebar_entry_icon_size - 35) / ozone->sidebar_font_glyph_width; ticker.s = console_title; ticker.selected = selected; ticker.str = node->console_name; menu_animation_ticker(&ticker); - ozone_draw_text(video_info, ozone, console_title, ozone->sidebar_offset + ozone->ui_dimensions.sidebar_padding_horizontal + ozone->ui_dimensions.sidebar_entry_icon_width, - y + ozone->ui_dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, + ozone_draw_text(video_info, ozone, console_title, ozone->sidebar_offset + ozone->dimensions.sidebar_padding_horizontal + ozone->dimensions.sidebar_entry_icon_padding * 2 + ozone->dimensions.sidebar_entry_icon_size, + y + ozone->dimensions.sidebar_entry_height / 2 + FONT_SIZE_SIDEBAR * 3/8 + ozone->animations.scroll_y_sidebar, TEXT_ALIGN_LEFT, video_info->width, video_info->height, ozone->fonts.sidebar, (selected ? ozone->theme->text_selected_rgba : ozone->theme->text_rgba), true); console_iterate: - y += ozone->ui_dimensions.sidebar_entry_height + ozone->ui_dimensions.sidebar_entry_padding_vertical; + y += ozone->dimensions.sidebar_entry_height + ozone->dimensions.sidebar_entry_padding_vertical; } menu_display_blend_end(video_info); @@ -295,16 +293,16 @@ void ozone_leave_sidebar(ozone_handle_t *ozone, uintptr_t tag) unsigned ozone_get_selected_sidebar_y_position(ozone_handle_t *ozone) { - return ozone->categories_selection_ptr * ozone->ui_dimensions.sidebar_entry_height + - (ozone->categories_selection_ptr - 1) * ozone->ui_dimensions.sidebar_entry_padding_vertical + ozone->ui_dimensions.sidebar_padding_vertical + - (ozone->categories_selection_ptr > ozone->system_tab_end ? ozone->ui_dimensions.sidebar_entry_padding_vertical + 1 : 0); + return ozone->categories_selection_ptr * ozone->dimensions.sidebar_entry_height + + (ozone->categories_selection_ptr - 1) * ozone->dimensions.sidebar_entry_padding_vertical + ozone->dimensions.sidebar_padding_vertical + + (ozone->categories_selection_ptr > ozone->system_tab_end ? ozone->dimensions.sidebar_entry_padding_vertical + 1 : 0); } unsigned ozone_get_sidebar_height(ozone_handle_t *ozone) { int entries = (ozone->system_tab_end + 1 + (ozone->horizontal_list ? ozone->horizontal_list->size : 0)); - return entries * ozone->ui_dimensions.sidebar_entry_height + (entries - 1) * ozone->ui_dimensions.sidebar_entry_padding_vertical + ozone->ui_dimensions.sidebar_padding_vertical + - (ozone->horizontal_list && ozone->horizontal_list->size > 0 ? ozone->ui_dimensions.sidebar_entry_padding_vertical + 1 : 0); + return entries * ozone->dimensions.sidebar_entry_height + (entries - 1) * ozone->dimensions.sidebar_entry_padding_vertical + ozone->dimensions.sidebar_padding_vertical + + (ozone->horizontal_list && ozone->horizontal_list->size > 0 ? ozone->dimensions.sidebar_entry_padding_vertical + 1 : 0); } void ozone_sidebar_goto(ozone_handle_t *ozone, unsigned new_selection) @@ -352,8 +350,8 @@ void ozone_sidebar_goto(ozone_handle_t *ozone, unsigned new_selection) /* Scroll animation */ new_scroll = 0; selected_position_y = ozone_get_selected_sidebar_y_position(ozone); - current_selection_middle_onscreen = ozone->ui_dimensions.header_height + 1 + ozone->animations.scroll_y_sidebar + selected_position_y + ozone->ui_dimensions.sidebar_entry_height / 2; - bottom_boundary = video_info_height - (ozone->ui_dimensions.header_height + 1) - ozone->ui_dimensions.footer_height; + current_selection_middle_onscreen = ozone->dimensions.header_height + 1 + ozone->animations.scroll_y_sidebar + selected_position_y + ozone->dimensions.sidebar_entry_height / 2; + bottom_boundary = video_info_height - (ozone->dimensions.header_height + 1) - ozone->dimensions.footer_height; entries_middle = video_info_height/2; entries_height = ozone_get_sidebar_height(ozone); @@ -361,7 +359,7 @@ void ozone_sidebar_goto(ozone_handle_t *ozone, unsigned new_selection) new_scroll = ozone->animations.scroll_y_sidebar - (current_selection_middle_onscreen - entries_middle); if (new_scroll + entries_height < bottom_boundary) - new_scroll = bottom_boundary - entries_height - ozone->ui_dimensions.sidebar_padding_vertical; + new_scroll = bottom_boundary - entries_height - ozone->dimensions.sidebar_padding_vertical; if (new_scroll > 0) new_scroll = 0; From 5d7a30d806d799e0f0a682488a6e9c336113ebb8 Mon Sep 17 00:00:00 2001 From: Patrick Scheurenbrand Date: Tue, 12 Feb 2019 08:19:07 +0100 Subject: [PATCH 8/8] added my name to the headers --- menu/drivers/ozone/ozone.c | 1 + menu/drivers/ozone/ozone.h | 1 + menu/drivers/ozone/ozone_entries.c | 1 + menu/drivers/ozone/ozone_sidebar.c | 1 + 4 files changed, 4 insertions(+) diff --git a/menu/drivers/ozone/ozone.c b/menu/drivers/ozone/ozone.c index 2dc5bf5047..447149fb14 100644 --- a/menu/drivers/ozone/ozone.c +++ b/menu/drivers/ozone/ozone.c @@ -4,6 +4,7 @@ * Copyright (C) 2016-2017 - Brad Parker * Copyright (C) 2018 - Alfredo Monclús * Copyright (C) 2018 - natinusala + * Copyright (C) 2019 - Patrick Scheurenbrand * * RetroArch is free software: you can redistribute it and/or modify it under the terms * of the GNU General Public License as published by the Free Software Found- diff --git a/menu/drivers/ozone/ozone.h b/menu/drivers/ozone/ozone.h index f91e35007e..eb1ea4a090 100644 --- a/menu/drivers/ozone/ozone.h +++ b/menu/drivers/ozone/ozone.h @@ -1,5 +1,6 @@ /* RetroArch - A frontend for libretro. * Copyright (C) 2018 - natinusala + * Copyright (C) 2019 - Patrick Scheurenbrand * * RetroArch is free software: you can redistribute it and/or modify it under the terms * of the GNU General Public License as published by the Free Software Found- diff --git a/menu/drivers/ozone/ozone_entries.c b/menu/drivers/ozone/ozone_entries.c index 137ebdcfd8..b8a1dbdc10 100644 --- a/menu/drivers/ozone/ozone_entries.c +++ b/menu/drivers/ozone/ozone_entries.c @@ -4,6 +4,7 @@ * Copyright (C) 2016-2017 - Brad Parker * Copyright (C) 2018 - Alfredo Monclús * Copyright (C) 2018 - natinusala + * Copyright (C) 2019 - Patrick Scheurenbrand * * RetroArch is free software: you can redistribute it and/or modify it under the terms * of the GNU General Public License as published by the Free Software Found- diff --git a/menu/drivers/ozone/ozone_sidebar.c b/menu/drivers/ozone/ozone_sidebar.c index 9b0d66200c..803ed9ba24 100644 --- a/menu/drivers/ozone/ozone_sidebar.c +++ b/menu/drivers/ozone/ozone_sidebar.c @@ -4,6 +4,7 @@ * Copyright (C) 2016-2017 - Brad Parker * Copyright (C) 2018 - Alfredo Monclús * Copyright (C) 2018 - natinusala + * Copyright (C) 2019 - Patrick Scheurenbrand * * RetroArch is free software: you can redistribute it and/or modify it under the terms * of the GNU General Public License as published by the Free Software Found-