--- a/camerauis/cameraapp/generic/inc/cambatterypanecontroller.h Thu Aug 19 09:36:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,236 +0,0 @@
-/*
-* 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 CCamBatteryPaneController 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 CAMBATTERYPANECONTROLLER_H
-#define CAMBATTERYPANECONTROLLER_H
-
-// INCLUDES
-
-#include <e32base.h>
-#include "CamPropertyObserver.h" // MPropertyObserver
-
-// CONSTANTS
-
-// Battery strength and animation timer constants.
-const TInt KMinBatteryStrength = 0;
-const TInt KMaxBatteryStrength = 7;
-const TInt KBatteryRechargeTick = 500000;
-
-// FORWARD DECLARATIONS
-
-class CCamBatteryPaneDrawer;
-class CCamPropertyWatcher;
-class CWindowGc;
-class CBitmapContext;
-
-// CLASS DECLARATION
-
-/**
-* Abstract API for battery pane observer.
-* Derived classes, which have subscribed to CCamBatteryPaneController
-* receive notification when the battery pane contents change
-*/
-class MCamBatteryPaneObserver
- {
- public:
- /**
- * The battery pane contents have changed
- */
- virtual void BatteryPaneUpdated() = 0;
- };
-
-/**
-* Watches changes in battery strength and charge properties and provides
-* animation of recharging. Notifies observer of changes in the battery pane.
-* Handles drawing requests by passing them to owned CCamBatteryPaneDrawer
-* object.
-*/
-class CCamBatteryPaneController: public CBase, public MPropertyObserver
- {
-
- public: // Construction and destruction
- /**
- * Descructor
- */
- ~CCamBatteryPaneController();
- /**
- * Two-phased constructor
- * @param aObserver Battery pane observer
- * @param aCallbackActive Callback to the observer active
- * @return Pointer to the created
- */
- static CCamBatteryPaneController* NewL(
- MCamBatteryPaneObserver& aObserver,
- TBool aCallbackActive );
-
-
- public: // From MPropertyObserver
- /**
- * The value of a watched property has changed
- * @param aCategory The category of the property
- * @param aKey the Identifier of the property
- */
- void HandlePropertyChangedL( const TUid& aCategory, const TUint aKey );
-
-
- public: // New functions
- /**
- * Pause battery pane controller. With value ETrue, stops listening
- * to battery pane events, with EFalse reinitializes and starts
- * listening to the events again.
- */
- void Pause( TBool aPause );
-
- /**
- * Activate or deactivate callbacks to observer when there
- * are changes in the battery pane.
- * @param aActive Callback to observer active
- */
- void SetCallbackActive( TBool aActive );
-
- /**
- * Set location in the screen, where the battery pane is
- * to be drawn.
- * @param aLocation Drawing location
- */
- void SetLocation( TPoint aLocation );
-
- /**
- * Set battery strength.
- * @param aStrength Battery strength
- */
- void SetBatteryStrength( TInt aStrength );
-
- /**
- * Start the recharging animation
- */
- void StartRecharging();
-
- /**
- * Stop the recharging animation
- */
- void StopRecharging();
-
- /**
- * Get battery pane's rectangle
- * @return rectangle
- */
- TRect Rect() const;
-
- /**
- * Get rectangle of the animated part of battery pane
- * @return rectangle
- */
- TRect AnimationRect() const;
-
- /**
- * Draw the battery pane
- * @param aGc Graphics context
- */
- void Draw( CBitmapContext& aGc ) const;
- //void Draw( CWindowGc& 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.
- * @param aObserver Battery pane observer
- * @param aCallbackActive Callback to the observer active
- */
- CCamBatteryPaneController(
- MCamBatteryPaneObserver& aObserver,
- TBool aCallbackActive );
-
- /**
- *
- * @param aThis Pointer to the object owning the ticker
- */
- static TInt TickerCallback( TAny* aThis );
-
- /**
- * Changes the (charging) battery strenght value as needed to show the next
- * frame of the animation.
- */
- void UpdateRechargeBatteryStrength();
-
- /**
- * Notifies observer of changes in the battery pane,
- * if iCallbackActive is set
- */
- void NotifyObserver();
-
- /**
- * Read current status of the properties. Set battery level
- * and start/stop battery recharging animation accordingly.
- */
- void ReadCurrentState();
-
- /**
- * Start/stop the charging animation, depending on aStatus value
- * @param aStatus Value of the charging status property
- */
- void HandleChargingStatusChange( TInt aStatus );
-
- private:
- // Current battery strength
- TInt iBatteryStrength;
-
- // Recharging animation status
- TBool iRecharging;
- TInt iRechargeBatteryStrength;
-
- // Object that handles the actual drawing
- CCamBatteryPaneDrawer* iDrawer;
-
- // Recharge animation timer
- CPeriodic* iTicker;
-
- // Observer of the battery pane changes
- MCamBatteryPaneObserver& iObserver;
- TBool iCallbackActive;
-
- // Property watchers for battery charging and strength
- CCamPropertyWatcher* iBatteryStrengthWatcher;
- CCamPropertyWatcher* iBatteryChargingWatcher;
-
- TBool iPaused;
- };
-
-#endif