idlehomescreen/xmluirendering/uiengine/inc/xnbackgroundmanager.h
branchRCL_3
changeset 12 9674c1a575e9
parent 11 ff572dfe6d86
child 17 b8fae6b8a148
equal deleted inserted replaced
11:ff572dfe6d86 12:9674c1a575e9
    44 NONSHARABLE_CLASS( CXnBackgroundManager ) : public CCoeControl,
    44 NONSHARABLE_CLASS( CXnBackgroundManager ) : public CCoeControl,
    45     public MAknsSkinChangeObserver, public MDiskNotifyHandlerCallback
    45     public MAknsSkinChangeObserver, public MDiskNotifyHandlerCallback
    46     {
    46     {
    47 public:
    47 public:
    48 
    48 
       
    49    enum WppType
       
    50         {
       
    51         ENone,
       
    52         ECommon,        
       
    53         EPageSpecific 
       
    54         };
       
    55    
    49     /**
    56     /**
    50      * Two-phased constructor.
    57      * Two-phased constructor.
    51      * @param aWrapper HSPS wrapper
    58      * @param aWrapper HSPS wrapper
    52      * @return new instance of CXnWallpaperView.
    59      * @return new instance of CXnWallpaperView.
    53      */
    60      */
    72      * Changes wallpaper image of the current page.
    79      * Changes wallpaper image of the current page.
    73      * 
    80      * 
    74      * @since S60 5.0
    81      * @since S60 5.0
    75      * @param aFileName WallpaperImage image path and filename
    82      * @param aFileName WallpaperImage image path and filename
    76      * @return Error code.
    83      * @return Error code.
    77      */            
    84      */
    78     TInt AddWallpaperL( const TDesC& aFileName );
    85     TInt AddWallpaperL( const TDesC& aFileName );
    79 
    86 
    80     /**
    87     /**
    81      * Deletes wallpaper from the given page as well as from the cache.
    88      * Deletes wallpaper from the given page as well as from the cache.
    82      * 
    89      * 
    84      * @param aViewData Page where the wallpaper is to be destroyed.
    91      * @param aViewData Page where the wallpaper is to be destroyed.
    85      */            
    92      */            
    86     void DeleteWallpaper( CXnViewData& aViewData );
    93     void DeleteWallpaper( CXnViewData& aViewData );
    87 
    94 
    88     /**
    95     /**
    89      * Checks whether page specific wallpaper feature is activated or not.
    96      * Returns wallpaper type.
    90      *  
    97      *  
    91      * @since S60 5.0
    98      * @since S60 5.0
    92      */
    99      */
    93     TBool ActivatedL();
   100     CXnBackgroundManager::WppType WallpaperType();
    94 
   101 
    95     /**
   102     /**
    96      * Shows wallpaper change dialog
   103      * Shows wallpaper change dialog
    97      * 
   104      * 
    98      * @since S60 5.0
   105      * @since S60 5.0
   104      * 
   111      * 
   105      * @since S60 5.0
   112      * @since S60 5.0
   106      * @param aOldView         Old view
   113      * @param aOldView         Old view
   107      * @param aNewView         New view 
   114      * @param aNewView         New view 
   108      */
   115      */
   109     void WallpaperChanged( CXnViewData& aOldView, CXnViewData& aNewView );
   116     void WallpaperChanged( const CXnViewData& aOldView, 
       
   117         const CXnViewData& aNewView );
       
   118     
       
   119     /**
       
   120      * Draws wallpaper immediately, or once the window comes visible.
       
   121      * 
       
   122      * @since S60 5.0
       
   123      */
       
   124     void UpdateScreen();
   110 
   125 
   111 public: // Functions from base classes    
   126 public: // Functions from base classes    
   112 
   127 
   113     /**
   128     /**
   114      * @see CCoeControl
   129      * @see CCoeControl
   170     void RemoveWallpaperFromCache( const TDesC& aFileName, CXnViewData* aViewData = NULL );
   185     void RemoveWallpaperFromCache( const TDesC& aFileName, CXnViewData* aViewData = NULL );
   171     void RemovableDiskInsertedL();
   186     void RemovableDiskInsertedL();
   172     void CheckFeatureTypeL();
   187     void CheckFeatureTypeL();
   173     TInt AddPageSpecificWallpaperL( const TDesC& aFileName );
   188     TInt AddPageSpecificWallpaperL( const TDesC& aFileName );
   174     TInt AddCommonWallpaperL( const TDesC& aFileName, TBool aSave = ETrue );
   189     TInt AddCommonWallpaperL( const TDesC& aFileName, TBool aSave = ETrue );
   175     void ReadWallpaperFromCenrepL();
   190     void ReadWallpaperFromCenrepL();    
   176     void UpdateScreen();
       
   177     void DrawEditModeBackgroundSkin() const;
   191     void DrawEditModeBackgroundSkin() const;
   178 
   192 
   179     /**
   193     /**
   180      * Callback function to be used with CPeriodic.
   194      * Callback function to be used with CPeriodic.
   181      */
   195      */
   221      * Current view rect, which is basically the whole screen.
   235      * Current view rect, which is basically the whole screen.
   222      */        
   236      */        
   223     TRect iRect;
   237     TRect iRect;
   224 
   238 
   225     /** 
   239     /** 
   226      * States whether page specific wallpaper is supported or
   240      * Stores wallpaper type. 
   227      * same wallpaper is shown in all pages.
   241      */
   228      */
   242     CXnBackgroundManager::WppType iType;
   229     TBool iFeatureSuppoted;
       
   230 
   243 
   231     /** 
   244     /** 
   232      * Internal wallpaper update in progress
   245      * Internal wallpaper update in progress
   233      */
   246      */
   234     TInt iIntUpdate;
   247     TInt iIntUpdate;