emailuis/emailui/src/ncseditorcustomdraw.cpp
branchRCL_3
changeset 16 b5fbb9b25d57
parent 14 b13141f05c3d
equal deleted inserted replaced
14:b13141f05c3d 16:b5fbb9b25d57
    80     const TParam& aParam,
    80     const TParam& aParam,
    81     const TRgb& aBackground,
    81     const TRgb& aBackground,
    82     TRect& aDrawn ) const
    82     TRect& aDrawn ) const
    83     {
    83     {
    84     FUNC_LOG;
    84     FUNC_LOG;
       
    85     TRect drawRect( aParam.iDrawRect );
       
    86     
    85     if ( iPrevBrX == 0 )
    87     if ( iPrevBrX == 0 )
    86         {
    88         {
    87         const_cast<CNcsEditorCustomDraw*>(this)->iPrevBrX = aParam.iDrawRect.iBr.iX;
    89         const_cast<CNcsEditorCustomDraw*>(this)->iPrevBrX = drawRect.iBr.iX;
    88         }
    90         }
    89     
    91     
    90     // draw background if text selection is ongoing
    92     // draw background if text selection is ongoing
    91     if ( iEditor->SelectionLength() )
    93     if ( !iEditor->IsPhysicsEmulationOngoing() )
    92     	{
    94     	{
    93 		iCustomDrawer->DrawBackground( aParam, aBackground, aDrawn );
    95 		iCustomDrawer->DrawBackground( aParam, aBackground, aDrawn );
    94     	}
    96     	}
    95     else
    97     else
    96     	{
    98     	{
    97         aDrawn = aParam.iDrawRect;
    99         aDrawn = aParam.iDrawRect;
    98     	}
   100     	}
    99     	
   101 
   100     if ( aParam.iDrawRect.iTl.iX < iPrevBrX )
   102     if ( drawRect.iTl.iY == 0 )
       
   103         {
       
   104         drawRect.iTl.iY = drawRect.Height() - iLineHeigth;
       
   105         }
       
   106 
       
   107     if ( drawRect.iTl.iX < iPrevBrX )
   101         {
   108         {
   102         aParam.iGc.SetPenColor( iLineColor );
   109         aParam.iGc.SetPenColor( iLineColor );
   103     
   110     
   104         TInt margin( 0 );
   111         TInt margin( 0 );
   105         if ( aParam.iDrawRect.Height() < iLineHeigth ||
   112         if ( drawRect.Height() < iLineHeigth ||
   106              aParam.iDrawRect.Height() == iLineOffset )
   113              drawRect.Height() == iLineOffset )
   107             {
   114             {
   108             margin = 1;
   115             margin = 1;
   109             }
   116             }
   110     
   117     
   111         TRect currentRect( aParam.iDrawRect.iTl , TPoint( aParam.iDrawRect.iBr.iX, aParam.iDrawRect.iTl.iY + iLineOffset - margin ));
   118         TRect currentRect( drawRect.iTl , TPoint( drawRect.iBr.iX, drawRect.iTl.iY + iLineOffset - margin ));
   112         
   119         
   113         while ( currentRect.iBr.iY <= aParam.iDrawRect.iBr.iY )
   120         while ( currentRect.iBr.iY <= drawRect.iBr.iY )
   114             {
   121             {
   115             if ( currentRect.iTl.iY >= aParam.iDrawRect.iTl.iY  )
   122             if ( currentRect.iTl.iY >= drawRect.iTl.iY  )
   116                 {
   123                 {
   117                 aParam.iGc.DrawLine( TPoint( currentRect.iTl.iX, currentRect.iBr.iY), currentRect.iBr );
   124                 aParam.iGc.DrawLine( TPoint( currentRect.iTl.iX, currentRect.iBr.iY), currentRect.iBr );
   118                 }
   125                 }
   119             currentRect.Move( 0, iLineHeigth );
   126             currentRect.Move( 0, iLineHeigth );
   120             }
   127             }
   121         const_cast<CNcsEditorCustomDraw*>(this)->iPrevBrX = aParam.iDrawRect.iBr.iX;
   128         const_cast<CNcsEditorCustomDraw*>(this)->iPrevBrX = drawRect.iBr.iX;
   122         }
   129         }
   123     }
   130     }
   124 
   131 
   125 // ---------------------------------------------------------------------------
   132 // ---------------------------------------------------------------------------
   126 // CNcsEditorCustomDraw::DrawLineGraphics
   133 // CNcsEditorCustomDraw::DrawLineGraphics