idlehomescreen/xmluirendering/uiengine/inc/xnplugindata.h
branchRCL_3
changeset 93 b01126ce0bec
parent 88 3321d3e205b6
child 102 ba63c83f4716
equal deleted inserted replaced
88:3321d3e205b6 93:b01126ce0bec
    32 class CXnControlAdapter;
    32 class CXnControlAdapter;
    33 class CXnViewData;
    33 class CXnViewData;
    34 class CXnODT;
    34 class CXnODT;
    35 class CXnViewManager;
    35 class CXnViewManager;
    36 class CXnPublisherData;
    36 class CXnPublisherData;
       
    37 class CCoeControl;
    37 
    38 
    38 // Constants
    39 // Constants
       
    40 
       
    41 NONSHARABLE_STRUCT( TXnDirtyRegion )
       
    42     {
       
    43     /** Area that needs to be redrawn */
       
    44     RRegion         iRegion;      
       
    45 
       
    46     /** Window owning control 
       
    47      *  Not own.
       
    48      */
       
    49     CCoeControl*    iControl;
       
    50 
       
    51     /** Window owning node
       
    52      *  Not own.
       
    53      */
       
    54     CXnNode*        iRootNode; 
       
    55 
       
    56     /** List of currently dirty nodes */
       
    57     RPointerArray< CXnNode > iDirtyList;
       
    58 
       
    59     /** Controls layouting */
       
    60     TInt iLayoutControl;
       
    61 
       
    62     TXnDirtyRegion() : iControl( NULL ), iRootNode( NULL ), 
       
    63         iLayoutControl( 0 ) {}
       
    64 
       
    65     ~TXnDirtyRegion()
       
    66         {
       
    67         iRegion.Close();
       
    68         iDirtyList.Reset();
       
    69         }
       
    70     };
    39 
    71 
    40 // Class declaration
    72 // Class declaration
    41 
    73 
    42 /**
    74 /**
    43  * Holds plugin data in UiEngine
    75  * Holds plugin data in UiEngine
   452      * 
   484      * 
   453      * @param aStatus "none" / "locked" / "permanent"
   485      * @param aStatus "none" / "locked" / "permanent"
   454      */
   486      */
   455     void SetLockingStatus( const TDesC8& aStatus );    
   487     void SetLockingStatus( const TDesC8& aStatus );    
   456         
   488         
       
   489     /**
       
   490      * Creates dirty region.
       
   491      * 
       
   492      * @return Created dirty region.
       
   493      */
       
   494     TXnDirtyRegion* CreateDirtyRegionL( CXnNode& aRootNode, CCoeControl& aControl);
       
   495 
       
   496     /**
       
   497      * Get dirty region.
       
   498      * 
       
   499      * @return dirty region.
       
   500      */
       
   501     inline TXnDirtyRegion* DirtyRegion() const;
       
   502 
   457 protected:
   503 protected:
   458     // data
   504     // data
   459         
   505         
   460     /** Plugins data */
   506     /** Plugins data */
   461     mutable RPointerArray< CXnPluginData > iPluginsData;
   507     mutable RPointerArray< CXnPluginData > iPluginsData;
   491     HBufC8* iPluginType;
   537     HBufC8* iPluginType;
   492     /** Publisher name, Owned */
   538     /** Publisher name, Owned */
   493     HBufC* iPublisherName;
   539     HBufC* iPublisherName;
   494     /** Flags to define this plugin's state */
   540     /** Flags to define this plugin's state */
   495     TBitFlags32 iFlags;
   541     TBitFlags32 iFlags;
       
   542     /** Region pending redraw, Owned */
       
   543     TXnDirtyRegion* iDirtyRegion;
   496     };
   544     };
   497 
   545 
   498 // Inline functions
   546 // Inline functions
   499 #include "xnplugindata.inl"
   547 #include "xnplugindata.inl"
   500 
   548