javauis/lcdui_akn/lcdui/src/CMIDTextEditorEdwin.cpp
branchRCL_3
changeset 18 9ac0a0a7da70
parent 17 0fd27995241b
child 21 4376525cdefb
equal deleted inserted replaced
17:0fd27995241b 18:9ac0a0a7da70
    35 // ---------------------------------------------------------------------------
    35 // ---------------------------------------------------------------------------
    36 // CMIDTextEditorEdwin::CMIDTextEditorEdwin
    36 // CMIDTextEditorEdwin::CMIDTextEditorEdwin
    37 // ---------------------------------------------------------------------------
    37 // ---------------------------------------------------------------------------
    38 //
    38 //
    39 CMIDTextEditorEdwin::CMIDTextEditorEdwin(CMIDEdwinUtils& aEdwinUtils)
    39 CMIDTextEditorEdwin::CMIDTextEditorEdwin(CMIDEdwinUtils& aEdwinUtils)
    40         : CEikEdwin(),
    40     : CEikEdwin(),
    41         iMultiline(EFalse),
    41       iMultiline(EFalse),
    42         iCursorPosForAction(KErrNotFound),
    42       iCursorPosForAction(KErrNotFound),
    43         iEdwinUtils(aEdwinUtils)
    43       iEdwinUtils(aEdwinUtils)
    44 {
    44 {
    45     DEBUG("CMIDTextEditorEdwin::CMIDTextEditorEdwin +");
    45     DEBUG("CMIDTextEditorEdwin::CMIDTextEditorEdwin +");
    46 
    46 
    47     // Set margins to zero
    47     // Set margins to zero
    48     TMargins8 margins;
    48     TMargins8 margins;
   245     // Note that in order this to work, the background drawing of CEikEdwin
   245     // Note that in order this to work, the background drawing of CEikEdwin
   246     // needs to be suppressed. Custom drawer cannot be used due to flickering
   246     // needs to be suppressed. Custom drawer cannot be used due to flickering
   247     // problems. Currently it just handles the selection color.
   247     // problems. Currently it just handles the selection color.
   248     CWindowGc& gc = SystemGc();
   248     CWindowGc& gc = SystemGc();
   249 
   249 
       
   250     // If scaling is on, clip to canvas rect is needed.
       
   251     if (iIsScalingOn)
       
   252     {
       
   253         gc.SetClippingRect(iOnScreenCanvasRect);
       
   254     }
       
   255 
   250     // Draw background with alpha.
   256     // Draw background with alpha.
   251     gc.SetBrushColor(iBackgroundColor);
   257     gc.SetBrushColor(iBackgroundColor);
   252     gc.Clear(aRect);
   258     gc.Clear(aRect);
   253 
   259 
   254     // Now draw the content of the editor.
   260     // Now draw the content of the editor.
   255     CEikEdwin::Draw(aRect);
   261     CEikEdwin::Draw(aRect);
       
   262 
       
   263     // cancel of clip
       
   264     if (iIsScalingOn)
       
   265     {
       
   266         gc.CancelClippingRect();
       
   267     }
   256 
   268 
   257     // Part of transparency workaround. Set drawing not active.
   269     // Part of transparency workaround. Set drawing not active.
   258     iDrawInvoked = EFalse;
   270     iDrawInvoked = EFalse;
   259 
   271 
   260     DEBUG("CMIDTextEditorEdwin::Draw -");
   272     DEBUG("CMIDTextEditorEdwin::Draw -");