textinput/peninputcommonctrls/inc/peninputvkbctrl/peninputvkbctrllayout.h
changeset 27 694fa80c203c
parent 24 fc42a86c98e3
child 35 0f326f2e628e
equal deleted inserted replaced
24:fc42a86c98e3 27:694fa80c203c
     1 /*
       
     2 * Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0""
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  vkb layout inline function 
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 #ifndef C_CAKNFEPCTRLVKBLAYOUT_H
       
    20 #define C_CAKNFEPCTRLVKBLAYOUT_H
       
    21 
       
    22 // system includes
       
    23 #include <barsread.h>
       
    24 #include <peninputvkbctrlext.h>
       
    25 
       
    26 // forward declarations
       
    27 class CPeninputVkbLayoutInfo;
       
    28 class CPeninputVkbCtrlExt;
       
    29 
       
    30 // class declarations
       
    31 /**
       
    32  *  Basic functionality for graphic buttons
       
    33  *  It provides creation from resource and can react according to SizeChanged Msg
       
    34  *
       
    35  *  @lib fepcommonctrls.lib
       
    36  *  @since S60 v3.2
       
    37  */
       
    38 class CAknFepCtrlVkbLayout : public CBase
       
    39     {
       
    40 public: 
       
    41         
       
    42     /**
       
    43      * Two-phased constructor.
       
    44      *
       
    45      * @since S60 v3.2
       
    46      * @param aUiLayout An instance of CFepUiLayout
       
    47      * @param aControlId The control id of input range button
       
    48      * @return The pointer point to CAknFepCtrlButton type object
       
    49      */
       
    50     IMPORT_C static CAknFepCtrlVkbLayout* NewL();
       
    51         
       
    52     /**
       
    53      * Two-phased constructor.
       
    54      *
       
    55      * @since S60 v3.2
       
    56      * @param aUiLayout An instance of CFepUiLayout
       
    57      * @param aControlId The control id of input range button
       
    58      * @return The pointer point to CAknFepCtrlButton type object
       
    59      */
       
    60     IMPORT_C static CAknFepCtrlVkbLayout* NewLC();
       
    61 
       
    62     /**
       
    63      * Destructor.
       
    64      *
       
    65      * @since S60 v3.2
       
    66      */
       
    67     IMPORT_C virtual ~CAknFepCtrlVkbLayout();
       
    68 
       
    69     /**
       
    70      * This function creates the input range button from resource,
       
    71      * before calling this function, caller should set resource id of 
       
    72      * range button first
       
    73      * 
       
    74      * @since S60 v3.2
       
    75      * @return None
       
    76      */
       
    77     IMPORT_C void ConstructFromResourceL();
       
    78     
       
    79     /**
       
    80      * This function get the vkb layout info list
       
    81      *
       
    82      * @since S60 v3.2
       
    83      * @return The vkb layout info list
       
    84      */
       
    85     IMPORT_C RPointerArray<CPeninputVkbLayoutInfo> VkbLayoutInfoList();
       
    86       
       
    87     /**
       
    88      * Get virtual keyboard
       
    89      *
       
    90      * @since S60 v3.2
       
    91      * @return The pointer to CPeninputVkbCtrlExt object
       
    92      */     
       
    93     IMPORT_C void SetVkbKeyboard( CPeninputVkbCtrlExt* aVkbCtrl );
       
    94 
       
    95     /**
       
    96      * This function get the vkb layout ID
       
    97      *
       
    98      * @since S60 v3.2
       
    99      * @return The vkb layout ID
       
   100      */
       
   101     IMPORT_C void ChangeVkbLayout( TInt aVkbLayoutId );
       
   102      
       
   103     /**
       
   104      * Set resource Id
       
   105      *
       
   106      * @since S60 V4.0
       
   107      * @param aResId The resource id;
       
   108      */                
       
   109     IMPORT_C void SetResourceId(TInt32 aResId);    
       
   110     
       
   111     /**
       
   112      * Set resource Id
       
   113      *
       
   114      * @since S60 V4.0
       
   115      * @param aResId The resource id;
       
   116      */                
       
   117     IMPORT_C void SetIrregularResourceId(TInt32 aResId);
       
   118     
       
   119     /**
       
   120      * Set resource Id
       
   121      *
       
   122      * @since S60 V4.0
       
   123      * @param aResId The resource id;
       
   124      */                
       
   125     IMPORT_C void SetNonIrregularResourceId(TInt32 aResId);
       
   126 
       
   127     /**
       
   128      * This function creates the input range button from resource,
       
   129      * before calling this function, caller should set resource id of 
       
   130      * range button first
       
   131      * 
       
   132      * @since S60 v3.2
       
   133      * @return None
       
   134      */
       
   135     IMPORT_C void ConstructFromIrregularResourceL();            
       
   136     
       
   137     /**
       
   138      * This function creates the input range button from resource,
       
   139      * before calling this function, caller should set resource id of 
       
   140      * range button first
       
   141      * 
       
   142      * @since S60 v3.2
       
   143      * @return None
       
   144      */
       
   145     IMPORT_C void ConstructFromNonIrregularResourceL();   
       
   146           
       
   147     /**
       
   148      * Reset
       
   149      *
       
   150      * @since S60 V4.0
       
   151      */                
       
   152     IMPORT_C void Reset();  
       
   153     
       
   154 protected:
       
   155 
       
   156     /**
       
   157      * C++ default constructor.
       
   158      *
       
   159      * @since S60 v3.2
       
   160      * @param aUiLayout An instance of CFepUiLayout
       
   161      * @param aControlId The control id of input range button
       
   162      */
       
   163     CAknFepCtrlVkbLayout();
       
   164     
       
   165     void ConstructL();
       
   166     
       
   167 private:
       
   168 
       
   169     void CreateIrregularKeyBitmapsL(TResourceReader& reader, 
       
   170                                    TPtrC& bmpFileName, 
       
   171                                    TVirtualKeyIrregularKeyType aKeyType);
       
   172                                    
       
   173     void CreateIrregularKeyBitmapL(TResourceReader& reader, TPtrC& bmpFileName, 
       
   174                                   TVirtualKeyIrregularKeyType aKeyType ,
       
   175                                   TVirtualKeyIrregularKeyState aKeyState, 
       
   176                                   TVirtualKeyIrregularKeyState aKeyStateMask);        
       
   177 
       
   178 protected:
       
   179 
       
   180     RPointerArray<CPeninputVkbLayoutInfo> iVkbLayoutInfoList;
       
   181     
       
   182     /**
       
   183      * The first time construct flag of button
       
   184      */
       
   185     TBool iFirstTimeConstruct;
       
   186     
       
   187     /**
       
   188      * The resource Id associatied with this control
       
   189      */
       
   190     TInt32 iResourceId;
       
   191     
       
   192     /**
       
   193      * The resource Id associatied with this control
       
   194      */
       
   195     TInt32 iIrregularResId;    
       
   196 	
       
   197 	/**
       
   198      * The resource Id associatied with this control
       
   199      */
       
   200     TInt32 iNonIrregularResId;
       
   201 private:
       
   202         
       
   203     /**
       
   204      * The vkb extenting control for vkb area
       
   205      * Not own
       
   206      */
       
   207     CPeninputVkbCtrlExt* iVkbCtrl;
       
   208     
       
   209     /**
       
   210      * The vkb layout ID
       
   211      */
       
   212     TInt iVkbLayoutId;
       
   213     };    
       
   214 
       
   215 
       
   216 
       
   217 class CVirtualKey;
       
   218 
       
   219 /**
       
   220  *  Vkb key info definition
       
   221  *
       
   222  *  This class is to define key info. Application can create it from  
       
   223  *  resource file. Key info includes Unicode, begin row, end row,  
       
   224  *  begin column and end column. 
       
   225  *
       
   226  *  @lib peninputvkb.lib
       
   227  *  @since S60 v3.2
       
   228  */
       
   229 class CPeninputVkbKeyInfo : public CBase
       
   230     {
       
   231 
       
   232 public:
       
   233 
       
   234     /**
       
   235      * Two-phase constructor
       
   236      *
       
   237      * @since S60 v3.2
       
   238      * @param aReader Resource reader    
       
   239      * @return The pointer to CPeninputVkbKeyInfo object
       
   240      */
       
   241     IMPORT_C static CPeninputVkbKeyInfo* NewL( TResourceReader& aReader );
       
   242 
       
   243     /**
       
   244      * Destructor
       
   245      *
       
   246      * @since S60 v3.2
       
   247      * @return None
       
   248      */     
       
   249     IMPORT_C virtual ~CPeninputVkbKeyInfo();
       
   250 
       
   251     /**
       
   252      * Get unicode logical string
       
   253      *
       
   254      * @since S60 v3.2
       
   255      * @return unicode logical string
       
   256      */ 
       
   257     inline HBufC* Unicode() const;  
       
   258 
       
   259     /**
       
   260      * Get key's scan code
       
   261      *
       
   262      * @since S60 v3.2
       
   263      * @return Key's scan code
       
   264      */ 
       
   265     inline TInt ScanCode() const;  
       
   266     
       
   267     /**
       
   268      * Get key's begin row
       
   269      *
       
   270      * @since S60 v3.2
       
   271      * @return Key's begin row
       
   272      */       
       
   273     inline TInt BeginRow() const;
       
   274     
       
   275     /**
       
   276      * Get key's begin column
       
   277      *
       
   278      * @since S60 v3.2
       
   279      * @return Key's begin column
       
   280      */       
       
   281     inline TInt BeginColumn() const;
       
   282  
       
   283     /**
       
   284      * Get key's end row
       
   285      *
       
   286      * @since S60 v3.2
       
   287      * @return Key's end row
       
   288      */       
       
   289     inline TInt EndRow() const;
       
   290 
       
   291     /**
       
   292      * Get key's end column
       
   293      *
       
   294      * @since S60 v3.2
       
   295      * @return Key's end column
       
   296      */       
       
   297     inline TInt EndColumn() const;
       
   298 
       
   299     /**
       
   300      * Get high light bitmap index
       
   301      *
       
   302      * @since S60 v3.2
       
   303      * @return High light bitmap index
       
   304      */     
       
   305     inline TInt HighlightBmpIndex()const;
       
   306 
       
   307     /**
       
   308      * Get high light mask bitmap index
       
   309      *
       
   310      * @since S60 v3.2
       
   311      * @return High light mask bitmap index
       
   312      */     
       
   313     inline TInt HighlightMaskBmpIndex() const;    
       
   314     
       
   315     /**
       
   316      * Get virtual key
       
   317      *
       
   318      * @since S60 v3.2
       
   319      * @return The pointer to CVirtualKey object
       
   320      */     
       
   321     inline CVirtualKey* Key() const;
       
   322     
       
   323     void SetIrregularKeyType(TInt aColumns);
       
   324 
       
   325 protected:
       
   326 
       
   327     /**
       
   328      * Second phase constructor
       
   329      *
       
   330      * @since S60 v3.2
       
   331      * @param aReader Resource reader
       
   332      * @return None
       
   333      */
       
   334     void ConstructL( TResourceReader& aReader );
       
   335 
       
   336     /**
       
   337      * Contruct from resource
       
   338      *
       
   339      * @since S60 v3.2
       
   340      * @param aReader Resource reader    
       
   341      * @return None
       
   342      */    
       
   343     void ConstructFromResourceL( TResourceReader& aReader );
       
   344 
       
   345 private: 
       
   346 
       
   347     /**
       
   348      * Create key
       
   349      *
       
   350      * @since S60 v3.2
       
   351      * @return None
       
   352      */     
       
   353     void CreateKeyL();
       
   354     
       
   355     TVirtualKeyIrregularKeyType KeyTypeFromColumn(TInt aColumns);
       
   356     
       
   357 private: // data
       
   358 
       
   359     /**
       
   360      * Key unicode string
       
   361      */ 
       
   362     HBufC* iUnicode;
       
   363     
       
   364     /**
       
   365      * Scan code 
       
   366      */     
       
   367     TInt iScanCode;
       
   368     
       
   369     /**
       
   370      * Begin row
       
   371      */     
       
   372     TInt iBeginRow;
       
   373 
       
   374     /**
       
   375      * Begin column
       
   376      */     
       
   377     TInt iBeginColumn;
       
   378     
       
   379     /**
       
   380      * End row
       
   381      */     
       
   382     TInt iEndRow;
       
   383     
       
   384     /**
       
   385      * End column
       
   386      */     
       
   387     TInt iEndColumn;
       
   388     
       
   389     /**
       
   390      * High light bitmap index
       
   391      */     
       
   392     TInt iHighlightBmpIndex;
       
   393     
       
   394     /**
       
   395      * High light mask bitmap index
       
   396      */     
       
   397     TInt iHighlightMaskBmpIndex;
       
   398 
       
   399     /**
       
   400      * Virtual key 
       
   401      * Own
       
   402      */    
       
   403     CVirtualKey* iKey;
       
   404     
       
   405     };
       
   406 
       
   407 /**
       
   408  *  vkb layout definition
       
   409  *
       
   410  *  This class is to implement vkb layout. Application can create it from resource 
       
   411  *  file. This class is to control vkb interface layout. 
       
   412  *
       
   413  *  @lib peninputvkb.lib
       
   414  *  @since S60 v3.2
       
   415  */   
       
   416 class CPeninputVkbLayoutInfo : public CBase
       
   417     {
       
   418 
       
   419 public:
       
   420 
       
   421     /**
       
   422      * Two-phase constructor
       
   423      *
       
   424      * @since S60 v3.2
       
   425      * @param aReader Resource reader    
       
   426      * @return The pointer to CPeninputVkbLayoutInfo object
       
   427      */
       
   428     IMPORT_C static CPeninputVkbLayoutInfo* NewL( 
       
   429                                         TResourceReader& aReader );
       
   430 
       
   431     /**
       
   432      * Two-phase constructor
       
   433      * 
       
   434      * @since S60 v3.2
       
   435      * @param aReader Resource reader    
       
   436      * @return The pointer to CPeninputVkbLayoutInfo object
       
   437      */
       
   438     IMPORT_C static CPeninputVkbLayoutInfo* NewLC( 
       
   439                                       TResourceReader& aReader );
       
   440 
       
   441     /**
       
   442      * Get real size from vkb layout
       
   443      *
       
   444      * @since S60 v3.2
       
   445      * @param aUnitWidth Unit width    
       
   446      * @param aUnitHeight Unit height
       
   447      * @return The unit size
       
   448      */
       
   449     IMPORT_C const TSize GetRealSize( const TInt aUnitWidth, 
       
   450                                       const TInt aUnitHeight ) const;
       
   451  
       
   452     /**
       
   453      * Reset unit size 
       
   454      *
       
   455      * @since S60 v3.2
       
   456      * @param aUnitWidth Unit width
       
   457      * @param aUnitHeight Unit height
       
   458      * @param aUnitCharWidth Unit char width
       
   459      * @param aUnitCharHeight Unit char height
       
   460      * @param aCharLeftTopPoint Left top point of unit char
       
   461      * @return None
       
   462      */   
       
   463     IMPORT_C void ResetSize( const TInt aUnitWidth,
       
   464                              const TInt aUnitHeight,
       
   465                              const TInt aUnitCharWidth,
       
   466                              const TInt aUnitCharHeight,
       
   467                              const TPoint& aCharLeftTopPoint,
       
   468                              const CFont* aFont );
       
   469                              
       
   470                              
       
   471     /**
       
   472      * Reset unit size 
       
   473      *
       
   474      * @since S60 v3.2
       
   475      * @param aSize Keyboard size
       
   476      * @return None
       
   477      */   
       
   478     IMPORT_C void ResetLayoutInfo( const TSize& aSize);                             
       
   479 
       
   480 
       
   481 
       
   482     /**
       
   483      * Reset unit size 
       
   484      *
       
   485      * @since S60 v3.2
       
   486      * @param aUnitWidth Unit width
       
   487      * @param aUnitHeight Unit height
       
   488      * @param aUnitCharWidth Unit char width
       
   489      * @param aUnitCharHeight Unit char height
       
   490      * @param aCharLeftTopPoint Left top point of unit char
       
   491      * @return None
       
   492      */   
       
   493     IMPORT_C void SetKeyInfo(const TInt aRow,
       
   494                              const TInt aColumn,
       
   495                              const TRect& aKeyRect,
       
   496                              const TRect& aCharRect, 
       
   497                              const CFont* aFont );                             
       
   498 
       
   499 
       
   500 
       
   501 
       
   502     /**
       
   503      * Destructor
       
   504      *
       
   505      * @since S60 v3.2
       
   506      * @return None
       
   507      */
       
   508     IMPORT_C virtual ~CPeninputVkbLayoutInfo();
       
   509             
       
   510     /**
       
   511      * Find the key from the vkb accroding to the unicode
       
   512      *
       
   513      * @since S60 v3.2
       
   514      * @param aUnicode Unicode  
       
   515      * @return The pointer to CPeninputVkbKeyInfo object
       
   516      */    
       
   517     IMPORT_C CPeninputVkbKeyInfo* FindKey( const TInt aUnicode ) const;
       
   518 
       
   519     /**
       
   520      * Get layout id
       
   521      *
       
   522      * @since S60 v3.2
       
   523      * @return Layout id
       
   524      */
       
   525     inline TInt LayoutID() const;
       
   526 
       
   527     /**
       
   528      * Get column count 
       
   529      *
       
   530      * @since S60 v3.2
       
   531      * @return Column count
       
   532      */
       
   533     inline TInt Columns() const;
       
   534 
       
   535     /**
       
   536      * Get row count
       
   537      *
       
   538      * @since S60 v3.2
       
   539      * @return Row count 
       
   540      */
       
   541     inline TInt Rows() const;
       
   542 
       
   543     /**
       
   544      * Get the unit's width
       
   545      *
       
   546      * @since S60 v3.2
       
   547      * @return The unit's width 
       
   548      */
       
   549     inline TInt UnitWidth() const;
       
   550 
       
   551     /**
       
   552      * Get the unit's height
       
   553      *
       
   554      * @since S60 v3.2
       
   555      * @return The unit's height 
       
   556      */
       
   557     inline TInt UnitHeight() const;
       
   558 
       
   559     /**
       
   560      * Get the char's width
       
   561      *
       
   562      * @since S60 v3.2
       
   563      * @return The char's width 
       
   564      */
       
   565     inline TInt UnitCharWidth() const;
       
   566 
       
   567     /**
       
   568      * Get the char's height
       
   569      *
       
   570      * @since S60 v3.2
       
   571      * @return The char's height 
       
   572      */
       
   573     inline TInt UnitCharHeight() const;
       
   574 
       
   575     /**
       
   576      * Get the char's left top point
       
   577      *
       
   578      * @since S60 v3.2
       
   579      * @return The char's left top point 
       
   580      */
       
   581     inline TPoint CharLeftTopPoint() const;
       
   582 
       
   583     /**
       
   584      * Get the char's font
       
   585      *
       
   586      * @since S60 v3.2
       
   587      * @return The char's font 
       
   588      */
       
   589     inline const CFont* CharFont() const;
       
   590                     
       
   591     /**
       
   592      * Get background bitmap
       
   593      *
       
   594      * @since S60 v3.2
       
   595      * @return The pointer to background bitmap
       
   596      */
       
   597     inline CFbsBitmap* BgBmp() const;
       
   598 
       
   599     /**
       
   600      * Get mask bitmap
       
   601      *
       
   602      * @since S60 v3.2
       
   603      * @return The pointer to background mask bitmap
       
   604      */
       
   605     inline CFbsBitmap* BgMaskBmp() const;
       
   606 
       
   607     /**
       
   608      * Get dim bitmap
       
   609      *
       
   610      * @since S60 v3.2
       
   611      * @return The pointer to dim bitmap
       
   612      */
       
   613     inline CFbsBitmap* DimBmp() const;
       
   614 
       
   615     /**
       
   616      * Get dim mask bitmap
       
   617      *
       
   618      * @since S60 v3.2
       
   619      * @return The pointer to dim mask bitmap
       
   620      */
       
   621     inline CFbsBitmap* DimMaskBmp() const;
       
   622 
       
   623     /**
       
   624      * Get key info array 
       
   625      *
       
   626      * @since S60 v3.2
       
   627      * @return Key info array
       
   628      */
       
   629     inline RPointerArray<CPeninputVkbKeyInfo> KeyInfoList() const;
       
   630     
       
   631     /**
       
   632      * Get high light bitmap array
       
   633      *
       
   634      * @since S60 v3.2
       
   635      * @return High light bitmap array
       
   636      */
       
   637     inline RPointerArray<CFbsBitmap> HighlightBmps() const;
       
   638 
       
   639     /**
       
   640      * Get high light mask bitmap array
       
   641      *
       
   642      * @since S60 v3.2
       
   643      * @return High light mask bitmap array
       
   644      */
       
   645     inline RPointerArray<CFbsBitmap> HighlightMaskBmps() const;
       
   646 
       
   647     /**
       
   648      * Move key to certain point
       
   649      *
       
   650      * @since S60 v3.2
       
   651      * @param aTopLeft Point to move  
       
   652      * @return None
       
   653      */
       
   654     IMPORT_C void MoveKeys( const TPoint& aTopLeft );
       
   655     
       
   656     /**
       
   657      * Construct from resourcr file
       
   658      *
       
   659      * @since S60 v3.2
       
   660      * @param aReader Resource reader    
       
   661      * @return None
       
   662      */ 
       
   663     void ConstructFromResourceL( TResourceReader& aReader, 
       
   664                                  CPeninputVkbCtrlExt* aVkbCtrl = NULL, 
       
   665                                  TInt aVkbLayoutId = 0 );
       
   666     
       
   667 protected:
       
   668 
       
   669     /**
       
   670      * C++ default constructor
       
   671      *
       
   672      * @since S60 v3.2
       
   673      * @return None
       
   674      */  
       
   675     CPeninputVkbLayoutInfo();
       
   676 
       
   677     /**
       
   678      * Symbian second-phase constructor
       
   679      *
       
   680      * @since S60 v3.2
       
   681      * @param aReader Resource reader    
       
   682      * @return None
       
   683      */ 
       
   684     void ConstructL( TResourceReader& aReader );      
       
   685    
       
   686 public:
       
   687     TBool iIrregular;     
       
   688                 
       
   689 private: // data
       
   690 
       
   691     /**
       
   692      * Layout id
       
   693      */  
       
   694     TInt iLayoutID;
       
   695 
       
   696     /**
       
   697      * Column count
       
   698      */  
       
   699     TInt iColumns;
       
   700 
       
   701     /**
       
   702      * Row count 
       
   703      */  
       
   704     TInt iRows;
       
   705     
       
   706     /**
       
   707      * Unit width 
       
   708      */  
       
   709     TInt iUnitWidth;
       
   710     
       
   711     /**
       
   712      * Unit height 
       
   713      */  
       
   714     TInt iUnitHeight;
       
   715  
       
   716     /**
       
   717      * Unit char width
       
   718      */  
       
   719     TInt iUnitCharWidth;
       
   720  
       
   721     /**
       
   722      * Unit char height  
       
   723      */  
       
   724     TInt iUnitCharHeight;
       
   725     
       
   726     /**
       
   727      * Char left top point  
       
   728      */  
       
   729     TPoint iCharLeftTopPoint;
       
   730     
       
   731     /**
       
   732      * Key font  
       
   733      */  
       
   734     const CFont* iFont;
       
   735 
       
   736     /**
       
   737      * Last point
       
   738      */  
       
   739     TPoint iLastTopLeft;
       
   740 
       
   741     /**
       
   742      * Background bitmap
       
   743      * Own
       
   744      */  
       
   745     CFbsBitmap* iBgBmp;
       
   746 
       
   747     /**
       
   748      * Background mask bitmap
       
   749      * Own
       
   750      */  
       
   751     CFbsBitmap* iBgMaskBmp;
       
   752 
       
   753     /**
       
   754      * Dim bitmap
       
   755      * Own
       
   756      */  
       
   757     CFbsBitmap* iDimBmp;
       
   758 
       
   759     /**
       
   760      * Dim mask bitmap
       
   761      * Own
       
   762      */  
       
   763     CFbsBitmap* iDimMaskBmp;
       
   764 
       
   765     /**
       
   766      * Key info array
       
   767      */  
       
   768     RPointerArray<CPeninputVkbKeyInfo> iKeyInfoList;
       
   769     
       
   770     /**
       
   771      * High light bitmap array
       
   772      */  
       
   773     RPointerArray<CFbsBitmap> iHighlightBmps;
       
   774 
       
   775     /**
       
   776      * High light mask bitmap array
       
   777      */  
       
   778     RPointerArray<CFbsBitmap> iHighlightMaskBmps;
       
   779     
       
   780     };
       
   781  
       
   782 #include "peninputvkbctrllayout.inl"
       
   783 
       
   784 #endif // C_CAKNFEPCTRLVKBLAYOUT_H
       
   785             
       
   786 // End Of File