phoneuis/BubbleManager/bmcustomization/src/telbubblecallimage.cpp
branchRCL_3
changeset 20 3c221667e687
parent 0 5f000ab63145
child 22 94dc1107e8b2
--- a/phoneuis/BubbleManager/bmcustomization/src/telbubblecallimage.cpp	Wed Jun 09 09:41:11 2010 +0300
+++ b/phoneuis/BubbleManager/bmcustomization/src/telbubblecallimage.cpp	Mon Jun 21 15:39:45 2010 +0300
@@ -21,6 +21,24 @@
 
 // ======== LOCAL FUNCTIONS ========
 
+/**
+ * Draws rounded rect. Used for drawing frame to caller image bitmap.
+ */
+void DrawRoundRect(CWindowGc& aGC, TPoint aTopLeft, TSize aSize )
+    {   
+    const TRgb white( 255, 255, 255);
+    aGC.SetPenColor( white );
+    aGC.SetPenSize( TSize( 5, 5 ) );
+    
+    TPoint bottomRight = aTopLeft + aSize;
+    TRect decoratorRect( aTopLeft, bottomRight );
+    // Make rect litle larger so that it will be outside of the caller image, 
+    // so that bitmap's corners are hidden.
+    decoratorRect.Grow( 2, 2 ); 
+    const TSize ellipsesSize( 10, 10 );
+    aGC.DrawRoundRect( decoratorRect, ellipsesSize );
+    }
+
 // ---------------------------------------------------------------------------
 // Constructor
 // ---------------------------------------------------------------------------
@@ -219,24 +237,27 @@
 //
 EXPORT_C void CTelBubbleCallImage::Draw( const TRect& /*aRect*/ ) const
     {
-    CWindowGc& gc = SystemGc();
-    
-    TPoint topLeft = IsFullScreenImage() ? Rect().iTl : iImagePlacingArea.iTl;
-    
-    
-    if ( iImage && iMask )
+    if ( iImage ) 
         {
-        gc.BitBltMasked( topLeft + iOffset,
-                         iImage, 
-                         iSourceRect, 
-                         iMask, 
-                         EFalse );
-        }
-    else if ( iImage )
-        {
-        gc.BitBlt( topLeft + iOffset, 
-                   iImage,
-                   iSourceRect );    
+        CWindowGc& gc = SystemGc();
+        const TPoint topLeft = IsFullScreenImage() ? Rect().iTl : iImagePlacingArea.iTl;
+        const TPoint bitmapTopLeft = topLeft + iOffset;
+       
+        if( iMask ) 
+            {
+            gc.BitBltMasked( bitmapTopLeft,
+                             iImage, 
+                             iSourceRect, 
+                             iMask, 
+                             EFalse );
+            }
+        else            
+            {
+            gc.BitBlt( bitmapTopLeft,
+                       iImage,
+                       iSourceRect );    
+            }
+        DrawRoundRect( gc, bitmapTopLeft, iSourceRect.Size() );
         }
     }