All pastes #1715897 Raw Edit

Unnamed

public diff v1 · immutable
#1715897 ·published 2009-12-15 17:18 UTC
rendered paste body
diff --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