textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutpopupwnd.h
branchRCL_3
changeset 12 5e18d8c489d6
parent 0 eb1f2e154e89
child 20 ebd48d2de13c
--- a/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutpopupwnd.h	Tue May 11 16:31:42 2010 +0300
+++ b/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutpopupwnd.h	Tue May 25 13:03:44 2010 +0300
@@ -19,6 +19,7 @@
 #define C_CFEPLAYOUTPOPUPWND_H
 
 #include <peninputlayoutctrlgroup.h>
+#include <gdi.h>
 /**
  *  CButtonBase
  *
@@ -29,6 +30,34 @@
  */
 class CFepLayoutPopupWnd : public CControlGroup
     {
+private:
+    class CPopupWndExt : public CBase
+        {
+        public:
+            CFbsBitmap* BackupBitmap(){ return iBitmap;}
+            CFbsBitGc* BackupGc() { return iGc;}
+            CFbsBitmapDevice* BackupDevice() { return iBitmapDevice;}
+            void SetRect(const TRect& aRect);
+            TRect Rect() { return iRect;}
+            
+            static CPopupWndExt* NewL();
+            void ContructBkDeviceL(const TSize& aSize,const TDisplayMode& aMode);
+
+            ~CPopupWndExt() 
+                {
+                delete iBitmapDevice;
+                delete iGc;
+                delete iBitmap;
+                }
+        private:
+            void ResizeBackupDeviceL(const TSize& s);
+        private:
+            CFbsBitmap* iBitmap;
+            CFbsBitGc* iGc;
+            CFbsBitmapDevice* iBitmapDevice;
+            TRect iRect;
+
+        };
 public: 
     enum TDisplayPosition
         {
@@ -96,6 +125,7 @@
     IMPORT_C virtual void OnDeActivate();
     
     IMPORT_C void ReDrawRect(const TRect& aRect);
+    IMPORT_C void HandleResourceChange(TInt aType);
 protected:
 	
     /**
@@ -130,6 +160,8 @@
      * @since S60 V4.0        
      */           	
 	IMPORT_C virtual void OnDisplay(); 
+	void DisableDrawingInGroup();
+	void EnableDrawingInGroup();
 private:    
 	/*
 	 * Flag tells whether the pop up window is shown
@@ -164,7 +196,7 @@
     /**
      * Reserved item2
      */
-     TInt iReserved2;	       	 
+     CPopupWndExt* iExt;
     };
 
 #endif //C_CFEPLAYOUTPOPUPWND_H
\ No newline at end of file