photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp
branchRCL_3
changeset 9 6b87b143d312
parent 4 57d388cc48c1
child 13 71da52165949
--- a/photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp	Tue Feb 02 10:12:14 2010 +0200
+++ b/photosgallery/viewframework/tvout/src/glxhdmicontroller.cpp	Fri Feb 19 22:51:01 2010 +0200
@@ -71,7 +71,6 @@
 		
     if (iGlxTvOut->IsHDMIConnected())
         {
-        iIsHDMIconnected = ETrue;
         if(aImageDimensions.iHeight<=KHdTvHeight && 
                 aImageDimensions.iWidth<= KHdTvWidth && aFrameCount > 0)
             {
@@ -144,6 +143,31 @@
         iSurfaceUpdater->DeactivateZoom();
         }
     }
+
+// -----------------------------------------------------------------------------
+// ShiftToCloningMode 
+// -----------------------------------------------------------------------------
+EXPORT_C void CGlxHdmiController::ShiftToCloningMode()
+    {
+    TRACER("CGlxHdmiController::ShiftToCloningMode()");
+    if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater)
+        {
+        iSurfaceUpdater->ShiftToCloningMode();
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// ShiftToPostingMode 
+// -----------------------------------------------------------------------------
+EXPORT_C void CGlxHdmiController::ShiftToPostingMode()
+    {
+    TRACER("CGlxHdmiController::ShiftToPostingMode()");
+    if (iGlxTvOut->IsHDMIConnected() && iSurfaceUpdater)
+        {
+        iSurfaceUpdater->ShiftToPostingMode();
+        }
+    }
+
 // -----------------------------------------------------------------------------
 // Constructor
 // -----------------------------------------------------------------------------
@@ -161,8 +185,6 @@
     {
     TRACER("CGlxHdmiController::ConstructL()");
     iGlxTvOut = CGlxTv::NewL(*this);
-    iIsHDMIconnected = EFalse;
-    iIsHDMIdisConnected = EFalse;
     }
 
 // -----------------------------------------------------------------------------
@@ -239,27 +261,18 @@
 void CGlxHdmiController::HandleTvStatusChangedL( TTvChangeType aChangeType )
     {
     TRACER("CGlxHdmiController::HandleTvStatusChangedL()");
-    if(iIsHDMIdisConnected)
-        {
-        iIsHDMIdisConnected = EFalse;
-        }
-    else if ( aChangeType == ETvConnectionChanged )          
+    if ( aChangeType == ETvConnectionChanged )          
         {
         if ( iGlxTvOut->IsHDMIConnected() )
             {
             GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI Connected");
             // Calling SetImageL() with appropriate parameters
-            if(!iIsHDMIconnected)
-                {
-                SetImageL(iStoredImagePath->Des(), iImageDimensions, iFrameCount, EFalse);
-                }
+            SetImageL(iStoredImagePath->Des(), iImageDimensions, iFrameCount, EFalse);
             }
         else
             {
             // if it gets disconnected, destroy the surface 
             GLX_LOG_INFO("CGlxHdmiController::HandleTvStatusChangedL() - HDMI Not Connected");
-            iIsHDMIconnected = EFalse;
-            iIsHDMIdisConnected = ETrue;
             DestroySurfaceUpdater();
             }
         }