diff -r 289bbfdb6627 -r f54ad444594d camerauis/cameraapp/generic/src/camcapturebuttoncontainer.cpp --- 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( 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") ); }