tvout/tvoutengine/inc/glxhdmisurfaceupdater.h
changeset 36 6481344a6d67
parent 26 c499df2dbb33
child 52 a3a4c0de738e
--- a/tvout/tvoutengine/inc/glxhdmisurfaceupdater.h	Thu May 27 12:51:42 2010 +0300
+++ b/tvout/tvoutengine/inc/glxhdmisurfaceupdater.h	Fri Jun 11 13:38:23 2010 +0300
@@ -30,7 +30,9 @@
 class CGlxActiveCallBack;
 class CGlxHdmiDecoderAO;
 class CImageDecoder;
+class CAlfCompositionSource;
 class TSurfaceConfiguration;
+
 class MGlxGenCallback
     {
 public:
@@ -44,7 +46,7 @@
      * NewL
      */
     static CGlxHdmiSurfaceUpdater* NewL(RWindow* aWindow, const TDesC& aImageFile, 
-            CFbsBitmap* aFsBitmap, MGlxGenCallback* aCallBack);
+            CFbsBitmap* aFsBitmap, MGlxGenCallback* aCallBack,TBool aEffectsOn);
 
     /*
      * Destructor
@@ -70,10 +72,6 @@
      * Deactivate Zoom 
      */
     void DeactivateZoom();
-    /*
-     * Zoom in our out depending on parameter 
-     */
-    void Zoom(TBool aZoom);
 
     /*
 	ShiftToCloningMOde
@@ -85,11 +83,18 @@
      */
     void ShiftToPostingMode();
 
+    /*
+     * Fadeing of the Surface
+     * @param1 ETrue - FadeIn ( as in gaining brightness )
+     *         EFalse - FadeOut ( as in loosing brightness ) 
+     */
+    void FadeTheSurface(TBool aFadeInOut);
+
 private:
     /*
      * Constructor 
      */
-    CGlxHdmiSurfaceUpdater(RWindow* aWindow, MGlxGenCallback* aCallBack);
+    CGlxHdmiSurfaceUpdater(RWindow* aWindow, MGlxGenCallback* aCallBack,TBool aEffectsOn);
 
     /*
      * ConstructL()
@@ -145,10 +150,20 @@
     void CreateHdmiL(TBool aCreateSurface = ETrue);
 
     /*
+     * Zoom in our out depending on parameter 
+     */
+    void Zoom(TBool aZoom);
+
+    /*
      * This if for zoom timer timeout
      */
     static TInt TimeOut(TAny* aSelf);
-
+    
+    /*
+     * Animation time out timer
+     */
+    static TInt AnimationTimeOut(TAny* aSelf);
+    
     /*
      * ModifySurface positions of the surface to be displayed on screen
      */
@@ -189,12 +204,22 @@
      */
     void InitiateHdmiL(CFbsBitmap* aFsBitmap,const TDesC& aImageFile);
 
+    /*
+     * Animate untill loop is complete 
+     */
+    void Animate();
+
 private:
-    RWindow*        iWindow;                        // window object
-    CFbsBitmap*     iFsBitmap;                      // FS bitmap
-    MGlxGenCallback* iCallBack;                     // callback to the HdmiContainer window
-    HBufC*          iImagePath;                     // To store the image uri path
+    RWindow*            iWindow;                    // window object
+    CFbsBitmap*         iFsBitmap;                  // FS bitmap
+    MGlxGenCallback*    iCallBack;                  // callback to the HdmiContainer window
+    HBufC*              iImagePath;                 // To store the image uri path
+    TBool               iEffectsOn;
 
+    TBool       iShwFsThumbnail;                    // If the Fs thumbnail is to be shown before decoding HD images
+    TBool       iIsNonJpeg;                         // If the item is non jpeg
+    TBool       iFadeIn;                            // If FadeIn or Out for only SLideshow animation
+    
     // GCE Surface
     RSurfaceUpdateSession iSurfUpdateSession;
     TSurfaceId              iSurfId;                // TSurfaceId                             
@@ -210,14 +235,18 @@
     void*               iSurfBuffer;               // Surface buffer
     CGlxActiveCallBack* iSurfBufferAO;             // Surface buffer AO 
 
+    CAlfCompositionSource* ialfCompositionSurface;
+
     //ICL
     CGlxHdmiDecoderAO*  iGlxDecoderAO;              // Internal Image decoder AO              
     CImageDecoder*      iImageDecoder;              // Image Decoder
     RFs                 iFsSession;                 // RFs
 
     TPoint      iLeftCornerForZoom;                 //  
-    CPeriodic*  iTimer;                             // Timer for Zoom   
-    
+    CPeriodic*  iTimer;                             // Timer for Zoom 
+    CPeriodic*  iAnimTimer;                         // Timer for Animation
+    TInt        iAnimCounter;
+
     // Various objects to store sizes and count
     TSize       iTvScreenSize;                      // to store the Tv screen size
     TSize       iTargetBitmapSize;                  // To Store the target bitmap size to display(as per Aspect Ratio)
@@ -227,10 +256,7 @@
     TBool       iBitmapReady;                       // If the bitmap is decoded and ready
     TBool       iAutoZoomOut;                       // If the UI has asked for auto zoomout
     TBool       iSurfSessionConnected;              // If surface session is connected
-	TBool iShiftToCloning;
-    TBool       iShwFsThumbnail;                    // If the Fs thumbnail is to be shown before decoding HD images
-    TBool       iIsNonJpeg;                         // If the item is non jpeg
-
+	TBool       iShiftToCloning;
 #ifdef _DEBUG
     TTime iStartTime;
     TTime iStopTime;