--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/camerauis/cameraapp/generic/inc/cambatterypanedrawer.h Thu Jan 07 16:18:56 2010 +0200
@@ -0,0 +1,157 @@
+/*
+* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Header file for CCamBatteryPaneDrawer class.
+*
+* Copyright © 2007-2008 Nokia. All rights reserved.
+* This material, including documentation and any related computer
+* programs, is protected by copyright controlled by Nokia. All
+* rights are reserved. Copying, including reproducing, storing,
+* adapting or translating, any or all of this material requires the
+* prior written consent of Nokia. This material also contains
+* confidential information which may not be disclosed to others
+* without the prior written consent of Nokia.
+
+*
+*
+*/
+
+
+#ifndef CAMBATTERYPANEDRAWER_H
+#define CAMBATTERYPANEDRAWER_H
+
+// INCLUDES
+
+#include <e32base.h>
+#include "cambatterypanecontroller.h" // Battery level constants
+
+// FORWARD DECLARATIONS
+
+class CFbsBitmap;
+class CBitmapContext;
+class CWindowGc;
+class CCamBitmapItem;
+
+// CLASS DECLARATION
+
+class CCamBatteryPaneDrawer: public CBase
+ {
+ public: // Construction and destruction
+ /**
+ * Destructor
+ */
+ virtual ~CCamBatteryPaneDrawer();
+
+ /**
+ * Two-phased constructor
+ */
+ static CCamBatteryPaneDrawer* NewL();
+
+ public: // New functions
+
+ /**
+ * Set battery strength level used in drawing
+ * @param aBatteryStrength Battery Strength )
+ */
+ void SetBatteryStrength( TInt aBatteryStrength );
+
+ /**
+ * Set battery pane location used in drawing
+ * @param aLocation
+ */
+ void SetLocation( const TPoint &aLocation );
+
+ /**
+ * Get battery pane's rectangle
+ * @return rectangle
+ */
+ TRect Rect() const;
+
+ /**
+ * Draw the battery pane
+ * @param aGc Graphics context
+ */
+ // void Draw( CWindowGc& aGc ) const;
+ void Draw( CBitmapContext& aGc ) const;
+
+ /**
+ * Clear the battery pane indicator
+ * @param aGc Graphics context
+ */
+ void ClearBattery( CBitmapContext& aGc ) const;
+
+ /**
+ * Handle resource change event
+ * @param aType Type of the resource change
+ */
+ void HandleResourceChange( TInt aType );
+
+ protected:
+ /**
+ * Second phase constructor
+ */
+ void ConstructL();
+
+ private:
+ /**
+ * Constructor
+ */
+ CCamBatteryPaneDrawer();
+
+ /**
+ * Load layouts for elements in the battery pane
+ */
+ void LoadLayoutsL();
+
+ /**
+ * Calculate height of
+ * @param aLevel Battery level
+ * @return height
+ */
+ TInt BatteryStrengthIconHeight( TInt aLevel ) const;
+
+ /**
+ * Load icons needed for drawing the battery pane
+ */
+ void LoadIconsL();
+
+ /**
+ * Delete loaded icons
+ */
+ void DeleteIcons();
+
+ /**
+ * Read nontouch layout
+ */
+ void NonTouchLayoutL();
+
+ /**
+ * Read touch layout
+ */
+ void TouchLayoutL();
+
+
+ private: // Data
+ // Battery strength
+ TInt iBatteryStrength;
+
+ // Battery strength and battery icon
+ CCamBitmapItem* iBatteryIcon; // own
+ CCamBitmapItem* iBatteryStrengthIcon; // own
+
+ // Rectangle of the battery pane
+ TRect iRect;
+
+ };
+
+#endif // CAMBATTERYPANEDRAWER_H