textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutpopupwnd.cpp
branchRCL_3
changeset 6 6ceef9a83b1a
parent 0 eb1f2e154e89
child 12 5e18d8c489d6
--- a/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutpopupwnd.cpp	Fri Mar 12 15:44:07 2010 +0200
+++ b/textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutpopupwnd.cpp	Mon Mar 15 12:42:02 2010 +0200
@@ -287,13 +287,11 @@
     switch( aDisPostion )
         {
         case EDispBottomRight:
-            rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iBr.iY ), szPopup );
+            rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iBr.iY ), szPopup );            
             if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight )
                 {
-                //we need move x also
-                rtPopup.Move( aOffsetRect.Width(), 
-                              ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
-                }
+                rtPopup.Move( 0, ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
+                }            
             if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth )
                 {
                 rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 );
@@ -304,9 +302,8 @@
                              szPopup );
             if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight )
                 {
-                //we need move x also
-                rtPopup.Move( aOffsetRect.Width(), 
-                              ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
+                //we need move the pop wnd up to ensure it not to be out of screen
+                rtPopup.Move( 0, ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
                 }
             if( rtPopup.iTl.iX < 0 )
                 {
@@ -315,11 +312,11 @@
             break;
         case EDispTopRight:
             rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iTl.iY - szPopup.iHeight ), 
-                             szPopup );
+                             szPopup );            
             if( rtPopup.iTl.iY < 0 )
                {
-               rtPopup.Move ( aOffsetRect.Width(), -rtPopup.iTl.iY );
-               }
+               rtPopup.Move ( 0, -rtPopup.iTl.iY );
+               }                       
             if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth )
                 {
                 rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 );
@@ -332,7 +329,7 @@
                                      
             if( rtPopup.iTl.iY < 0 )
                {
-               rtPopup.Move ( -aOffsetRect.Width(), -rtPopup.iTl.iY );
+               rtPopup.Move ( 0, -rtPopup.iTl.iY );
                }
                
             if( rtPopup.iTl.iX < 0 )