src/screensaverctrlnone.cpp
branchRCL_3
changeset 15 2e08ef6b6eda
parent 11 4784a3bc2236
--- a/src/screensaverctrlnone.cpp	Tue May 11 16:14:23 2010 +0300
+++ b/src/screensaverctrlnone.cpp	Tue May 25 12:43:23 2010 +0300
@@ -94,17 +94,21 @@
     {
     SCRLOGGER_WRITEF( _L("SCR:CScreensaverCtrlNone::DrawObject start") );
     SwitchDisplayState( KDisplayOff );
-    
     SwitchLights( ESSForceLightsOff );
+    DrawNow();
     }
 
 // -----------------------------------------------------------------------------
 // CScreensaverCtrlNone::HandleResourceChange
 // -----------------------------------------------------------------------------
 //
-void CScreensaverCtrlNone::HandleResourceChange(TInt /*aType*/)
+void CScreensaverCtrlNone::HandleResourceChange(TInt aType)
     {
-    // Nothing to be implemented
+    if ( aType == KEikDynamicLayoutVariantSwitch )//&& iType != EDisplayNone)
+        {
+        // Screen layout has changed - resize
+        SetRect( iCoeEnv->ScreenDevice()->SizeInPixels() );
+        }
     }
 
 // -----------------------------------------------------------------------------
@@ -116,6 +120,23 @@
     // Nothing to be implemented
     }
 
+// ---------------------------------------------------------------------------
+// CScreensaverCtrlNone::Draw
+// ---------------------------------------------------------------------------
+//
+void CScreensaverCtrlNone::Draw( const TRect& aRect ) const
+    {
+    if ( !Model().ScreenSaverIsOn() && !Model().ScreenSaverIsPreviewing() )
+        {
+        return;
+        }
+
+    SCRLOGGER_WRITEF( _L("SCR:CScreensaverCtrlNone::Draw, screensaver is on or previewing") );
+    CWindowGc& gc = SystemGc();
+    gc.SetBrushColor( KRgbBlack );
+    gc.Clear( aRect );
+    }
+
 // -----------------------------------------------------------------------------
 // CScreensaverCtrlNone::CScreensaverCtrlNone
 // -----------------------------------------------------------------------------
@@ -130,6 +151,9 @@
 //
 void CScreensaverCtrlNone::ConstructL()
     {
+    CreateWindowL();
+    SetRect( iCoeEnv->ScreenDevice()->SizeInPixels() );
+    ActivateL();
     }
 
 // -----------------------------------------------------------------------------