mirror of
https://github.com/RPCS3/rpcs3.git
synced 2026-03-10 07:24:54 +01:00
overlays: add fullscreen toggle to home menu
This commit is contained in:
parent
bc93fdf9f4
commit
f6429a1ae8
|
|
@ -12,6 +12,8 @@
|
|||
|
||||
extern atomic_t<bool> g_user_asked_for_recording;
|
||||
|
||||
atomic_t<bool> g_user_asked_for_fullscreen = false;
|
||||
|
||||
namespace rsx
|
||||
{
|
||||
namespace overlays
|
||||
|
|
@ -80,7 +82,7 @@ namespace rsx
|
|||
if (btn != pad_button::cross) return page_navigation::stay;
|
||||
|
||||
rsx_log.notice("User selected trophies in home menu");
|
||||
Emu.CallFromMainThread([trop_name = std::move(trop_name)]()
|
||||
Emu.CallFromMainThread([trop_name]()
|
||||
{
|
||||
if (auto manager = g_fxo->try_get<rsx::overlays::display_manager>())
|
||||
{
|
||||
|
|
@ -110,6 +112,17 @@ namespace rsx
|
|||
return page_navigation::exit;
|
||||
});
|
||||
|
||||
std::unique_ptr<overlay_element> fullscreen = std::make_unique<home_menu_entry>(get_localized_string(localized_string_id::HOME_MENU_TOGGLE_FULLSCREEN));
|
||||
add_item(fullscreen, [](pad_button btn) -> page_navigation
|
||||
{
|
||||
if (btn != pad_button::cross)
|
||||
return page_navigation::stay;
|
||||
|
||||
rsx_log.notice("User selected toggle fullscreen in home menu");
|
||||
g_user_asked_for_fullscreen = true;
|
||||
return page_navigation::stay; // No need to exit
|
||||
});
|
||||
|
||||
add_page(std::make_shared<home_menu_savestate>(x, y, width, height, use_separators, this));
|
||||
|
||||
std::unique_ptr<overlay_element> restart = std::make_unique<home_menu_entry>(get_localized_string(localized_string_id::HOME_MENU_RESTART));
|
||||
|
|
|
|||
|
|
@ -277,6 +277,7 @@ enum class localized_string_id
|
|||
HOME_MENU_RELOAD_SECOND_SAVESTATE,
|
||||
HOME_MENU_RELOAD_THIRD_SAVESTATE,
|
||||
HOME_MENU_RELOAD_FOURTH_SAVESTATE,
|
||||
HOME_MENU_TOGGLE_FULLSCREEN,
|
||||
HOME_MENU_RECORDING,
|
||||
HOME_MENU_TROPHIES,
|
||||
HOME_MENU_TROPHY_LIST_TITLE,
|
||||
|
|
|
|||
|
|
@ -51,6 +51,7 @@ LOG_CHANNEL(screenshot_log, "SCREENSHOT");
|
|||
LOG_CHANNEL(mark_log, "MARK");
|
||||
LOG_CHANNEL(gui_log, "GUI");
|
||||
|
||||
extern atomic_t<bool> g_user_asked_for_fullscreen;
|
||||
extern atomic_t<bool> g_user_asked_for_recording;
|
||||
extern atomic_t<bool> g_user_asked_for_screenshot;
|
||||
extern atomic_t<bool> g_user_asked_for_frame_capture;
|
||||
|
|
@ -840,6 +841,14 @@ void gs_frame::flip(draw_context_t, bool /*skip_frame*/)
|
|||
toggle_recording();
|
||||
});
|
||||
}
|
||||
|
||||
if (g_user_asked_for_fullscreen.exchange(false))
|
||||
{
|
||||
Emu.CallFromMainThread([this]()
|
||||
{
|
||||
toggle_fullscreen();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
bool gs_frame::can_consume_frame() const
|
||||
|
|
|
|||
|
|
@ -298,6 +298,7 @@ private:
|
|||
case localized_string_id::HOME_MENU_RELOAD_SECOND_SAVESTATE: return tr("Reload Second-To-Last Emulation State");
|
||||
case localized_string_id::HOME_MENU_RELOAD_THIRD_SAVESTATE: return tr("Reload Third-To-Last Emulation State");
|
||||
case localized_string_id::HOME_MENU_RELOAD_FOURTH_SAVESTATE: return tr("Reload Fourth-To-Last Emulation State");
|
||||
case localized_string_id::HOME_MENU_TOGGLE_FULLSCREEN: return tr("Toggle Fullscreen");
|
||||
case localized_string_id::HOME_MENU_RECORDING: return tr("Start/Stop Recording");
|
||||
case localized_string_id::HOME_MENU_TROPHIES: return tr("Trophies");
|
||||
case localized_string_id::HOME_MENU_TROPHY_LIST_TITLE: return tr("Trophy Progress: %0").arg(std::forward<Args>(args)...);
|
||||
|
|
|
|||
Loading…
Reference in a new issue