64 #include "camconfiguration.h" |
64 #include "camconfiguration.h" |
65 #include "CameraUiConfigManager.h" |
65 #include "CameraUiConfigManager.h" |
66 #include "camstartuplogo.h" |
66 #include "camstartuplogo.h" |
67 #include "camvfgridinterface.h" |
67 #include "camvfgridinterface.h" |
68 #include "camlinevfgriddrawer.h" |
68 #include "camlinevfgriddrawer.h" |
|
69 #include "camcapturebuttoncontainer.h" |
69 |
70 |
70 // CONSTANTS |
71 // CONSTANTS |
71 const TInt KZoomPanelTimeout = 4000000; // 4s |
72 const TInt KZoomPanelTimeout = 4000000; // 4s |
72 const TInt KReticuleFlashTimeout = 250000; // Quarter of a second (in microseconds). |
73 const TInt KReticuleFlashTimeout = 250000; // Quarter of a second (in microseconds). |
73 const TInt KAFIconCorners = 4; // Hip to be square |
74 const TInt KAFIconCorners = 4; // Hip to be square |
74 |
75 |
75 const TInt KIndicatorBlinkDelay = 250 * 1000; |
76 const TInt KIndicatorBlinkDelay = 250 * 1000; |
76 const TInt KNumberOfBlinks = 3; |
77 const TInt KNumberOfBlinks = 3; |
77 const TInt KNumberOfBlinksVideo = 8; |
78 const TInt KNumberOfBlinksVideo = 8; |
78 |
79 |
79 const TRect KIconRect(0, 0, 40, 40); |
80 const TSize KCaptureButtonSize( 50, 50 ); |
80 const TInt32 KCaptureButtonWidth( 50 ); |
81 const TSize KAdditionalArea( 25, 11 ); |
81 const TInt32 KCaptureButtonYDelta( 35 ); |
82 const TInt32 KCaptureButtonYDelta( 10 ); |
82 const TInt32 KCaptureIconDelta( 7 ); |
|
83 const TUint32 KToolbarExtensionBgColor = 0x00000000; |
|
84 const TInt KToolBarExtensionBgAlpha = 0x7F; |
|
85 |
|
86 |
83 |
87 // Snapshot data is needed in timelapse mode |
84 // Snapshot data is needed in timelapse mode |
88 const TUint KCameraEventInterest = ( ECamCameraEventClassVfControl |
85 const TUint KCameraEventInterest = ( ECamCameraEventClassVfControl |
89 | ECamCameraEventClassVfData |
86 | ECamCameraEventClassVfData |
90 | ECamCameraEventClassSsData |
87 | ECamCameraEventClassSsData |
100 // --------------------------------------------------------- |
97 // --------------------------------------------------------- |
101 // |
98 // |
102 CCamPreCaptureContainerBase::~CCamPreCaptureContainerBase() |
99 CCamPreCaptureContainerBase::~CCamPreCaptureContainerBase() |
103 { |
100 { |
104 PRINT( _L("Camera => ~CCamPreCaptureContainerBase" )) |
101 PRINT( _L("Camera => ~CCamPreCaptureContainerBase" )) |
105 |
102 |
|
103 if( iCaptureButtonContainer ) |
|
104 { |
|
105 delete iCaptureButtonContainer; |
|
106 } |
|
107 |
106 iController.ViewfinderWindowDeleted( &Window() ); |
108 iController.ViewfinderWindowDeleted( &Window() ); |
107 |
109 |
108 iController.RemoveSettingsObserver ( this ); |
110 iController.RemoveSettingsObserver ( this ); |
109 iController.RemoveCameraObserver ( this ); |
111 iController.RemoveCameraObserver ( this ); |
110 iController.RemoveControllerObserver( this ); |
112 iController.RemoveControllerObserver( this ); |
309 if (appUi->StartupLogoController()) |
311 if (appUi->StartupLogoController()) |
310 { |
312 { |
311 TRAP_IGNORE(iStartupLogo = CCamStartupLogo::NewL(*appUi->StartupLogoController(), aRect)); |
313 TRAP_IGNORE(iStartupLogo = CCamStartupLogo::NewL(*appUi->StartupLogoController(), aRect)); |
312 } |
314 } |
313 |
315 |
314 // Capture icon rectangle |
316 // Capture button container |
315 TRect containerRect = Rect(); |
317 if ( iController.UiConfigManagerPtr()->IsCustomCaptureButtonSupported() && |
316 TPoint center( containerRect.Center() ); |
318 iController.IsTouchScreenSupported() ) |
317 |
319 { |
318 iCaptureRect.SetRect( center.iX - KCaptureButtonWidth/2, |
320 TRect rect = Rect(); |
319 containerRect.iBr.iY - KCaptureButtonWidth - KCaptureButtonYDelta, |
321 TPoint center( rect.Center() ); |
320 center.iX + KCaptureButtonWidth/2, |
322 TRect captureRect; |
321 containerRect.iBr.iY - KCaptureButtonYDelta ); |
323 captureRect.SetRect( center.iX - KCaptureButtonSize.iWidth/2, |
|
324 rect.iBr.iY - KCaptureButtonSize.iHeight - KCaptureButtonYDelta, |
|
325 center.iX + KCaptureButtonSize.iWidth/2, |
|
326 rect.iBr.iY - KCaptureButtonYDelta ); |
|
327 captureRect.Grow( KAdditionalArea ); |
|
328 |
|
329 TCamCameraMode mode = ECamControllerImage; |
|
330 if ( iView.Id() == TUid::Uid( ECamViewIdVideoPreCapture ) ) |
|
331 { |
|
332 mode = ECamControllerVideo; |
|
333 } |
|
334 iCaptureButtonContainer = CCamCaptureButtonContainer::NewL( iController, iView, |
|
335 *this, captureRect, |
|
336 mode ); |
|
337 } |
322 |
338 |
323 PRINT( _L("Camera <= CCamPreCaptureContainerBase::BaseConstructL ") ); |
339 PRINT( _L("Camera <= CCamPreCaptureContainerBase::BaseConstructL ") ); |
324 } |
340 } |
325 |
341 |
326 // --------------------------------------------------------------------------- |
342 // --------------------------------------------------------------------------- |
560 TBool captureKey = IsCaptureKeyL( aKeyEvent, aType ); |
576 TBool captureKey = IsCaptureKeyL( aKeyEvent, aType ); |
561 |
577 |
562 // Stop any zooming activity if capture key detected |
578 // Stop any zooming activity if capture key detected |
563 if ( captureKey ) |
579 if ( captureKey ) |
564 { |
580 { |
565 CCamZoomPane* zoom_pane = appUi->ZoomPane(); |
581 PrepareForCapture(); |
566 |
|
567 if ( zoom_pane ) |
|
568 { |
|
569 PRINT( _L("Camera <> CCamPreCaptureContainerBase::OfferKeyEventL calling StopZoom()") ); |
|
570 zoom_pane->StopZoom(); |
|
571 } |
|
572 |
|
573 // Stop blinking icon when capture is initiated |
|
574 if ( iIndBlinkTimer && iIndBlinkTimer->IsActive() ) |
|
575 { |
|
576 iIndBlinkTimer->Cancel(); |
|
577 iDrawIndicator = ETrue; |
|
578 } |
|
579 } |
582 } |
580 TBool viewFinderRunning = iReceivedVfFrame; |
583 TBool viewFinderRunning = iReceivedVfFrame; |
581 if ( iController.UiConfigManagerPtr() && |
584 if ( iController.UiConfigManagerPtr() && |
582 ( iController.UiConfigManagerPtr()-> |
585 ( iController.UiConfigManagerPtr()-> |
583 IsDSAViewFinderSupported( ETrue ) && |
586 IsDSAViewFinderSupported( ETrue ) && |
740 break; |
744 break; |
741 } |
745 } |
742 // --------------------------------------------------- |
746 // --------------------------------------------------- |
743 case ECamEventOperationStateChanged: |
747 case ECamEventOperationStateChanged: |
744 { |
748 { |
|
749 UpdateCaptureButton(); |
|
750 |
745 if( iController.IsAppUiAvailable() && iController.UiConfigManagerPtr() |
751 if( iController.IsAppUiAvailable() && iController.UiConfigManagerPtr() |
746 && iController.UiConfigManagerPtr()->IsAutoFocusSupported() ) |
752 && iController.UiConfigManagerPtr()->IsAutoFocusSupported() ) |
747 { |
753 { |
748 // ReCheck if we have to draw the reticule. |
754 // ReCheck if we have to draw the reticule. |
749 if ( ECamControllerImage == iController.CurrentMode() ) |
755 if ( ECamControllerImage == iController.CurrentMode() ) |
750 { |
756 { |
751 iPhotoSceneUsesReticule = !iController.CurrentSceneHasForcedFocus(); |
757 iPhotoSceneUsesReticule = !iController.CurrentSceneHasForcedFocus(); |
752 HandleOperationStateChangeEventL(); |
758 HandleOperationStateChangeEventL(); |
753 } |
759 } |
754 } |
760 } |
755 iCaptureButtonShown = CaptureButtonActive(); |
|
756 break; |
761 break; |
757 } |
762 } |
758 // --------------------------------------------------- |
763 // --------------------------------------------------- |
759 case ECamEventEngineStateChanged: |
764 case ECamEventEngineStateChanged: |
760 { |
765 { |
|
766 UpdateCaptureButton(); |
|
767 |
761 PRINT1( _L("Camera <> Start mode indi blinking, op:%d"), iController.CurrentOperation() ); |
768 PRINT1( _L("Camera <> Start mode indi blinking, op:%d"), iController.CurrentOperation() ); |
762 |
769 |
763 if ( !iController.UiConfigManagerPtr()->IsCustomCaptureButtonSupported() |
770 if ( !iController.UiConfigManagerPtr()->IsCustomCaptureButtonSupported() |
764 && !iController.EngineRequestsPending() |
771 && !iController.EngineRequestsPending() |
765 && iController.TargetMode() == iController.CurrentMode() |
772 && iController.TargetMode() == iController.CurrentMode() |
1708 // Return number of child controls owned by this control |
1709 // Return number of child controls owned by this control |
1709 // ---------------------------------------------------- |
1710 // ---------------------------------------------------- |
1710 // |
1711 // |
1711 TInt CCamPreCaptureContainerBase::CountComponentControls() const |
1712 TInt CCamPreCaptureContainerBase::CountComponentControls() const |
1712 { |
1713 { |
1713 TInt count = 0; |
1714 TInt count = CCamContainerBase::CountComponentControls(); |
1714 if(iActivePalette && iActivePalette->CoeControl()->IsVisible()) |
1715 if(iActivePalette && iActivePalette->CoeControl()->IsVisible()) |
1715 { |
1716 { |
1716 count++; //Active Palette |
1717 count++; //Active Palette |
1717 } |
1718 } |
1718 |
1719 |
1719 return count; |
1720 if( iCaptureButtonContainer ) // Capture button container |
1720 } |
1721 { |
|
1722 count++; |
|
1723 } |
|
1724 PRINT1( _L("Camera <> CCamPreCaptureContainerBase::CountComponentControls %d"), count ); |
|
1725 return count; |
|
1726 } |
1721 |
1727 |
1722 // ---------------------------------------------------- |
1728 // ---------------------------------------------------- |
1723 // CCamPreCaptureContainerBase::ComponentControl |
1729 // CCamPreCaptureContainerBase::ComponentControl |
1724 // Return requested control |
1730 // Return requested control |
1725 // ---------------------------------------------------- |
1731 // ---------------------------------------------------- |
1726 // |
1732 // |
1727 CCoeControl* CCamPreCaptureContainerBase::ComponentControl( TInt aIndex ) const |
1733 CCoeControl* CCamPreCaptureContainerBase::ComponentControl( TInt aIndex ) const |
1728 { |
1734 { |
1729 CCoeControl* con = NULL; |
1735 PRINT1( _L("Camera <> CCamPreCaptureContainerBase::ComponentControl index:%d"), aIndex ); |
|
1736 CCoeControl* con = CCamContainerBase::ComponentControl( aIndex ); |
|
1737 if( con ) |
|
1738 return con; |
|
1739 |
1730 switch ( aIndex ) |
1740 switch ( aIndex ) |
1731 { |
1741 { |
1732 |
|
1733 /* |
1742 /* |
1734 case ECamTimeLapseControl: |
1743 case ECamTimeLapseControl: |
1735 { |
1744 { |
1736 |
1745 |
1737 if ( iTimeLapseSlider && static_cast<CCamAppUi*>( CEikonEnv::Static()->AppUi() )->TimeLapseEnabled() ) |
1746 if ( iTimeLapseSlider && static_cast<CCamAppUi*>( CEikonEnv::Static()->AppUi() )->TimeLapseEnabled() ) |
2451 { |
2477 { |
2452 PRINT3( _L("Camera => CCamPreCaptureContainerBase::HandlePointerEventL iType=%d iPosition=(%d, %d)"), |
2478 PRINT3( _L("Camera => CCamPreCaptureContainerBase::HandlePointerEventL iType=%d iPosition=(%d, %d)"), |
2453 aPointerEvent.iType, |
2479 aPointerEvent.iType, |
2454 aPointerEvent.iPosition.iX, |
2480 aPointerEvent.iPosition.iX, |
2455 aPointerEvent.iPosition.iY ); |
2481 aPointerEvent.iPosition.iY ); |
2456 CCamAppUi* appUi = static_cast<CCamAppUi*>( iEikonEnv->AppUi() ); |
2482 CCamAppUi* appUi = static_cast<CCamAppUi*>( iEikonEnv->AppUi() ); |
2457 |
2483 if ( !appUi->IsSecondCameraEnabled() ) |
2458 // Capture button |
|
2459 TRect captureRect( iCaptureRect ); |
|
2460 captureRect.Grow( 30, 30 ); |
|
2461 |
|
2462 if ( iCaptureButtonShown && captureRect.Contains( aPointerEvent.iPosition ) ) |
|
2463 { |
2484 { |
2464 if ( aPointerEvent.iType == TPointerEvent::EButton1Down ) |
2485 // don't let zoom pane be used when capturing image |
|
2486 if ( iController.CurrentMode() != ECamControllerImage || |
|
2487 ( iController.CurrentOperation() != ECamCapturing && |
|
2488 iController.CurrentOperation() != ECamCompleting && |
|
2489 iController.CurrentOperation() != ECamFocusing ) ) |
2465 { |
2490 { |
2466 MTouchFeedback* feedback = MTouchFeedback::Instance(); |
2491 if ( iZoomPane ) |
2467 if ( !iCaptureIconPressed && feedback ) |
2492 { |
2468 { |
2493 if ( iZoomPane->HandlePointerEventL( aPointerEvent ) ) |
2469 feedback->InstantFeedback( ETouchFeedbackBasicButton ); |
2494 { |
2470 } |
2495 ShowZoomPaneWithTimer(); |
2471 iCaptureIconPressed = ETrue; |
2496 return; |
2472 DrawNow( captureRect ); |
2497 } |
|
2498 } |
2473 } |
2499 } |
2474 else if ( aPointerEvent.iType == TPointerEvent::EButton1Up |
2500 |
2475 && iCaptureIconPressed ) |
2501 if ( aPointerEvent.iType == TPointerEvent::EButton1Down && |
2476 { |
2502 !appUi->DrawPreCaptureCourtesyUI() ) |
2477 iCaptureIconPressed = EFalse; |
2503 { |
2478 |
2504 appUi->HandleCommandL( ECamCmdRaiseCourtesyUI ); |
2479 // Give feedback on button release |
2505 } |
2480 MTouchFeedback* feedback = MTouchFeedback::Instance(); |
2506 CCamContainerBase::HandlePointerEventL( aPointerEvent ); |
2481 if ( feedback ) |
|
2482 { |
|
2483 feedback->InstantFeedback( ETouchFeedbackBasicButton ); |
|
2484 } |
|
2485 |
|
2486 // About to start capture ... hide stop zoom etc. |
|
2487 if ( iZoomPane ) |
|
2488 { |
|
2489 PRINT( _L("Camera <> CCamPreCaptureContainerBase::HandlePointerEventL - StopZoom()") ); |
|
2490 iZoomPane->StopZoom(); |
|
2491 iZoomPane->MakeVisible( EFalse, ETrue ); |
|
2492 } |
|
2493 // Stop blinking icon when capture is initiated |
|
2494 if ( iIndBlinkTimer && iIndBlinkTimer->IsActive() ) |
|
2495 { |
|
2496 iIndBlinkTimer->Cancel(); |
|
2497 iDrawIndicator = ETrue; |
|
2498 } |
|
2499 |
|
2500 if ( iController.CurrentMode() == ECamControllerVideo ) |
|
2501 { |
|
2502 iView.HandleCommandL( ECamCmdRecord ); |
|
2503 } |
|
2504 else |
|
2505 { |
|
2506 iView.HandleCommandL( ECamCmdCaptureImage ); |
|
2507 } |
|
2508 } |
|
2509 else |
|
2510 { |
|
2511 // Avoid compiler warning |
|
2512 } |
|
2513 } |
|
2514 else |
|
2515 { |
|
2516 PRINT( _L("Camera <> CCamPreCaptureContainerBase::HandlePointerEventL - outside button region") ); |
|
2517 // Drags can potentially start from inside button area |
|
2518 if ( iCaptureIconPressed && aPointerEvent.iType != TPointerEvent::EDrag ) |
|
2519 { |
|
2520 iCaptureIconPressed = EFalse; |
|
2521 DrawNow( captureRect ); |
|
2522 } |
|
2523 |
|
2524 if ( !appUi->IsSecondCameraEnabled() ) |
|
2525 { |
|
2526 // don't let zoom pane be used when capturing image |
|
2527 if ( iController.CurrentMode() != ECamControllerImage || |
|
2528 ( iController.CurrentOperation() != ECamCapturing && |
|
2529 iController.CurrentOperation() != ECamCompleting && |
|
2530 iController.CurrentOperation() != ECamFocusing ) ) |
|
2531 { |
|
2532 if ( iZoomPane ) |
|
2533 { |
|
2534 if ( iZoomPane->HandlePointerEventL( aPointerEvent ) ) |
|
2535 { |
|
2536 ShowZoomPaneWithTimer(); |
|
2537 return; |
|
2538 } |
|
2539 } |
|
2540 } |
|
2541 |
|
2542 if ( aPointerEvent.iType == TPointerEvent::EButton1Down && |
|
2543 !appUi->DrawPreCaptureCourtesyUI() ) |
|
2544 { |
|
2545 appUi->HandleCommandL( ECamCmdRaiseCourtesyUI ); |
|
2546 } |
|
2547 CCamContainerBase::HandlePointerEventL( aPointerEvent ); |
|
2548 } |
|
2549 } |
2507 } |
2550 |
2508 |
2551 PRINT( _L("Camera <= CCamPreCaptureContainerBase::HandlePointerEventL") ); |
2509 PRINT( _L("Camera <= CCamPreCaptureContainerBase::HandlePointerEventL") ); |
2552 } |
2510 } |
2553 |
2511 |
2902 PRINT( _L("Camera <= CCamPreCaptureContainerBase::IndicatorVisible") ); |
2860 PRINT( _L("Camera <= CCamPreCaptureContainerBase::IndicatorVisible") ); |
2903 return KErrNone; |
2861 return KErrNone; |
2904 } |
2862 } |
2905 |
2863 |
2906 // ------------------------------------------------------------- |
2864 // ------------------------------------------------------------- |
2907 // CCamPreCaptureContainerBase::DrawCaptureButton |
|
2908 // ------------------------------------------------------------- |
|
2909 // |
|
2910 void CCamPreCaptureContainerBase::DrawCaptureButton( CBitmapContext& aGc ) const |
|
2911 { |
|
2912 TRect containerRect = Rect(); |
|
2913 TPoint iconTl( containerRect.Center().iX - KCaptureButtonWidth/2 + KCaptureIconDelta, |
|
2914 containerRect.iBr.iY - KCaptureButtonYDelta - KCaptureButtonWidth + KCaptureIconDelta ); |
|
2915 |
|
2916 aGc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha ); |
|
2917 aGc.SetBrushStyle( CGraphicsContext::ESolidBrush ); |
|
2918 aGc.SetPenStyle( CGraphicsContext::ENullPen ); |
|
2919 |
|
2920 if ( iCaptureIconPressed ) |
|
2921 { |
|
2922 aGc.SetBrushColor( KRgbBlack ); |
|
2923 } |
|
2924 else |
|
2925 { |
|
2926 aGc.SetBrushColor( TRgb( KToolbarExtensionBgColor, KToolBarExtensionBgAlpha ) ); |
|
2927 } |
|
2928 aGc.DrawEllipse( iCaptureRect ); |
|
2929 |
|
2930 aGc.SetBrushStyle( CGraphicsContext::ENullBrush ); |
|
2931 aGc.SetPenStyle( CGraphicsContext::ESolidPen ); |
|
2932 aGc.BitBltMasked( iconTl, iCaptureIcon, KIconRect, iCaptureMask, EFalse ); |
|
2933 } |
|
2934 |
|
2935 // ------------------------------------------------------------- |
|
2936 // CCamPreCaptureContainerBase::FocusChanged |
2865 // CCamPreCaptureContainerBase::FocusChanged |
2937 // ------------------------------------------------------------- |
2866 // ------------------------------------------------------------- |
2938 // |
2867 // |
2939 void CCamPreCaptureContainerBase::FocusChanged( TDrawNow aDrawNow ) |
2868 void CCamPreCaptureContainerBase::FocusChanged( TDrawNow aDrawNow ) |
2940 { |
2869 { |
2941 PRINT2( _L("Camera <> CCamPreCaptureContainerBase::FocusChanged, draw:%d, focused:%d"), aDrawNow, |
2870 PRINT3( _L("Camera <> CCamPreCaptureContainerBase::FocusChanged, draw:%d, focused:%d, button focused:%d"), |
2942 IsFocused() ); |
2871 aDrawNow, IsFocused(), |
2943 iCaptureButtonShown = CaptureButtonActive(); |
2872 iCaptureButtonContainer ? iCaptureButtonContainer->IsFocused() : 0 ); |
2944 if ( aDrawNow ) |
2873 UpdateCaptureButton(); |
2945 { |
2874 CCoeControl::FocusChanged( aDrawNow ); |
2946 DrawNow(); |
|
2947 } |
|
2948 } |
2875 } |
2949 |
2876 |
2950 // ------------------------------------------------------------- |
2877 // ------------------------------------------------------------- |
2951 // CCamPreCaptureContainerBase::CaptureButtonActive |
2878 // CCamPreCaptureContainerBase::UpdateCaptureButton |
2952 // ------------------------------------------------------------- |
2879 // ------------------------------------------------------------- |
2953 // |
2880 // |
2954 TBool CCamPreCaptureContainerBase::CaptureButtonActive() const |
2881 void CCamPreCaptureContainerBase::UpdateCaptureButton() |
2955 { |
2882 { |
|
2883 PRINT(_L("Camera => CCamPreCaptureContainerBase::UpdateCaptureButton")); |
|
2884 |
2956 TBool buttonActive = EFalse; |
2885 TBool buttonActive = EFalse; |
2957 if ( iController.UiConfigManagerPtr()->IsCustomCaptureButtonSupported() |
2886 if ( iCaptureButtonContainer ) |
2958 && iController.IsTouchScreenSupported() ) |
2887 { |
2959 { |
2888 TCamCameraMode mode = iController.CurrentMode(); |
2960 buttonActive = IsFocused() && iController.CurrentOperation() == ECamNoOperation; |
2889 |
2961 PRINT1( _L("Camera <> capture button active:%d"), buttonActive ); |
2890 buttonActive = ( IsFocused() || iCaptureButtonContainer->IsFocused() ) |
2962 } |
2891 && ECamNoOperation == iController.CurrentOperation() |
2963 return buttonActive; |
2892 && ( ECamControllerImage == mode || ECamControllerVideo == mode ); |
2964 } |
2893 |
2965 |
2894 PRINT1( _L("Camera <> capture button shown:%d"), buttonActive ); |
2966 // End of File |
2895 iCaptureButtonContainer->SetCaptureButtonShown( buttonActive ); |
2967 |
2896 } |
|
2897 PRINT(_L("Camera <= CCamPreCaptureContainerBase::UpdateCaptureButton")); |
|
2898 } |
|
2899 |
|
2900 // ------------------------------------------------------------- |
|
2901 // CCamPreCaptureContainerBase::PrepareForCapture |
|
2902 // ------------------------------------------------------------- |
|
2903 // |
|
2904 void CCamPreCaptureContainerBase::PrepareForCapture() |
|
2905 { |
|
2906 if ( iZoomPane ) |
|
2907 { |
|
2908 PRINT( _L("Camera <> CCamPreCaptureContainerBase::PrepareForCapture - StopZoom()") ); |
|
2909 iZoomPane->StopZoom(); |
|
2910 } |
|
2911 |
|
2912 // Stop blinking icon when capture is initiated |
|
2913 if ( iIndBlinkTimer && iIndBlinkTimer->IsActive() ) |
|
2914 { |
|
2915 iIndBlinkTimer->Cancel(); |
|
2916 iDrawIndicator = ETrue; |
|
2917 } |
|
2918 |
|
2919 if ( iCaptureButtonContainer ) |
|
2920 { |
|
2921 iCaptureButtonContainer->SetCaptureButtonShown( EFalse ); |
|
2922 } |
|
2923 } |
|
2924 // End of File |
|
2925 |