tvout/inc/glxhdmisurfaceupdater.h
changeset 24 99ad1390cd33
parent 23 74c9f037fd5d
equal deleted inserted replaced
23:74c9f037fd5d 24:99ad1390cd33
    40 public:
    40 public:
    41     /*
    41     /*
    42      * 
    42      * 
    43      */
    43      */
    44     static CGlxHdmiSurfaceUpdater* NewL(RWindow* aWindow, const TDesC& aImageFile, 
    44     static CGlxHdmiSurfaceUpdater* NewL(RWindow* aWindow, const TDesC& aImageFile, 
    45             TSize aImageDimensions, TInt aFrameCount, MGlxGenCallback* aCallBack);
    45                                          MGlxGenCallback* aCallBack);
    46     
    46     
    47     /*
    47     /*
    48      * destructor
    48      * destructor
    49      */
    49      */
    50     ~CGlxHdmiSurfaceUpdater();
    50     ~CGlxHdmiSurfaceUpdater();
       
    51     
    51 public:
    52 public:
    52     /*
    53     /*
    53      * This is to cancel the active object from decoding 
    54      * This is to cancel the active object from decoding 
    54      */
    55      */
    55     void HandleRunL(TRequestStatus& aStatus);
    56     void HandleRunL(TRequestStatus& aStatus);
    56 
    57 
    57     /*
    58     /*
    58      * This updates the new image.
    59      * This updates the new image.
    59      */
    60      */
    60     void UpdateNewImageL(const TDesC& aImageFile, 
    61     void UpdateNewImageL(const TDesC& aImageFile);
    61             TInt aFrameCount,TSize aImageDimensions);
       
    62     
    62     
    63     /*
    63     /*
    64      * Activate Zoom 
    64      * Activate Zoom 
    65      */
    65      */
    66     void ActivateZoom();
    66     void ActivateZoom(TBool aAutoZoomOut);
    67     /*
    67     /*
    68     * Deactivate Zoom 
    68     * Deactivate Zoom 
    69     */
    69     */
    70     void DeactivateZoom();
    70     void DeactivateZoom();
    71     /*
    71     /*
    86 private:
    86 private:
    87     /*
    87     /*
    88      * Ctor 
    88      * Ctor 
    89      */
    89      */
    90     CGlxHdmiSurfaceUpdater(RWindow* aWindow, const TDesC& aImageFile,
    90     CGlxHdmiSurfaceUpdater(RWindow* aWindow, const TDesC& aImageFile,
    91             TSize aOrigImageDimensions, TInt aFrameCount, MGlxGenCallback* aCallBack);
    91                             MGlxGenCallback* aCallBack);
    92     
    92     
    93     /*
    93     /*
    94      * ConstructL()
    94      * ConstructL()
    95      */
    95      */
    96     void ConstructL(TSize aImageDimensions);   
    96     void ConstructL();   
    97     
    97     
    98     /*
    98     /*
    99      * Create a New surface with given size
    99      * Create a New surface with given size
   100      */
   100      */
   101     void CreateSurfaceL();
   101     void CreateSurfaceL();
   121     void ReleaseContent();
   121     void ReleaseContent();
   122     
   122     
   123     /*
   123     /*
   124      * Create bitmap  
   124      * Create bitmap  
   125      */
   125      */
   126     void CreateBitmapAndStartDecodingL();
   126     void CreateBitmapL();
   127     
   127     
   128     /*
   128     /*
   129      * Create an image decoder with given file
   129      * Create an image decoder with given file
   130      * @param1 - Image file 
   130      * @param1 - Image file 
   131      */
   131      */
   142 	
   142 	
   143 	/*
   143 	/*
   144 	* ModifySurface positions of the surface to be displayed on screen
   144 	* ModifySurface positions of the surface to be displayed on screen
   145 	*/
   145 	*/
   146 	void ModifySurfacePostion();
   146 	void ModifySurfacePostion();
   147 	
       
   148     static TInt TimerCallbackL(TAny* aThis);
       
   149     
       
   150     /*
       
   151      * 
       
   152      */
       
   153     void ProcessTimerEventL();
       
   154 
       
   155     /*
       
   156 	 * 
       
   157 	 */
       
   158 	void ProcessTvImageL();
       
   159 private:
   147 private:
   160     RWindow* iWindow;
   148     RWindow* iWindow;
   161     const TDesC& iImagePath;
   149     const TDesC& iImagePath;
   162     TSize iOrigImageDimensions;
       
   163     TInt iFrameCount;
       
   164     MGlxGenCallback* iCallBack;
   150     MGlxGenCallback* iCallBack;
   165 
   151 
   166     // GCE Surface
   152     // GCE Surface
   167     RSurfaceUpdateSession iSurfUpdateSession;
   153     RSurfaceUpdateSession iSurfUpdateSession;
   168     TSurfaceId              iSurfId;                // TSurfaceId                             
   154     TSurfaceId              iSurfId;                // TSurfaceId                             
   170     RChunk*                 iSurfChunk;             // RChunk
   156     RChunk*                 iSurfChunk;             // RChunk
   171     TInt                    iSurfaceStride;         // surface stride
   157     TInt                    iSurfaceStride;         // surface stride
   172     TSurfaceConfiguration   iConfig;                // surface configuration for zoom
   158     TSurfaceConfiguration   iConfig;                // surface configuration for zoom
   173     
   159     
   174     TSize               iZoomRectSz ;
   160     TSize               iZoomRectSz ;
   175     CFbsBitmap*         iDecodedBitmap[15];             //Decoded bitmap of the focussed image
   161     CFbsBitmap*         iDecodedBitmap;             //Decoded bitmap of the focussed image
   176     
   162     
   177     void*               iSurfBuffer;               // Surface buffer
   163     void*               iSurfBuffer;               // Surface buffer
   178     CGlxActiveCallBack* iSurfBufferAO;             // Surface buffer AO 
   164     CGlxActiveCallBack* iSurfBufferAO;             // Surface buffer AO 
   179     
   165     
   180     //ICL
   166     //ICL
   181     CGlxHdmiDecoderAO*  iGlxDecoderAO;              // Internal Image decoder AO              
   167     CGlxHdmiDecoderAO*  iGlxDecoderAO;              // Internal Image decoder AO              
   182     CImageDecoder*      iImageDecoder;              // Image Decoder
   168     CImageDecoder*      iImageDecoder;              // Image Decoder
   183     TInt                iAnimCount;                 // animation count
       
   184     RFs                 iFsSession;                 // RFs
   169     RFs                 iFsSession;                 // RFs
   185     
   170     
   186     TPoint iLeftCornerForZoom;
   171     TPoint iLeftCornerForZoom;
   187     CPeriodic* iTimer;
   172     CPeriodic* iTimer;
   188     CPeriodic* iAnimationTimer;
       
   189     TBool iZoom;
   173     TBool iZoom;
   190 	TBool iBitmapReady;
   174 	TBool iBitmapReady;
       
   175 	TBool iAutoZoomOut;
       
   176 	TBool iSurfSessionConnected;
   191 #ifdef _DEBUG
   177 #ifdef _DEBUG
   192     TTime iStartTime;
   178     TTime iStartTime;
   193     TTime iStopTime;
   179     TTime iStopTime;
   194 #endif   
   180 #endif   
   195     
   181