camerauis/cameraapp/generic/inc/CamPreCaptureContainerBase.h
branchRCL_3
changeset 27 53c8aa5d97a3
parent 16 d486e5e3cc9a
child 31 8f559c47d7fd
--- a/camerauis/cameraapp/generic/inc/CamPreCaptureContainerBase.h	Tue May 11 15:56:11 2010 +0300
+++ b/camerauis/cameraapp/generic/inc/CamPreCaptureContainerBase.h	Tue May 25 12:22:04 2010 +0300
@@ -270,6 +270,13 @@
      * calling the function with EFalse. 
      */
     void BlinkResolutionIndicatorOnChange( TBool aBlink=ETrue );
+    
+    /**
+     * From CCoeControl.
+	 * @since 5.1
+	 * @param aDrawNow Flag to indicate if the container should be drawn
+     */
+    void FocusChanged( TDrawNow aDrawNow );
 
   protected: 
 
@@ -381,14 +388,21 @@
     * @param aFrame pointer to the bitmap. 
     */
     void DrawFrameNow( CBitmapContext& aGc, const CFbsBitmap* aFrame ) const;
-        
+
   protected:
     /**
     * Autofocus indication layout from LAF
     *
     * @since S60 S60 v5.0
     */    
-    void SizeChanged();  
+    void SizeChanged();
+    
+    /**
+     * Checks whether the custom capture button should be shown 
+     * @since 5.1
+     * @return ETrue if capture button should be active, EFalse otherwise
+     */
+    TBool CaptureButtonActive() const;
     
   private:
     /**
@@ -586,14 +600,24 @@
     void TouchLayout();
 
     /**
-     * Callback to blink resolution indicator 
+     * Callback used by timer to blink resolution indicator
+     * @since 5.1
+     * @param aSelf Pointer to self (container)
      */
     static TInt IndicatorVisible( TAny *aSelf );
     
     /**
      * Draw resolution indicator (for blinking).
+     * @since 5.1
      */
     void DrawResolutionIndicator();
+    
+    /**
+     * Draws Capture/Record button
+     * @since 5.1
+     * @param aGc The context to draw with
+     */
+    void DrawCaptureButton( CBitmapContext& aGc ) const;
 
   // =========================================================================
   // Data
@@ -603,7 +627,7 @@
     CCamSidePane* iSidePane;
     
     // Pointer to the instance of the zoom pane
-    CCamZoomPane* iZoomPane;  
+    CCamZoomPane* iZoomPane;
     
     // Array of pointer to the resolution indicators
     RPointerArray<CCamIndicator> iResolutionIndicators;
@@ -643,6 +667,13 @@
     // Reticule location and size
     TRect iReticuleRect;
 
+    // Icons and rect for capturing image
+    CFbsBitmap *iCaptureIcon;
+    CFbsBitmap *iCaptureMask;
+    TRect iCaptureRect;
+    TBool iCaptureButtonShown;
+    TBool iCaptureIconPressed;
+
     /**
      * Autofocus indication icons array.  
      */
@@ -728,6 +759,7 @@
     
     // For blinking of resolution indicator
     TBool iBlinkResolutionIndicator;
+    TBool iBlinkModeIndicator;
     CPeriodic* iIndBlinkTimer;
     TBool iDrawIndicator;
     TInt iToggleCountdown;