textinput/peninputarc/src/peninputlayoutcontrol/peninputlayoutpopupwnd.cpp
branchRCL_3
changeset 6 6ceef9a83b1a
parent 0 eb1f2e154e89
child 12 5e18d8c489d6
equal deleted inserted replaced
5:a47de9135b21 6:6ceef9a83b1a
   285     offsetRect.Move( ptLayout );
   285     offsetRect.Move( ptLayout );
   286     
   286     
   287     switch( aDisPostion )
   287     switch( aDisPostion )
   288         {
   288         {
   289         case EDispBottomRight:
   289         case EDispBottomRight:
   290             rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iBr.iY ), szPopup );
   290             rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iBr.iY ), szPopup );            
   291             if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight )
   291             if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight )
   292                 {
   292                 {
   293                 //we need move x also
   293                 rtPopup.Move( 0, ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
   294                 rtPopup.Move( aOffsetRect.Width(), 
   294                 }            
   295                               ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
       
   296                 }
       
   297             if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth )
   295             if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth )
   298                 {
   296                 {
   299                 rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 );
   297                 rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 );
   300                 }
   298                 }
   301             break;
   299             break;
   302         case EDispBottomLeft:
   300         case EDispBottomLeft:
   303             rtPopup.SetRect( TPoint( offsetRect.iBr.iX - szPopup.iWidth, offsetRect.iBr.iY), 
   301             rtPopup.SetRect( TPoint( offsetRect.iBr.iX - szPopup.iWidth, offsetRect.iBr.iY), 
   304                              szPopup );
   302                              szPopup );
   305             if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight )
   303             if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight )
   306                 {
   304                 {
   307                 //we need move x also
   305                 //we need move the pop wnd up to ensure it not to be out of screen
   308                 rtPopup.Move( aOffsetRect.Width(), 
   306                 rtPopup.Move( 0, ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
   309                               ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY );
       
   310                 }
   307                 }
   311             if( rtPopup.iTl.iX < 0 )
   308             if( rtPopup.iTl.iX < 0 )
   312                 {
   309                 {
   313                 rtPopup.Move ( -rtPopup.iTl.iX, 0 );
   310                 rtPopup.Move ( -rtPopup.iTl.iX, 0 );
   314                 }
   311                 }
   315             break;
   312             break;
   316         case EDispTopRight:
   313         case EDispTopRight:
   317             rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iTl.iY - szPopup.iHeight ), 
   314             rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iTl.iY - szPopup.iHeight ), 
   318                              szPopup );
   315                              szPopup );            
   319             if( rtPopup.iTl.iY < 0 )
   316             if( rtPopup.iTl.iY < 0 )
   320                {
   317                {
   321                rtPopup.Move ( aOffsetRect.Width(), -rtPopup.iTl.iY );
   318                rtPopup.Move ( 0, -rtPopup.iTl.iY );
   322                }
   319                }                       
   323             if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth )
   320             if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth )
   324                 {
   321                 {
   325                 rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 );
   322                 rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 );
   326                 }
   323                 }
   327                
   324                
   330             rtPopup.SetRect( TPoint( offsetRect.iBr.iX - szPopup.iWidth, 
   327             rtPopup.SetRect( TPoint( offsetRect.iBr.iX - szPopup.iWidth, 
   331                                      offsetRect.iTl.iY - szPopup.iHeight ), szPopup );
   328                                      offsetRect.iTl.iY - szPopup.iHeight ), szPopup );
   332                                      
   329                                      
   333             if( rtPopup.iTl.iY < 0 )
   330             if( rtPopup.iTl.iY < 0 )
   334                {
   331                {
   335                rtPopup.Move ( -aOffsetRect.Width(), -rtPopup.iTl.iY );
   332                rtPopup.Move ( 0, -rtPopup.iTl.iY );
   336                }
   333                }
   337                
   334                
   338             if( rtPopup.iTl.iX < 0 )
   335             if( rtPopup.iTl.iX < 0 )
   339                 {
   336                 {
   340                 rtPopup.Move ( -rtPopup.iTl.iX, 0 );
   337                 rtPopup.Move ( -rtPopup.iTl.iX, 0 );