camerauis/cameraapp/generic/src/camcapturebuttoncontainer.cpp
branchRCL_3
changeset 50 f54ad444594d
parent 35 e32fcfe0045f
--- a/camerauis/cameraapp/generic/src/camcapturebuttoncontainer.cpp	Thu Jul 15 18:18:07 2010 +0300
+++ b/camerauis/cameraapp/generic/src/camcapturebuttoncontainer.cpp	Thu Aug 19 09:36:57 2010 +0300
@@ -32,7 +32,7 @@
 const TUint32 KToolbarExtensionBgColor = 0x00000000;
 const TInt KToolBarExtensionBgAlpha = 0x7F;
 const TInt KCaptureButtonOrdinalPriority( 1 );
-
+const TSize KIconMargin( 7, 7 );
 
 // -----------------------------------------------------------------------------
 // CCamCaptureButtonContainer::CCamCaptureButtonContainer
@@ -65,22 +65,41 @@
     CCamAppUi* appUi = static_cast<CCamAppUi*>( CEikonEnv::Static()->AppUi() );
 
     // Load capture icon
-    TInt bitmapId = EMbmCameraappQgn_indi_cam4_capture;
-    TInt maskId   = EMbmCameraappQgn_indi_cam4_capture_mask;
+    TInt bitmapId = EMbmCameraappQgn_indi_cam4_capture_image;
+    TInt maskId   = EMbmCameraappQgn_indi_cam4_capture_image_mask;
+    TInt bitmapPressedId = EMbmCameraappQgn_indi_cam4_capture_image_pressed;
+    TInt maskPressedId = EMbmCameraappQgn_indi_cam4_capture_image_pressed_mask;
+
     if ( iCameraMode == ECamControllerVideo )
         {
-        bitmapId = EMbmCameraappQgn_indi_cam4_video;
-        maskId   = EMbmCameraappQgn_indi_cam4_video_mask;
+        bitmapId = EMbmCameraappQgn_indi_cam4_capture_video;
+        maskId   = EMbmCameraappQgn_indi_cam4_capture_video_mask;
+        bitmapPressedId = EMbmCameraappQgn_indi_cam4_capture_video_pressed;
+        maskPressedId = EMbmCameraappQgn_indi_cam4_capture_video_pressed_mask;
         }
+    
+    iCaptureRect = aRect;
+    iCaptureRect.Move(-iCaptureRect.iTl.iX, -iCaptureRect.iTl.iY );
+    iCaptureRect.Shrink( KIconMargin );
+    
     AknIconUtils::CreateIconL(
              iCaptureIcon,
-             iCaptureMask,
+             iCaptureIconMask,
              KCamBitmapFile(),
              bitmapId,
              maskId );
-    AknIconUtils::SetSize( iCaptureIcon, KIconSize, EAspectRatioPreserved );
+    AknIconUtils::SetSize( iCaptureIcon, iCaptureRect.Size() );
+    AknIconUtils::SetSize( iCaptureIconMask, iCaptureRect.Size() );
     
-    iCaptureRect = aRect;
+    AknIconUtils::CreateIconL(
+                 iCaptureIconPressed,
+                 iCaptureIconPressedMask,
+                 KCamBitmapFile(),
+                 bitmapPressedId,
+                 maskPressedId );
+    AknIconUtils::SetSize( iCaptureIconPressed, iCaptureRect.Size() );
+    AknIconUtils::SetSize( iCaptureIconPressedMask, iCaptureRect.Size() );
+    
     iFeedback = MTouchFeedback::Instance();
     PRINT( _L("Camera <= CCamCaptureButtonContainer::ConstructL") );
     }
@@ -92,7 +111,9 @@
 CCamCaptureButtonContainer::~CCamCaptureButtonContainer()
     {
     delete iCaptureIcon;
-    delete iCaptureMask;
+    delete iCaptureIconMask;
+    delete iCaptureIconPressed;
+    delete iCaptureIconPressedMask;
     }
 
 // -----------------------------------------------------------------------------
@@ -266,31 +287,18 @@
 void CCamCaptureButtonContainer::DrawCaptureButton( CBitmapContext& aGc ) const
     {
     PRINT( _L("Camera => CCamCaptureButtonContainer::DrawCaptureButton") );
+    TRect boundingRect( iCaptureRect );
+    boundingRect.Move( -boundingRect.iTl.iX, -boundingRect.iTl.iY );
 
-    TRect boundingRect( iCaptureRect );
-    boundingRect.Move( -iCaptureRect.iTl.iX, -iCaptureRect.iTl.iY );
-    boundingRect.Shrink( KAdditionalArea );
-    
-    TPoint iconTl( boundingRect.iTl.iX + KCaptureIconDelta, 
-                   boundingRect.iTl.iY + KCaptureIconDelta );
-
-    aGc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
-    aGc.SetBrushStyle( CGraphicsContext::ESolidBrush );
-    aGc.SetPenStyle( CGraphicsContext::ENullPen );
     if ( iCaptureButtonPressed )
         {
-        aGc.SetBrushColor( KRgbBlack );
+        aGc.BitBltMasked( iCaptureRect.iTl, iCaptureIconPressed, boundingRect, iCaptureIconPressedMask, EFalse );
         }
     else
         {
-        aGc.SetBrushColor( TRgb( KToolbarExtensionBgColor, KToolBarExtensionBgAlpha ) );
-        }
-    aGc.DrawEllipse( boundingRect );
+        aGc.BitBltMasked( iCaptureRect.iTl, iCaptureIcon, boundingRect, iCaptureIconMask, EFalse );
 
-    TRect iconRect( KIconSize );
-    aGc.SetPenStyle( CGraphicsContext::ESolidPen );
-    aGc.SetBrushStyle( CGraphicsContext::ENullBrush );
-    aGc.BitBltMasked( iconTl, iCaptureIcon, iconRect, iCaptureMask, EFalse );
+        }
 
     PRINT( _L("Camera <= CCamCaptureButtonContainer::DrawCaptureButton") );
     }