mirror of
https://github.com/RetroDECK/ES-DE.git
synced 2025-02-16 20:15:38 +00:00
Decoupled screensaver and sleep mode: background jobs will only prevent sleep mode but screen saver (dimming) will still be active.
This commit is contained in:
parent
b1daeafe24
commit
329730cc3e
|
@ -203,11 +203,16 @@ void Window::render()
|
|||
}
|
||||
|
||||
unsigned int screensaverTime = (unsigned int)Settings::getInstance()->getInt("ScreenSaverTime");
|
||||
if(mTimeSinceLastInput >= screensaverTime && screensaverTime != 0 && !isProcessing() && mAllowSleep)
|
||||
if(mTimeSinceLastInput >= screensaverTime && screensaverTime != 0)
|
||||
{
|
||||
// go to sleep
|
||||
mSleeping = true;
|
||||
onSleep();
|
||||
renderScreenSaver();
|
||||
|
||||
if (!isProcessing() && mAllowSleep)
|
||||
{
|
||||
// go to sleep
|
||||
mSleeping = true;
|
||||
onSleep();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -327,9 +332,6 @@ void Window::setHelpPrompts(const std::vector<HelpPrompt>& prompts, const HelpSt
|
|||
|
||||
void Window::onSleep()
|
||||
{
|
||||
Renderer::setMatrix(Eigen::Affine3f::Identity());
|
||||
unsigned char opacity = Settings::getInstance()->getString("ScreenSaverBehavior") == "dim" ? 0xA0 : 0xFF;
|
||||
Renderer::drawRect(0, 0, Renderer::getScreenWidth(), Renderer::getScreenHeight(), 0x00000000 | opacity);
|
||||
}
|
||||
|
||||
void Window::onWake()
|
||||
|
@ -341,3 +343,10 @@ bool Window::isProcessing()
|
|||
{
|
||||
return count_if(mGuiStack.begin(), mGuiStack.end(), [](GuiComponent* c) { return c->isProcessing(); }) > 0;
|
||||
}
|
||||
|
||||
void Window::renderScreenSaver()
|
||||
{
|
||||
Renderer::setMatrix(Eigen::Affine3f::Identity());
|
||||
unsigned char opacity = Settings::getInstance()->getString("ScreenSaverBehavior") == "dim" ? 0xA0 : 0xFF;
|
||||
Renderer::drawRect(0, 0, Renderer::getScreenWidth(), Renderer::getScreenHeight(), 0x00000000 | opacity);
|
||||
}
|
||||
|
|
|
@ -43,6 +43,7 @@ private:
|
|||
|
||||
// Returns true if at least one component on the stack is processing
|
||||
bool isProcessing();
|
||||
void renderScreenSaver();
|
||||
|
||||
HelpComponent* mHelp;
|
||||
ImageComponent* mBackgroundOverlay;
|
||||
|
|
Loading…
Reference in a new issue