--- a/camerauis/activepalette/Inc/CActivePalettePluginBase.h Thu Aug 19 09:36:57 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,350 +0,0 @@
-/*
-* Copyright (c) 2007 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: Active Palette plugin base class*
-*/
-
-
-/**
- * @file CActivePalettePluginBase.h
- * Active Palette plugin base class
- */
-
-#ifndef CACTIVEPALETTEPLUGINBASE_H
-#define CACTIVEPALETTEPLUGINBASE_H
-
-// INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-// FORWARD DECLARATIONS
-class CActivePalettePluginBase;
-class CGulIcon;
-class CFbsBitmap;
-class CFbsBitmapDevice;
-class CBitmapContext;
-
-// CLASS DECLARATIONS
-
-/**
- * Plugin observer class.
- * Plugins should use this to communicate with the Active Palette.
- */
-class MActivePalettePluginObserver
- {
- public:
- /**
- * Notifies of the creation of the plugin
- * @param aPlugin A pointer to the plugin
- */
- virtual void NotifyPluginCreated(CActivePalettePluginBase* aPlugin) = 0;
-
- /**
- * Notifies of the destruction of the plugin
- * @param aPlugin A pointer to the plugin
- */
- virtual void NotifyPluginDestroyed(CActivePalettePluginBase* aPlugin) = 0;
-
- /**
- * Assign icon for plugin obect's item
- * @param aIcon A pointer to the icon
- * @param aOnwershipTransfer Whether to transfer ownership
- */
- virtual void SetItemIcon(CGulIcon* aIcon, TBool aOnwershipTransfer) = 0;
-
- /**
- * Assign tool tip for plugin obect's item
- * @param aTooltipText A descriptor containing the new tooltip text
- */
- virtual void SetItemTooltipL(const TDesC& aTooltipText) = 0;
-
- /**
- * Assign icon and tooltip for plugin obect's item
- * @param aIcon The new icon
- * @param aOnwershipTransfer Whether the AP should take ownership of the icon
- * @param aTooltipText The new tooltip text
- */
- virtual void SetItemIconAndTooltipL(CGulIcon* aIcon,
- TBool aOnwershipTransfer,
- const TDesC& aTooltipText) = 0;
-
- /**
- * Notify comletion of handling of user's item selection
- * @param aDataDes Data descriptor
- */
- virtual void NotifyItemComplete(const TDesC8& aDataDes) = 0;
-
- /**
- * Notify comletion of handling of user's item selection
- * @param aDataInt Data integer
- */
- virtual void NotifyItemComplete(TInt aDataInt) = 0;
-
- /**
- * Send message to application
- * @param aMessageID The message ID
- * @param aDataDes Data descriptor
- */
- virtual void SendMessage(TInt aMessageID, const TDesC8& aDataDes) = 0;
-
- /**
- * Send message to application
- * @param aMessageID The message ID
- * @param aDataInt Data integer
- */
- virtual void SendMessage(TInt aMessageID, TInt aDataInt) = 0;
- };
-
-/**
- * Namespace for the plugin factory
- */
-namespace NActivePalettePluginFactory
- {
- /**
- * Definition for data that PLUGIN gets upon its creation
- */
- class TPluginCreationParams
- {
- public:
- /**
- * Return a reference to the observer
- * @return A reference to the observer
- */
- IMPORT_C MActivePalettePluginObserver& PluginObserver(void) const;
-
- /**
- * Return the dimensions
- * @return The dimensions
- */
- IMPORT_C TSize Dimensions(void) const;
-
- /**
- * Constructor
- * @param aObserver A reference to the observer
- * @param aDimensions The dimensions
- */
- IMPORT_C TPluginCreationParams(MActivePalettePluginObserver &aObserver,
- const TSize& aDimensions);
-
- private:
- /// The observer
- MActivePalettePluginObserver& iObserver;
- /// Size of the icons used
- TSize iDimensions;
- };
-
- /**
- * Prototype for plugin DLL factory function
- */
- typedef CActivePalettePluginBase * (* TInstantiatePluginLFunc)(const TUid& aPluginUid,
- const TPluginCreationParams& aCreationParams);
-
- /// Entry ordinal to use for plugin creation
- const TInt KFactoryEntryOrdinal = 1;
- }
-
-
-/**
- * Animation helper for plugins.
- * Contains default icon animation (shrinks, then returns to normal)
- */
-class CAnimationHelper : public CBase
- {
- private:
- /**
- * Constructor
- */
- CAnimationHelper();
-
- /**
- * Symbian leaving constructor
- * @param aSize Size
- * @param aMaskNeeded Indicates if a mask is needed or not
- */
- void ConstructL(const TSize aSize, const TBool aMaskNeeded);
-
- public:
- /**
- * Destructor
- */
- ~CAnimationHelper();
-
- /**
- * Constructor
- * @param aSize Size
- * @param aMaskNeeded Indicates if a mask is needed or not
- */
- static CAnimationHelper* NewL(const TSize aSize, const TBool aMaskNeeded);
-
- public:
- /// Current frame bitmap.
- CFbsBitmap* iFrame;
- /// Current frame device.
- CFbsBitmapDevice* iFrameDevice;
- /// Current frame context.
- CBitmapContext* iFrameGc;
-
- /// Current frame mask bitmap.
- CFbsBitmap* iFrameMask;
- /// Current frame mask device.
- CFbsBitmapDevice* iFrameMaskDevice;
- /// Current frame mask context.
- CBitmapContext* iFrameMaskGc;
- };
-
-/**
- * Plugin base class
- */
-class CActivePalettePluginBase : public CBase
- {
- public:
- /**
- * Reserved for internal use in this version
- */
- class TPluginAnimationInfo
- {
- public:
- /// Number of frames in animation
- TInt iNofFrames;
- /// Interval between frames
- TInt iFrameTimeGapMs;
- /// Dimensions of icons
- TSize iFrameSize;
- };
-
- /**
- * The type of animation to perform
- */
- enum TPluginAnimationType
- {
- EAniInvalid, ///< Invalid animation
- EAniFocused = 2 ///< Focus animation
- };
-
- protected:
-
- /**
- * Constructor
- */
- IMPORT_C CActivePalettePluginBase(const NActivePalettePluginFactory::TPluginCreationParams& aCreationParams);
-
- /**
- * Returns a reference to the plugin observer
- * @return A reference to the plugin observer
- */
- inline MActivePalettePluginObserver& PluginObserver(void) const;
-
- public:
-
- /**
- * Destructor
- */
- IMPORT_C virtual ~CActivePalettePluginBase(void);
-
- /**
- * Handling of user's item selection
- * @warning MUST BE IMPLEMENTED BY PLUGIN
- */
- IMPORT_C virtual void HandleItemSelectedL(void) = 0;
-
- /**
- * Handling of message from application
- * @warning SHOULD BE IMPLEMENTED BY PLUGIN
- * @param aMessageID The message ID
- * @param aDataDes Data descriptor
- * @param aDataInt Data integer
- */
- IMPORT_C virtual void HandleMessageL(TInt aMessageID,
- const TDesC8& aDataDes,
- TInt aDataInt);
-
- /**
- * 2nd phase constructor
- * @warning MUST BE IMPLEMENTED BY PLUGIN
- * @param aCreationParams A reference to the construction parameter class to use
- * @param aCustomDataDes Data descriptor
- * @param aCustomDataInt Data integer
- */
- IMPORT_C virtual void ConstructL(const NActivePalettePluginFactory::TPluginCreationParams& aCreationParams,
- const TDesC8& aCustomDataDes,
- TInt aCustomDataInt);
-
- /**
- * Resource destruction
- * @warning MAY BE IMPLEMENTED BY PLUGIN
- * (possible to use AP services)
- */
- IMPORT_C virtual void Shutdown(void);
-
- /**
- * Reserved for internal use in this version
- * @param aAniType
- * @param aAniInfo
- * @param aDefaultAniInfo
- * @param aItemIcon
- * @param aItemIconMask
- */
- IMPORT_C virtual void PrepareAniFramesL(TInt aAniType,
- TPluginAnimationInfo& aAniInfo,
- const TPluginAnimationInfo& aDefaultAniInfo,
- const CFbsBitmap & aItemIcon,
- const CFbsBitmap * aItemIconMask);
-
- /**
- * Release the frames used in the animation
- * @param aAniType
- */
- IMPORT_C virtual void ReleaseAniFrames(TInt aAniType);
-
- /**
- * Produces an animation frame
- * @param aAniType
- * @param aFrameNo
- * @param aAniInfo
- * @param aItemIcon
- * @param aItemIconMask
- * @param aFrame
- * @param aFrameMask
- * @param aOwnershipTransferForFrame
- * @param aOwnershipTransferForMask
- */
- IMPORT_C virtual void ProduceAniFrame(TInt aAniType,
- TInt aFrameNo,
- const TPluginAnimationInfo& aAniInfo,
- const CFbsBitmap & aItemIcon,
- const CFbsBitmap * aItemIconMask,
- CFbsBitmap** aFrame,
- CFbsBitmap** aFrameMask,
- TBool& aOwnershipTransferForFrame,
- TBool& aOwnershipTransferForMask);
-
- private:
- /// The plugin observer
- MActivePalettePluginObserver& iPluginObserver;
-
- /// The animation helper
- CBase* iAnimationHelper;
- };
-
-// -----------------------------------------------------------------------------
-// CActivePalettePluginBase::PluginObserver()
-// -----------------------------------------------------------------------------
-//
-inline MActivePalettePluginObserver & CActivePalettePluginBase::PluginObserver(void) const
- {
- return iPluginObserver;
- };
-
-#endif // CACTIVEPALETTEPLUGINBASE_H
-
-// End of File