268 * when the resolution changes. The flag is reset after |
268 * when the resolution changes. The flag is reset after |
269 * doing one blinking rountine or can be reset manually by |
269 * doing one blinking rountine or can be reset manually by |
270 * calling the function with EFalse. |
270 * calling the function with EFalse. |
271 */ |
271 */ |
272 void BlinkResolutionIndicatorOnChange( TBool aBlink=ETrue ); |
272 void BlinkResolutionIndicatorOnChange( TBool aBlink=ETrue ); |
|
273 |
|
274 /** |
|
275 * From CCoeControl. |
|
276 * @since 5.1 |
|
277 * @param aDrawNow Flag to indicate if the container should be drawn |
|
278 */ |
|
279 void FocusChanged( TDrawNow aDrawNow ); |
273 |
280 |
274 protected: |
281 protected: |
275 |
282 |
276 /** |
283 /** |
277 * Callback for zoom timer when zoom pane needs to be hidden. |
284 * Callback for zoom timer when zoom pane needs to be hidden. |
379 * @since 2.8 |
386 * @since 2.8 |
380 * @param aGc the graphics context |
387 * @param aGc the graphics context |
381 * @param aFrame pointer to the bitmap. |
388 * @param aFrame pointer to the bitmap. |
382 */ |
389 */ |
383 void DrawFrameNow( CBitmapContext& aGc, const CFbsBitmap* aFrame ) const; |
390 void DrawFrameNow( CBitmapContext& aGc, const CFbsBitmap* aFrame ) const; |
384 |
391 |
385 protected: |
392 protected: |
386 /** |
393 /** |
387 * Autofocus indication layout from LAF |
394 * Autofocus indication layout from LAF |
388 * |
395 * |
389 * @since S60 S60 v5.0 |
396 * @since S60 S60 v5.0 |
390 */ |
397 */ |
391 void SizeChanged(); |
398 void SizeChanged(); |
|
399 |
|
400 /** |
|
401 * Checks whether the custom capture button should be shown |
|
402 * @since 5.1 |
|
403 * @return ETrue if capture button should be active, EFalse otherwise |
|
404 */ |
|
405 TBool CaptureButtonActive() const; |
392 |
406 |
393 private: |
407 private: |
394 /** |
408 /** |
395 * Draws the reticule over the viewfinder |
409 * Draws the reticule over the viewfinder |
396 * @since 3.0 |
410 * @since 3.0 |
584 * Read touch layout |
598 * Read touch layout |
585 */ |
599 */ |
586 void TouchLayout(); |
600 void TouchLayout(); |
587 |
601 |
588 /** |
602 /** |
589 * Callback to blink resolution indicator |
603 * Callback used by timer to blink resolution indicator |
|
604 * @since 5.1 |
|
605 * @param aSelf Pointer to self (container) |
590 */ |
606 */ |
591 static TInt IndicatorVisible( TAny *aSelf ); |
607 static TInt IndicatorVisible( TAny *aSelf ); |
592 |
608 |
593 /** |
609 /** |
594 * Draw resolution indicator (for blinking). |
610 * Draw resolution indicator (for blinking). |
|
611 * @since 5.1 |
595 */ |
612 */ |
596 void DrawResolutionIndicator(); |
613 void DrawResolutionIndicator(); |
|
614 |
|
615 /** |
|
616 * Draws Capture/Record button |
|
617 * @since 5.1 |
|
618 * @param aGc The context to draw with |
|
619 */ |
|
620 void DrawCaptureButton( CBitmapContext& aGc ) const; |
597 |
621 |
598 // ========================================================================= |
622 // ========================================================================= |
599 // Data |
623 // Data |
600 protected: |
624 protected: |
601 |
625 |
602 // Pointer to the instance of the side pane |
626 // Pointer to the instance of the side pane |
603 CCamSidePane* iSidePane; |
627 CCamSidePane* iSidePane; |
604 |
628 |
605 // Pointer to the instance of the zoom pane |
629 // Pointer to the instance of the zoom pane |
606 CCamZoomPane* iZoomPane; |
630 CCamZoomPane* iZoomPane; |
607 |
631 |
608 // Array of pointer to the resolution indicators |
632 // Array of pointer to the resolution indicators |
609 RPointerArray<CCamIndicator> iResolutionIndicators; |
633 RPointerArray<CCamIndicator> iResolutionIndicators; |
610 |
634 |
611 // The current indicator |
635 // The current indicator |
640 TCamHandedness iHandedness; |
664 TCamHandedness iHandedness; |
641 |
665 |
642 |
666 |
643 // Reticule location and size |
667 // Reticule location and size |
644 TRect iReticuleRect; |
668 TRect iReticuleRect; |
|
669 |
|
670 // Icons and rect for capturing image |
|
671 CFbsBitmap *iCaptureIcon; |
|
672 CFbsBitmap *iCaptureMask; |
|
673 TRect iCaptureRect; |
|
674 TBool iCaptureButtonShown; |
|
675 TBool iCaptureIconPressed; |
645 |
676 |
646 /** |
677 /** |
647 * Autofocus indication icons array. |
678 * Autofocus indication icons array. |
648 */ |
679 */ |
649 RPointerArray<CFbsBitmap> iAfIcons; |
680 RPointerArray<CFbsBitmap> iAfIcons; |
726 |
757 |
727 CFbsBitmap* iViewFinderBackup; |
758 CFbsBitmap* iViewFinderBackup; |
728 |
759 |
729 // For blinking of resolution indicator |
760 // For blinking of resolution indicator |
730 TBool iBlinkResolutionIndicator; |
761 TBool iBlinkResolutionIndicator; |
|
762 TBool iBlinkModeIndicator; |
731 CPeriodic* iIndBlinkTimer; |
763 CPeriodic* iIndBlinkTimer; |
732 TBool iDrawIndicator; |
764 TBool iDrawIndicator; |
733 TInt iToggleCountdown; |
765 TInt iToggleCountdown; |
734 |
766 |
735 // Startup animation control |
767 // Startup animation control |