From ac21d2e84d7f7f70fa427c207c91edc281d18410 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Fri, 27 May 2016 20:53:58 -0700 Subject: [PATCH] Clean up save state preview fade. Now it mostly matches the save slot text fade. --- UI/EmuScreen.cpp | 10 ++++++++-- UI/NativeApp.cpp | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/UI/EmuScreen.cpp b/UI/EmuScreen.cpp index 960591577e..b95c4880ed 100644 --- a/UI/EmuScreen.cpp +++ b/UI/EmuScreen.cpp @@ -811,8 +811,14 @@ void EmuScreen::update(InputState &input) { } } - if (time_now_d() - saveStatePreviewShownTime_ > 2 && saveStatePreview_->GetVisibility() == UI::V_VISIBLE) { - saveStatePreview_->SetVisibility(UI::V_GONE); + if (saveStatePreview_->GetVisibility() == UI::V_VISIBLE) { + double endTime = saveStatePreviewShownTime_ + 2.0; + float alpha = clamp_value((endTime - time_now_d()) * 4.0, 0.0, 1.0); + saveStatePreview_->SetColor(colorAlpha(0x00FFFFFF, alpha)); + + if (time_now_d() - saveStatePreviewShownTime_ > 2) { + saveStatePreview_->SetVisibility(UI::V_GONE); + } } } } diff --git a/UI/NativeApp.cpp b/UI/NativeApp.cpp index 0698572833..9d0344eb74 100644 --- a/UI/NativeApp.cpp +++ b/UI/NativeApp.cpp @@ -769,7 +769,8 @@ void HandleGlobalMessage(const std::string &msg, const std::string &value) { if (msg == "savestate_displayslot") { I18NCategory *sy = GetI18NCategory("System"); std::string msg = StringFromFormat("%s: %d", sy->T("Savestate Slot"), SaveState::GetCurrentSlot() + 1); - osm.Show(msg); + // Show for the same duration as the preview. + osm.Show(msg, 2.0f); } }