mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-28 13:28:01 +03:00
overlays: review fixes
This commit is contained in:
parent
69435dd951
commit
cfb788941c
11 changed files with 80 additions and 100 deletions
|
@ -19,28 +19,24 @@ namespace rsx
|
||||||
}
|
}
|
||||||
|
|
||||||
home_menu_dialog::home_menu_dialog()
|
home_menu_dialog::home_menu_dialog()
|
||||||
|
: m_main_menu(20, 85, virtual_width - 2 * 20, 540, false, nullptr)
|
||||||
{
|
{
|
||||||
m_allow_input_on_pause = true;
|
m_allow_input_on_pause = true;
|
||||||
|
|
||||||
m_dim_background = std::make_unique<overlay_element>();
|
m_dim_background.set_size(virtual_width, virtual_height);
|
||||||
m_dim_background->set_size(overlay::virtual_width, overlay::virtual_height);
|
m_dim_background.back_color.a = 0.5f;
|
||||||
m_dim_background->back_color.a = 0.5f;
|
|
||||||
|
|
||||||
m_main_menu = std::make_unique<home_menu_main_menu>(20, 85, 1240, 540, false, nullptr);
|
m_description.set_font("Arial", 20);
|
||||||
|
m_description.set_pos(20, 37);
|
||||||
|
m_description.set_text(m_main_menu.title);
|
||||||
|
m_description.auto_resize();
|
||||||
|
m_description.back_color.a = 0.f;
|
||||||
|
|
||||||
m_description = std::make_unique<label>();
|
m_time_display.set_font("Arial", 14);
|
||||||
m_description->set_font("Arial", 20);
|
m_time_display.set_text(get_time_string());
|
||||||
m_description->set_pos(20, 37);
|
m_time_display.auto_resize();
|
||||||
m_description->set_text(m_main_menu->title);
|
m_time_display.set_pos(virtual_width - (20 + m_time_display.w), (m_description.y + m_description.h) - m_time_display.h);
|
||||||
m_description->auto_resize();
|
m_time_display.back_color.a = 0.f;
|
||||||
m_description->back_color.a = 0.f;
|
|
||||||
|
|
||||||
m_time_display = std::make_unique<label>();
|
|
||||||
m_time_display->set_font("Arial", 14);
|
|
||||||
m_time_display->set_text(get_time_string());
|
|
||||||
m_time_display->auto_resize();
|
|
||||||
m_time_display->set_pos(overlay::virtual_width - (20 + m_time_display->w), (m_description->y + m_description->h) - m_time_display->h);
|
|
||||||
m_time_display->back_color.a = 0.f;
|
|
||||||
|
|
||||||
fade_animation.duration = 0.15f;
|
fade_animation.duration = 0.15f;
|
||||||
|
|
||||||
|
@ -71,8 +67,8 @@ namespace rsx
|
||||||
|
|
||||||
if (last_time != new_time)
|
if (last_time != new_time)
|
||||||
{
|
{
|
||||||
m_time_display->set_text(new_time);
|
m_time_display.set_text(new_time);
|
||||||
m_time_display->auto_resize();
|
m_time_display.auto_resize();
|
||||||
last_time = std::move(new_time);
|
last_time = std::move(new_time);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -95,22 +91,22 @@ namespace rsx
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
const page_navigation navigation = m_main_menu->handle_button_press(button_press);
|
const page_navigation navigation = m_main_menu.handle_button_press(button_press);
|
||||||
|
|
||||||
switch (navigation)
|
switch (navigation)
|
||||||
{
|
{
|
||||||
case page_navigation::back:
|
case page_navigation::back:
|
||||||
case page_navigation::next:
|
case page_navigation::next:
|
||||||
{
|
{
|
||||||
if (home_menu_page* page = m_main_menu->get_current_page(true))
|
if (home_menu_page* page = m_main_menu.get_current_page(true))
|
||||||
{
|
{
|
||||||
std::string path = page->title;
|
std::string path = page->title;
|
||||||
for (home_menu_page* parent = page->parent; parent; parent = parent->parent)
|
for (home_menu_page* parent = page->parent; parent; parent = parent->parent)
|
||||||
{
|
{
|
||||||
path = parent->title + " > " + path;
|
path = parent->title + " > " + path;
|
||||||
}
|
}
|
||||||
m_description->set_text(path);
|
m_description.set_text(path);
|
||||||
m_description->auto_resize();
|
m_description.auto_resize();
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -149,10 +145,10 @@ namespace rsx
|
||||||
}
|
}
|
||||||
|
|
||||||
compiled_resource result;
|
compiled_resource result;
|
||||||
result.add(m_dim_background->get_compiled());
|
result.add(m_dim_background.get_compiled());
|
||||||
result.add(m_main_menu->get_compiled());
|
result.add(m_main_menu.get_compiled());
|
||||||
result.add(m_description->get_compiled());
|
result.add(m_description.get_compiled());
|
||||||
result.add(m_time_display->get_compiled());
|
result.add(m_time_display.get_compiled());
|
||||||
|
|
||||||
fade_animation.apply(result);
|
fade_animation.apply(result);
|
||||||
|
|
||||||
|
|
|
@ -11,7 +11,7 @@ namespace rsx
|
||||||
struct home_menu_dialog : public user_interface
|
struct home_menu_dialog : public user_interface
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
explicit home_menu_dialog();
|
home_menu_dialog();
|
||||||
|
|
||||||
void update() override;
|
void update() override;
|
||||||
void on_button_pressed(pad_button button_press) override;
|
void on_button_pressed(pad_button button_press) override;
|
||||||
|
@ -21,12 +21,12 @@ namespace rsx
|
||||||
error_code show(std::function<void(s32 status)> on_close);
|
error_code show(std::function<void(s32 status)> on_close);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<overlay_element> m_dim_background;
|
home_menu_main_menu m_main_menu;
|
||||||
std::unique_ptr<home_menu_main_menu> m_main_menu;
|
overlay_element m_dim_background{};
|
||||||
std::unique_ptr<label> m_description;
|
label m_description{};
|
||||||
std::unique_ptr<label> m_time_display;
|
label m_time_display{};
|
||||||
|
|
||||||
animation_color_interpolate fade_animation;
|
animation_color_interpolate fade_animation{};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,42 +9,37 @@ namespace rsx
|
||||||
{
|
{
|
||||||
home_menu_message_box::home_menu_message_box(u16 x, u16 y, u16 width, u16 height)
|
home_menu_message_box::home_menu_message_box(u16 x, u16 y, u16 width, u16 height)
|
||||||
: overlay_element()
|
: overlay_element()
|
||||||
|
, m_accept_btn(120, 30)
|
||||||
|
, m_cancel_btn(120, 30)
|
||||||
{
|
{
|
||||||
back_color = {0.15f, 0.15f, 0.15f, 0.95f};
|
back_color = {0.15f, 0.15f, 0.15f, 0.95f};
|
||||||
|
|
||||||
set_size(width, height);
|
set_size(width, height);
|
||||||
set_pos(x, y);
|
set_pos(x, y);
|
||||||
|
|
||||||
m_label = std::make_unique<label>();
|
m_label.align_text(text_align::center);
|
||||||
m_label->align_text(text_align::center);
|
m_label.set_font("Arial", 16);
|
||||||
m_label->set_font("Arial", 16);
|
m_label.back_color.a = 0.0f;
|
||||||
m_label->back_color.a = 0.0f;
|
|
||||||
|
|
||||||
m_accept_btn = std::make_unique<image_button>(120, 20);
|
|
||||||
m_cancel_btn = std::make_unique<image_button>(120, 20);
|
|
||||||
|
|
||||||
m_accept_btn->set_size(120, 30);
|
|
||||||
m_cancel_btn->set_size(120, 30);
|
|
||||||
|
|
||||||
if (g_cfg.sys.enter_button_assignment == enter_button_assign::circle)
|
if (g_cfg.sys.enter_button_assignment == enter_button_assign::circle)
|
||||||
{
|
{
|
||||||
m_accept_btn->set_image_resource(resource_config::standard_image_resource::circle);
|
m_accept_btn.set_image_resource(resource_config::standard_image_resource::circle);
|
||||||
m_cancel_btn->set_image_resource(resource_config::standard_image_resource::cross);
|
m_cancel_btn.set_image_resource(resource_config::standard_image_resource::cross);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_accept_btn->set_image_resource(resource_config::standard_image_resource::cross);
|
m_accept_btn.set_image_resource(resource_config::standard_image_resource::cross);
|
||||||
m_cancel_btn->set_image_resource(resource_config::standard_image_resource::circle);
|
m_cancel_btn.set_image_resource(resource_config::standard_image_resource::circle);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_accept_btn->set_pos(x + 30, y + height + 20);
|
m_accept_btn.set_pos(x + 30, y + height + 20);
|
||||||
m_cancel_btn->set_pos(x + 180, y + height + 20);
|
m_cancel_btn.set_pos(x + 180, y + height + 20);
|
||||||
|
|
||||||
m_accept_btn->set_text(localized_string_id::RSX_OVERLAYS_LIST_SELECT);
|
m_accept_btn.set_text(localized_string_id::RSX_OVERLAYS_LIST_SELECT);
|
||||||
m_cancel_btn->set_text(localized_string_id::RSX_OVERLAYS_LIST_CANCEL);
|
m_cancel_btn.set_text(localized_string_id::RSX_OVERLAYS_LIST_CANCEL);
|
||||||
|
|
||||||
m_accept_btn->set_font("Arial", 16);
|
m_accept_btn.set_font("Arial", 16);
|
||||||
m_cancel_btn->set_font("Arial", 16);
|
m_cancel_btn.set_font("Arial", 16);
|
||||||
}
|
}
|
||||||
|
|
||||||
compiled_resource& home_menu_message_box::get_compiled()
|
compiled_resource& home_menu_message_box::get_compiled()
|
||||||
|
@ -52,9 +47,9 @@ namespace rsx
|
||||||
if (!is_compiled)
|
if (!is_compiled)
|
||||||
{
|
{
|
||||||
compiled_resource& compiled = overlay_element::get_compiled();
|
compiled_resource& compiled = overlay_element::get_compiled();
|
||||||
compiled.add(m_label->get_compiled());
|
compiled.add(m_label.get_compiled());
|
||||||
compiled.add(m_cancel_btn->get_compiled());
|
compiled.add(m_cancel_btn.get_compiled());
|
||||||
compiled.add(m_accept_btn->get_compiled());
|
compiled.add(m_accept_btn.get_compiled());
|
||||||
}
|
}
|
||||||
return compiled_resources;
|
return compiled_resources;
|
||||||
}
|
}
|
||||||
|
@ -63,9 +58,9 @@ namespace rsx
|
||||||
{
|
{
|
||||||
m_on_accept = std::move(on_accept);
|
m_on_accept = std::move(on_accept);
|
||||||
m_on_cancel = std::move(on_cancel);
|
m_on_cancel = std::move(on_cancel);
|
||||||
m_label->set_text(text);
|
m_label.set_text(text);
|
||||||
m_label->auto_resize();
|
m_label.auto_resize();
|
||||||
m_label->set_pos(x + (w - m_label->w) / 2, y + (h - m_label->h) / 2);
|
m_label.set_pos(x + (w - m_label.w) / 2, y + (h - m_label.h) / 2);
|
||||||
m_visible = true;
|
m_visible = true;
|
||||||
refresh();
|
refresh();
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,9 +18,9 @@ namespace rsx
|
||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_visible = false;
|
bool m_visible = false;
|
||||||
std::unique_ptr<label> m_label;
|
label m_label{};
|
||||||
std::unique_ptr<image_button> m_cancel_btn;
|
image_button m_accept_btn;
|
||||||
std::unique_ptr<image_button> m_accept_btn;
|
image_button m_cancel_btn;
|
||||||
std::function<void()> m_on_accept;
|
std::function<void()> m_on_accept;
|
||||||
std::function<void()> m_on_cancel;
|
std::function<void()> m_on_cancel;
|
||||||
};
|
};
|
||||||
|
|
|
@ -11,6 +11,8 @@ namespace rsx
|
||||||
: list_view(width, height, use_separators)
|
: list_view(width, height, use_separators)
|
||||||
, parent(parent)
|
, parent(parent)
|
||||||
, title(title)
|
, title(title)
|
||||||
|
, m_save_btn(120, 30)
|
||||||
|
, m_discard_btn(120, 30)
|
||||||
{
|
{
|
||||||
if (parent)
|
if (parent)
|
||||||
{
|
{
|
||||||
|
@ -18,23 +20,17 @@ namespace rsx
|
||||||
m_config_changed = parent->m_config_changed;
|
m_config_changed = parent->m_config_changed;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_save_btn = std::make_unique<image_button>(120, 20);
|
m_save_btn.set_image_resource(resource_config::standard_image_resource::square);
|
||||||
m_discard_btn = std::make_unique<image_button>(120, 20);
|
m_discard_btn.set_image_resource(resource_config::standard_image_resource::triangle);
|
||||||
|
|
||||||
m_save_btn->set_size(120, 30);
|
m_save_btn.set_pos(width - 2 * (30 + 120), height + 20);
|
||||||
m_discard_btn->set_size(120, 30);
|
m_discard_btn.set_pos(width - (30 + 120), height + 20);
|
||||||
|
|
||||||
m_save_btn->set_image_resource(resource_config::standard_image_resource::square);
|
m_save_btn.set_text(localized_string_id::HOME_MENU_SETTINGS_SAVE_BUTTON);
|
||||||
m_discard_btn->set_image_resource(resource_config::standard_image_resource::triangle);
|
m_discard_btn.set_text(localized_string_id::HOME_MENU_SETTINGS_DISCARD_BUTTON);
|
||||||
|
|
||||||
m_save_btn->set_pos(width - 2 * (30 + 120), height + 20);
|
m_save_btn.set_font("Arial", 16);
|
||||||
m_discard_btn->set_pos(width - (30 + 120), height + 20);
|
m_discard_btn.set_font("Arial", 16);
|
||||||
|
|
||||||
m_save_btn->set_text(localized_string_id::HOME_MENU_SETTINGS_SAVE_BUTTON);
|
|
||||||
m_discard_btn->set_text(localized_string_id::HOME_MENU_SETTINGS_DISCARD_BUTTON);
|
|
||||||
|
|
||||||
m_save_btn->set_font("Arial", 16);
|
|
||||||
m_discard_btn->set_font("Arial", 16);
|
|
||||||
|
|
||||||
set_pos(x, y);
|
set_pos(x, y);
|
||||||
}
|
}
|
||||||
|
@ -248,8 +244,8 @@ namespace rsx
|
||||||
void home_menu_page::translate(s16 _x, s16 _y)
|
void home_menu_page::translate(s16 _x, s16 _y)
|
||||||
{
|
{
|
||||||
list_view::translate(_x, _y);
|
list_view::translate(_x, _y);
|
||||||
m_save_btn->translate(_x, _y);
|
m_save_btn.translate(_x, _y);
|
||||||
m_discard_btn->translate(_x, _y);
|
m_discard_btn.translate(_x, _y);
|
||||||
}
|
}
|
||||||
|
|
||||||
compiled_resource& home_menu_page::get_compiled()
|
compiled_resource& home_menu_page::get_compiled()
|
||||||
|
@ -272,8 +268,8 @@ namespace rsx
|
||||||
}
|
}
|
||||||
else if (m_config_changed && *m_config_changed)
|
else if (m_config_changed && *m_config_changed)
|
||||||
{
|
{
|
||||||
compiled_resources.add(m_save_btn->get_compiled());
|
compiled_resources.add(m_save_btn.get_compiled());
|
||||||
compiled_resources.add(m_discard_btn->get_compiled());
|
compiled_resources.add(m_discard_btn.get_compiled());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -37,8 +37,8 @@ namespace rsx
|
||||||
std::vector<std::shared_ptr<home_menu_page>> m_pages;
|
std::vector<std::shared_ptr<home_menu_page>> m_pages;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::unique_ptr<image_button> m_save_btn;
|
image_button m_save_btn;
|
||||||
std::unique_ptr<image_button> m_discard_btn;
|
image_button m_discard_btn;
|
||||||
std::vector<std::unique_ptr<overlay_element>> m_entries;
|
std::vector<std::unique_ptr<overlay_element>> m_entries;
|
||||||
std::vector<std::function<page_navigation(pad_button)>> m_callbacks;
|
std::vector<std::function<page_navigation(pad_button)>> m_callbacks;
|
||||||
};
|
};
|
||||||
|
|
|
@ -128,7 +128,7 @@ namespace rsx
|
||||||
media_list_dialog::media_list_dialog()
|
media_list_dialog::media_list_dialog()
|
||||||
{
|
{
|
||||||
m_dim_background = std::make_unique<overlay_element>();
|
m_dim_background = std::make_unique<overlay_element>();
|
||||||
m_dim_background->set_size(overlay::virtual_width, overlay::virtual_height);
|
m_dim_background->set_size(virtual_width, virtual_height);
|
||||||
m_dim_background->back_color.a = 0.5f;
|
m_dim_background->back_color.a = 0.5f;
|
||||||
|
|
||||||
m_description = std::make_unique<label>();
|
m_description = std::make_unique<label>();
|
||||||
|
@ -269,7 +269,7 @@ namespace rsx
|
||||||
status_flags |= status_bits::invalidate_image_cache;
|
status_flags |= status_bits::invalidate_image_cache;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_list = std::make_unique<list_view>(1240, 540);
|
m_list = std::make_unique<list_view>(virtual_width - 2 * 20, 540);
|
||||||
m_list->set_pos(20, 85);
|
m_list->set_pos(20, 85);
|
||||||
|
|
||||||
for (const media_entry& child : m_media->children)
|
for (const media_entry& child : m_media->children)
|
||||||
|
|
|
@ -16,7 +16,7 @@ namespace rsx
|
||||||
message_dialog::message_dialog(bool allow_custom_background)
|
message_dialog::message_dialog(bool allow_custom_background)
|
||||||
: custom_background_allowed(allow_custom_background)
|
: custom_background_allowed(allow_custom_background)
|
||||||
{
|
{
|
||||||
background.set_size(overlay::virtual_width, overlay::virtual_height);
|
background.set_size(virtual_width, virtual_height);
|
||||||
background.back_color.a = 0.85f;
|
background.back_color.a = 0.85f;
|
||||||
|
|
||||||
text_display.set_size(1100, 40);
|
text_display.set_size(1100, 40);
|
||||||
|
@ -367,7 +367,7 @@ namespace rsx
|
||||||
background_poster.fore_color = color4f(color, color, color, 1.);
|
background_poster.fore_color = color4f(color, color, color, 1.);
|
||||||
background.back_color.a = 0.f;
|
background.back_color.a = 0.f;
|
||||||
|
|
||||||
background_poster.set_size(overlay::virtual_width, overlay::virtual_height);
|
background_poster.set_size(virtual_width, virtual_height);
|
||||||
background_poster.set_raw_image(background_image.get());
|
background_poster.set_raw_image(background_image.get());
|
||||||
background_poster.set_blur_strength(static_cast<u8>(background_blur_strength));
|
background_poster.set_blur_strength(static_cast<u8>(background_blur_strength));
|
||||||
|
|
||||||
|
|
|
@ -82,9 +82,9 @@ namespace rsx
|
||||||
save_dialog::save_dialog()
|
save_dialog::save_dialog()
|
||||||
{
|
{
|
||||||
m_dim_background = std::make_unique<overlay_element>();
|
m_dim_background = std::make_unique<overlay_element>();
|
||||||
m_dim_background->set_size(overlay::virtual_width, overlay::virtual_height);
|
m_dim_background->set_size(virtual_width, virtual_height);
|
||||||
|
|
||||||
m_list = std::make_unique<list_view>(1240, 540);
|
m_list = std::make_unique<list_view>(virtual_width - 2 * 20, 540);
|
||||||
m_description = std::make_unique<label>();
|
m_description = std::make_unique<label>();
|
||||||
m_time_thingy = std::make_unique<label>();
|
m_time_thingy = std::make_unique<label>();
|
||||||
|
|
||||||
|
|
|
@ -69,10 +69,10 @@ namespace rsx
|
||||||
user_list_dialog::user_list_dialog()
|
user_list_dialog::user_list_dialog()
|
||||||
{
|
{
|
||||||
m_dim_background = std::make_unique<overlay_element>();
|
m_dim_background = std::make_unique<overlay_element>();
|
||||||
m_dim_background->set_size(overlay::virtual_width, overlay::virtual_height);
|
m_dim_background->set_size(virtual_width, virtual_height);
|
||||||
m_dim_background->back_color.a = 0.5f;
|
m_dim_background->back_color.a = 0.5f;
|
||||||
|
|
||||||
m_list = std::make_unique<list_view>(1240, 540);
|
m_list = std::make_unique<list_view>(virtual_width - 2 * 20, 540);
|
||||||
m_list->set_pos(20, 85);
|
m_list->set_pos(20, 85);
|
||||||
|
|
||||||
m_description = std::make_unique<label>();
|
m_description = std::make_unique<label>();
|
||||||
|
|
|
@ -70,11 +70,11 @@ void main_application::OnEmuSettingsChange()
|
||||||
{
|
{
|
||||||
if (g_cfg.misc.prevent_display_sleep)
|
if (g_cfg.misc.prevent_display_sleep)
|
||||||
{
|
{
|
||||||
enable_display_sleep();
|
disable_display_sleep();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
disable_display_sleep();
|
enable_display_sleep();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -83,14 +83,7 @@ void main_application::OnEmuSettingsChange()
|
||||||
if (!Emu.IsStopped())
|
if (!Emu.IsStopped())
|
||||||
{
|
{
|
||||||
// Force audio provider
|
// Force audio provider
|
||||||
if (Emu.IsVsh())
|
g_cfg.audio.provider.set(Emu.IsVsh() ? audio_provider::rsxaudio : audio_provider::cell_audio);
|
||||||
{
|
|
||||||
g_cfg.audio.provider.set(audio_provider::rsxaudio);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
g_cfg.audio.provider.set(audio_provider::cell_audio);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
audio::configure_audio();
|
audio::configure_audio();
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue