textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutbubblectrl.cpp
branchRCL_3
changeset 15 6c2c2d3ab788
parent 12 5e18d8c489d6
child 16 857bebeecec0
equal deleted inserted replaced
12:5e18d8c489d6 15:6c2c2d3ab788
   109 
   109 
   110     if(iFreeze)
   110     if(iFreeze)
   111         {
   111         {
   112         iShowing = ETrue;              
   112         iShowing = ETrue;              
   113         SetHidenFlag(EFalse);   
   113         SetHidenFlag(EFalse);   
       
   114         /*
   114         if(UiLayout()->NotDrawToLayoutDevice())
   115         if(UiLayout()->NotDrawToLayoutDevice())
   115             {
   116             {
   116             struct SData
   117             struct SData
   117                 {
   118                 {
   118                 TRect rr;
   119                 TRect rr;
   122             data.flag = ETrue;
   123             data.flag = ETrue;
   123             TPtrC ptr;
   124             TPtrC ptr;
   124             ptr.Set(reinterpret_cast<const TUint16*>(&data),sizeof(data)/sizeof(TUint16));
   125             ptr.Set(reinterpret_cast<const TUint16*>(&data),sizeof(data)/sizeof(TUint16));
   125         
   126         
   126             UiLayout()->SignalOwner(ESignalPopupArea,ptr);
   127             UiLayout()->SignalOwner(ESignalPopupArea,ptr);
   127             }     
   128             }  
       
   129         */
   128         return;
   130         return;
   129         }
   131         }
   130     if(!iShowing || aRect != Rect() || iNeedRedraw)
   132     if( !iShowing || iNeedRedraw )
   131         {
   133         {
   132         iShowing = ETrue;  
   134         iShowing = ETrue;  
   133         TRect rect = Rect();
   135         TRect rect = Rect();
   134         SetRect(aRect);
   136         //SetRect(aRect);
   135         SetHidenFlag(EFalse);        
   137         SetHidenFlag(EFalse);        
   136         BringToTop();
   138         BringToTop();
       
   139         
       
   140         /*
   137         //redraw the control under bubble control
   141         //redraw the control under bubble control
   138         if(aRect != rect)        
   142         if(aRect != rect)        
   139             {
   143             {
   140             // signal the server to remove the pop area added before since the rect 
   144             // signal the server to remove the pop area added before since the rect 
   141 			// has been changed
   145 			// has been changed
   158 			    {
   162 			    {
   159 				//redraw the control under bubble control
   163 				//redraw the control under bubble control
   160 				RootControl()->ReDrawRect(rect); 
   164 				RootControl()->ReDrawRect(rect); 
   161 				}
   165 				}
   162             }
   166             }
   163 		
   167             */
       
   168 		/*
   164         // signal server to add the pop area		
   169         // signal server to add the pop area		
   165         if(UiLayout()->NotDrawToLayoutDevice())
   170         if(UiLayout()->NotDrawToLayoutDevice())
   166             {
   171             {
   167             struct SData
   172             struct SData
   168                 {
   173                 {
   175             TPtrC ptr;
   180             TPtrC ptr;
   176             ptr.Set(reinterpret_cast<const TUint16*>(&data),sizeof(data)/sizeof(TUint16));
   181             ptr.Set(reinterpret_cast<const TUint16*>(&data),sizeof(data)/sizeof(TUint16));
   177     
   182     
   178             UiLayout()->SignalOwner(ESignalPopupArea,ptr);
   183             UiLayout()->SignalOwner(ESignalPopupArea,ptr);
   179             }
   184             }
       
   185             */
   180         
   186         
   181 		// signal server to copy the background as background bitmap for its own bitmap
   187 		// signal server to copy the background as background bitmap for its own bitmap
   182         if(UiLayout()->NotDrawToLayoutDevice())
   188         if(UiLayout()->NotDrawToLayoutDevice())
   183             {
   189             {
   184             //copy backgroud to bitmap. DrawFrame seems to have transparent effect, 
   190             //copy backgroud to bitmap. DrawFrame seems to have transparent effect, 
   580         CFepUiBaseCtrl::HandleResourceChange(aType);
   586         CFepUiBaseCtrl::HandleResourceChange(aType);
   581     }
   587     }
   582 
   588 
   583 EXPORT_C void CBubbleCtrl::SetRect(const TRect& aRect)
   589 EXPORT_C void CBubbleCtrl::SetRect(const TRect& aRect)
   584     {
   590     {
   585     if(aRect == Rect())
   591     if( aRect == Rect())
       
   592         {
   586         return;
   593         return;
       
   594         }
       
   595     else
       
   596         {
       
   597         if( UiLayout()->NotDrawToLayoutDevice())
       
   598             {
       
   599             struct SData
       
   600                 {
       
   601                 TRect rr;
       
   602                 TBool flag;
       
   603                 } data;
       
   604         
       
   605             // Remove the original region from list
       
   606             data.rr = Rect();
       
   607             data.flag = EFalse;
       
   608             TPtrC ptrForRemove;
       
   609             ptrForRemove.Set( 
       
   610                     reinterpret_cast<const TUint16*>(&data),sizeof(data)/sizeof(TUint16));
       
   611             UiLayout()->SignalOwner( ESignalPopupArea, ptrForRemove );
       
   612             
       
   613             // Add the new region to list
       
   614             data.rr = aRect;
       
   615             data.flag = ETrue;
       
   616             TPtrC ptrForAdd;
       
   617             ptrForAdd.Set( 
       
   618                     reinterpret_cast<const TUint16*>(&data),sizeof(data)/sizeof(TUint16));
       
   619             UiLayout()->SignalOwner( ESignalPopupArea, ptrForAdd );
       
   620             }
       
   621         }
   587     CFepUiBaseCtrl::SetRect(aRect);
   622     CFepUiBaseCtrl::SetRect(aRect);
   588     ResizeDeviceL();
   623     ResizeDeviceL();
   589     }
   624     }
   590 
   625 
   591 // ---------------------------------------------------------------------------
   626 // ---------------------------------------------------------------------------