tvout/inc/glxhdmicontroller.h
changeset 26 c499df2dbb33
parent 24 99ad1390cd33
child 27 0d818da5a659
child 29 2c833fc9e98f
child 40 112f0ac2d1f0
equal deleted inserted replaced
24:99ad1390cd33 26:c499df2dbb33
     1 /*
       
     2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). 
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:    Handles & propogates UI state change notifications.
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef GLXHDMICONTROLLER_H_
       
    19 #define GLXHDMICONTROLLER_H_
       
    20 
       
    21 // Internal includes
       
    22 #include <mglxtvobserver.h>     // for inteface MGlxTvObserver
       
    23 
       
    24 class CGlxHdmiContainer;
       
    25 class CGlxHdmiSurfaceUpdater;
       
    26 class CGlxTv;
       
    27 
       
    28 /*
       
    29  * This class will be called from FS and Slideshow for its requirements 
       
    30  */
       
    31 class CGlxHdmiController : public CBase,
       
    32                             public MGlxTvObserver              // for TV Out
       
    33     {
       
    34 public:
       
    35     /*
       
    36      * NewLC 
       
    37      * @param1 - Image file path default to NULL
       
    38      */
       
    39     IMPORT_C static CGlxHdmiController* NewL();
       
    40 
       
    41     /*
       
    42      * Destructor
       
    43      */
       
    44     IMPORT_C ~CGlxHdmiController();
       
    45     
       
    46     /*
       
    47      * Update Image
       
    48      * @param1 - Image file path
       
    49      */
       
    50     IMPORT_C void SetImageL(const TDesC& aImageFile, TBool aStore = ETrue);
       
    51 
       
    52     /*
       
    53      * To intimate that the item is not supported.  
       
    54      */
       
    55     IMPORT_C void ItemNotSupported();
       
    56     
       
    57     /*
       
    58      * Activating zoom in posting mode 
       
    59      */
       
    60     IMPORT_C void ActivateZoom(TBool aAutoZoomOut);
       
    61     /*
       
    62      * Deactivating zoom in posting mode 
       
    63      */
       
    64     IMPORT_C void DeactivateZoom();
       
    65     
       
    66     /*
       
    67      * ShiftToCloningMode
       
    68      */
       
    69     IMPORT_C void ShiftToCloningMode();
       
    70     
       
    71     /*
       
    72      * ShiftToPostingMode
       
    73      */
       
    74     IMPORT_C void ShiftToPostingMode();
       
    75 
       
    76     /*
       
    77      * Tells if HDMi is Connected.
       
    78      */
       
    79     IMPORT_C TBool IsHDMIConnected();
       
    80 
       
    81 private:// From MGlxTvObserver
       
    82     virtual void HandleTvStatusChangedL ( TTvChangeType aChangeType );
       
    83 
       
    84 private:
       
    85     /*
       
    86      * Constructor
       
    87      */
       
    88     CGlxHdmiController();
       
    89     
       
    90     /*
       
    91      * ConstructL 
       
    92      */
       
    93     void ConstructL();
       
    94     
       
    95     /*
       
    96      * Create the Hdmi Container 
       
    97      */
       
    98     void CreateHdmiContainerL();
       
    99     
       
   100     /*
       
   101      * Create surface updater and update background surface 
       
   102      * @param1 - Image file     
       
   103      */
       
   104     void CreateSurfaceUpdaterL(const TDesC& aImageFile);
       
   105     
       
   106     /*
       
   107      * To Destroy the surface updater if present
       
   108      */
       
   109     void DestroySurfaceUpdater();
       
   110     
       
   111     /*
       
   112      * Detroy the container 
       
   113      */
       
   114     void DestroyContainer();
       
   115 
       
   116     /*
       
   117      * Stores the Image File name
       
   118      * @param1 - Image file
       
   119      */
       
   120     void StoreImageInfoL(const TDesC& aImageFile);
       
   121 
       
   122 private:
       
   123     HBufC*  iStoredImagePath;
       
   124     
       
   125     CGlxHdmiContainer*      iHdmiContainer;
       
   126     CGlxHdmiSurfaceUpdater* iSurfaceUpdater;
       
   127     CGlxTv*  iGlxTvOut;
       
   128     TBool iIsImageSupported;
       
   129 	TBool iIsPostingMode;
       
   130     };
       
   131 
       
   132 #endif /* GLXHDMICONTROLLER_H_ */