rendered paste bodydiff --git a/xbmc/Application.cpp b/xbmc/Application.cppindex a042e45..aac2909 100644--- a/xbmc/Application.cpp+++ b/xbmc/Application.cpp@@ -353,6 +353,8 @@ CApplication::CApplication(void) : m_itemCurrentFile(new CFileItem), m_progressT m_bEnableLegacyRes = false; m_bRunResumeJobs = false; m_bSystemScreenSaverEnable = false;++ m_screenShotFlashTime = 0; } CApplication::~CApplication(void)@@ -2049,6 +2051,7 @@ void CApplication::DoRender() } RenderScreenSaver();+ RenderScreenShotFlash(); //g_Windowing.EndRender(); g_TextureManager.FreeUnusedTextures();@@ -2061,6 +2064,23 @@ void CApplication::DoRender() g_infoManager.ResetCache(); } +#define SCREENSHOTFLASHLENGTH 7 //frames++void CApplication::SetScreenShotFlash()+{+ m_screenShotFlashTime = SCREENSHOTFLASHLENGTH;+}++void CApplication::RenderScreenShotFlash()+{+ if (m_screenShotFlashTime > 0.f)+ {+ float amount = 0.5 - 0.5*pow((m_screenShotFlashTime--)-((SCREENSHOTFLASHLENGTH+1)/2), 2)/((SCREENSHOTFLASHLENGTH/2)*(SCREENSHOTFLASHLENGTH/2));+ color_t color = (((color_t)(amount*255)) << 24) | 0xFFFFFF;+ CGUITexture::DrawQuad(CRect(0, 0, (float)g_graphicsContext.GetWidth(), (float)g_graphicsContext.GetHeight()), color);+ }+}+ static int screenSaverFadeAmount = 0; void CApplication::RenderScreenSaver()diff --git a/xbmc/Application.h b/xbmc/Application.hindex d8d4182..f775944 100644--- a/xbmc/Application.h+++ b/xbmc/Application.h@@ -275,9 +275,12 @@ public: void Minimize(); bool m_bRunResumeJobs;+ void SetScreenShotFlash(); protected: void RenderScreenSaver();+ void RenderScreenShotFlash();+ int m_screenShotFlashTime; friend class CApplicationMessenger; // screensaverdiff --git a/xbmc/Util.cpp b/xbmc/Util.cppindex dbf666b..cf91cd1 100644--- a/xbmc/Util.cpp+++ b/xbmc/Util.cpp@@ -1923,6 +1923,7 @@ void CUtil::TakeScreenshot(const CStdString &filename) free(pixels); g_graphicsContext.EndPaint();+ g_application.SetScreenShotFlash(); #endif