textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.h
branchRCL_3
changeset 12 5e18d8c489d6
parent 11 c8fb4cf7b3ae
child 13 1bbdde98cc2d
--- a/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.h	Tue May 11 16:31:42 2010 +0300
+++ b/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutbasecontrol.h	Tue May 25 13:03:44 2010 +0300
@@ -43,6 +43,8 @@
 //base control type
 typedef TInt64 TControlType;
 
+const TInt KPenInputOwnDeviceChange = -1;
+const TUint KFepCtrlExtId = 0x00000000;
 //UI layout leave code
 enum TUiLayoutErrorCode
     {
@@ -200,6 +202,64 @@
 friend class CControlGroup;    
 friend class CInsertionPoint;
 public:
+    NONSHARABLE_CLASS(CFepUiBaseCtrlExtension) : public CBase
+        {
+        public: 
+            
+        CFepUiBaseCtrlExtension();
+        
+        /**
+         * Set Tactile Feedback Type
+         * Advanced Tactile feedback REQ417-47932
+         */
+        void SetTactileFeedbackType(TInt aTactileType);
+        
+        /**
+        * Return tactile feedback type
+        *
+        * Advanced Tactile feedback REQ417-47932
+        * @return the tactile feedback type
+        */  
+        IMPORT_C TInt TactileFeedbackType();
+public:
+            TBool iExtResponseAreaActive;
+            TRect iExtResponseArea;
+            TBool iExtResponseAreaEnabled;
+            TRect  iExtResponseAreaMargin;
+                
+        private:
+        /**
+         * Tactile Feedback type
+         */
+        TInt iTactileType;    
+
+        public:
+            ~CFepUiBaseCtrlExtension();
+            CFbsBitmap* Bitmap() { return iBitmap;}
+            CFbsBitmap* MaskBitmap() { return iMaskBitmap;}
+            CFbsBitGc* Gc() { return iGc;}
+            CFbsBitmapDevice* BitmapDevice() { return iBitmapDevice;}
+            CFbsBitmapDevice* MaskBitmapDevice() { return iMaskBitmapDevice;}
+
+            void SetBitmap(CFbsBitmap* aBmp) { iBitmap = aBmp;}
+            void SetGc(CFbsBitGc* aGc) { iGc = aGc;}
+            void SetBmpDevice(CFbsBitmapDevice* aDevice) { iBitmapDevice = aDevice;}
+            void SetMaskBmpDevice(CFbsBitmapDevice* aDevice) { iMaskBitmapDevice = aDevice;}
+            
+        private:
+            CFbsBitmap* iBitmap; // not own, don't delete
+            CFbsBitmap* iMaskBitmap; // not own, don't delete
+            /** 
+             * graphic context
+             * Not own
+             */    
+            CFbsBitGc* iGc;
+            CFbsBitmapDevice* iBitmapDevice;
+            CFbsBitmapDevice* iMaskBitmapDevice;
+friend class CFepUiBaseCtrl;            
+        };
+		
+public:
     enum TZOrder
         {
         EOrderBackground = 1500, //order for background control
@@ -765,7 +825,7 @@
      * @param aRect the rect to be flushed in screen
      * @param aUpdateFlag ETrue if full update.
      */
-    IMPORT_C void UpdateArea(const TRect& aRect,TBool aUpdateFlag= EFalse); 
+    IMPORT_C virtual void UpdateArea(const TRect& aRect,TBool aUpdateFlag= EFalse); 
 
     /**
      * Update layout area immediately
@@ -986,28 +1046,28 @@
      * @since S60 V4.0
      * @return The graphic context
      */
-    inline CBitmapContext* BitGc();
+    IMPORT_C CBitmapContext* BitGc();
 
     /**
      * get Bitmap device for sprite or window
      * @since S60 V4.0
      * @return The bitmap device
      */
-    inline CFbsBitmapDevice* BitmapDevice();
+    IMPORT_C CFbsBitmapDevice* BitmapDevice();
 
     /**
      * get Mask bitmap device for sprite or window
      * @since S60 V4.0
      * @return The mask bitmap device
      */
-    inline CFbsBitmapDevice* MaskBitmapDevice();
+    IMPORT_C CFbsBitmapDevice* MaskBitmapDevice();
     
     /**
      * get control background mask bmp
      * @since S60 V4.0
      * @return The background mask bitmap
      */
-    inline CFbsBitmap* BkMaskBmp();
+    IMPORT_C CFbsBitmap* BkMaskBmp();    
     
     /**
      * get control background  bmp
@@ -1172,6 +1232,9 @@
     virtual IMPORT_C void GraphicDeviceSizeChanged();
     
     inline void SetHidenFlag(TBool aFlag);
+    void CreateOwnDeviceL(CFbsBitmap* aBmp, CFbsBitmap* aMaskBmp = 0);
+    
+    void ResizeDeviceL();
 private:
     /**
      * Draw shadow bitmap
@@ -1369,39 +1432,8 @@
     
     TInt iOrdinalPos;
 
-private:    
-    NONSHARABLE_CLASS(CFepUiBaseCtrlExtension) : public CBase
-        {
-        public: 
-            
-        CFepUiBaseCtrlExtension();
-        
-        /**
-         * Set Tactile Feedback Type
-         * Advanced Tactile feedback REQ417-47932
-         */
-        void SetTactileFeedbackType(TInt aTactileType);
-        
-        /**
-        * Return tactile feedback type
-        *
-        * Advanced Tactile feedback REQ417-47932
-        * @return the tactile feedback type
-        */  
-        IMPORT_C TInt TactileFeedbackType();
-        public:
-            TBool iExtResponseAreaActive;
-            TRect iExtResponseArea;
-            TBool iExtResponseAreaEnabled;
-            TRect  iExtResponseAreaMargin;
-            
-        private:
-            /**
-             * Tactile Feedback type
-             */
-            TInt iTactileType;
-        };    
-private:
+    //class CFepUiBaseCtrlExtension;
+
     /**
      * Reservered
      */