textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutvkb.h
branchRCL_3
changeset 44 ecbabf52600f
parent 43 ebd48d2de13c
child 50 5a1685599b76
--- a/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutvkb.h	Tue Aug 31 15:31:50 2010 +0300
+++ b/textinput/peninputarc/inc/peninputlayoutcontrolinc/peninputlayoutvkb.h	Wed Sep 01 12:23:33 2010 +0100
@@ -29,6 +29,7 @@
 class CBubbleCtrl;
 class CPenInputColorIcon;
    
+class MPeninputVkbPreviewBubbleRenderer;
 #define INVALID_COLOR_GROUP -1
    
 typedef struct TVirtualKeyEventData_Tag
@@ -135,6 +136,43 @@
         };
     };    
 
+class CFepUiKeyboardExt : public CBase
+    {
+public:
+    ~CFepUiKeyboardExt()
+        {
+        delete iBitmap;
+        delete iHighlightDev;
+        delete iHighlightGc;
+
+        delete iHighlightKeyBmp;
+        delete iNormalKeyBmp;
+        delete iDimmedKeyBmp;
+        delete iNormalKeyDev;
+        delete iHighlightKeyDev;
+        delete iDimmedKeyDev;
+        delete iKeyGc;
+        }
+private:
+    void CreateBmpDevL(const TDisplayMode &aMode);
+private:
+    CFbsBitmap* iBitmap;
+    CFbsBitmapDevice* iHighlightDev;
+    CFbsBitGc* iHighlightGc;
+    
+    CFbsBitmap* iHighlightKeyBmp;
+    CFbsBitmap* iNormalKeyBmp;
+    CFbsBitmap* iDimmedKeyBmp;
+
+    CFbsBitmapDevice* iNormalKeyDev;
+    CFbsBitmapDevice* iHighlightKeyDev;
+    CFbsBitmapDevice* iDimmedKeyDev;
+    CFbsBitGc* iKeyGc;
+    TBool iHighlightKeyResourceChanged;
+    TBool iNormalKeyResourceChanged;
+friend class CVirtualKeyboard;   
+    };
+
 //class CVirtualKeyboard
 /**
  *  CVirtualKeyboard
@@ -558,8 +596,19 @@
      * @param aIcon shift icon
      */ 	
 	IMPORT_C void SetShiftIcon( CPenInputColorIcon* aIcon );
+	IMPORT_C void SetStarIcon( CPenInputColorIcon* aIcon );
 	inline CPenInputColorIcon* ShiftIcon();
+	inline CPenInputColorIcon* StarIcon();
     
+	/**
+	 * Install preview bubble renderer
+	 * 
+	 * @param aRenderer Preview bubble renderer. 
+	 *  Ownership transfered(shared by all targets of aRenderer)
+	 * @return None.
+	 */
+	IMPORT_C void SetPreviewBubbleRenderer( MPeninputVkbPreviewBubbleRenderer* aRenderer );
+	
 protected:                          
 
     /**
@@ -802,12 +851,7 @@
      * Item text display color.
      */
     TRgb  iFontColor;
-    
-    /**
-     * Reserve item
-     */    
-    TInt iReserver1;
-    
+        
     TAknsItemID iKeyNormalSkinId;
     TAknsItemID iKeyHighlightSkinId;
     TAknsItemID iKeyDimSkinId;
@@ -854,6 +898,47 @@
      * The shift icon showing on the key
      */      
     CPenInputColorIcon* iShiftIcon;
+	
+	/**
+     * The star icon showing on the key
+     */      
+    CPenInputColorIcon* iStarIcon;
+	
+    MPeninputVkbPreviewBubbleRenderer* iPreviewBubbleRenderer;
+	
+    /**
+     * Reserve item
+     */    
+    CFepUiKeyboardExt* iExt;
+
+
+protected:
+    //void HandleResourceChange(TInt aType);
+    virtual IMPORT_C void HandleResourceChange(TInt aType);
+private: 
+    void CreateBmpDevL();
+    CFbsBitmap* Bitmap() { return iExt->iBitmap;}
+    CFbsBitmapDevice* HighlightDev() { return iExt->iHighlightDev;}
+    CFbsBitGc* HighlightGc() { return iExt->iHighlightGc;}
+    CFbsBitmap* NormalKeyBmp() { return iExt->iNormalKeyBmp;}
+    CFbsBitmap* HighightKeyBmp() { return iExt->iHighlightKeyBmp;}
+    CFbsBitmap* DimmedKeyBmp() { return iExt->iDimmedKeyBmp;}
+    
+    CFbsBitmapDevice* HighlightKeyDev() { return iExt->iHighlightKeyDev;}
+    CFbsBitmapDevice* NormalKeyDev() { return iExt->iNormalKeyDev;}
+    CFbsBitmapDevice* DimmedKeyDev() { return iExt->iDimmedKeyDev;}
+    CFbsBitGc* KeyGc() { return iExt->iKeyGc;}
+    
+
+    CFbsBitmap* PrepareMaskBmpL(CFbsBitGc* aGc, const TDisplayMode& aMode, const TRect& aRect);
+    CFbsBitmap* PrepareKeyBmpL(CFbsBitGc* aGc, const TDisplayMode& aMode, const TRect& aRect,
+            const TRect& aInnerRect,const TAknsItemID& aFrameID, const TAknsItemID& aCenterID, const TRect& aKeyRect);
+    
+    TBool PrepareKeyBmp(CFbsBitmap* aBmp,CFbsBitmapDevice* aDev,const TRect& aRect, 
+            const TRect& aInnerRect,const TAknsItemID& aFrameID, const TAknsItemID& aCenterID,const TRect& aKeyRect);
+    TBool PrepareHighlightKeyBmp(const TRect& aRect, const TRect& aInnerRect, const TRect& aKeyRect);
+    TBool PrepareNormalKeyBmp(const TRect& aRect, const TRect& aInnerRect, const TRect& aKeyRect);        
+
 friend class CVirtualKeyCtrl;
 friend class CVirtualRawKeyCtrl;
 //friend class CVirtualKey;