textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp
branchRCL_3
changeset 5 a47de9135b21
parent 3 f5a1e66df979
child 7 6defe5d1bd39
--- a/textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp	Fri Feb 19 23:09:27 2010 +0200
+++ b/textinput/peninputarc/src/peninputserverapp/penuiwndctrl.cpp	Fri Mar 12 15:44:07 2010 +0200
@@ -85,8 +85,10 @@
     if ( iShowPopup ) 
         {
         //layout is extended by popup
-        gc.SetClippingRect( iLayoutClipRect );
-        gc.BitBlt( aRect.iTl, iBitmap, aRect );
+        TRect rect = aRect;
+        rect.Intersection( iLayoutClipRect );        
+        TPoint pos = rect.iTl - iLayoutClipRect.iTl;
+        gc.BitBlt( pos, iBitmap, rect );
         // Add to fix NGA refresh problem
         CCoeEnv::Static()->WsSession().Flush();
         CCoeEnv::Static()->WsSession().Finish(); 
@@ -241,6 +243,11 @@
 
 void CPenUiWndCtrl::ShowPopup( const TRect& aRectInScreen, const TRect& aRectInLayout, const TRect& aLayoutTrimRect )
     {
+    TPoint offset = aLayoutTrimRect.iTl;
+    offset += Position();
+    this->SetPosition( offset );
+    this->SetSize( aLayoutTrimRect.Size() );
+    
     iPopupWnd->PopUp( aRectInScreen, aRectInLayout );
     iLayoutClipRect = aLayoutTrimRect;
     iShowPopup = ETrue;