/** Copyright (c) 2004-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: Defines an internal class CAknsTemporaryBitmap which* encapsulates a single temporary bitmap entry.**/#ifndef AKNSTEMPORARYBITMAP_H#define AKNSTEMPORARYBITMAP_H// INCLUDES#include <AknsItemData.h>// FORWARD DECLARATIONSclass CFbsBitmapDevice;class CFbsBitGc;// CLASS DECLARATION/*** Temporary bitmap class.** @since 2.6** @internal*/NONSHARABLE_CLASS(CAknsTemporaryBitmap) : public CBase { public: // Construction and destruction /** * Two-phased constructor. * * @par Exceptions: * If construction fails, leaves with an error code. * * @internal */ static CAknsTemporaryBitmap* NewL( const TAknsItemID& aID, const TSize& aSize, const TInt aKey, const TBool aMorphing, const TSize& aLayoutSize ); /** * C++ constructor. * * @internal */ CAknsTemporaryBitmap( const TAknsItemID& aID, const TSize& aSize, const TInt aKey, const TSize& aLayoutSize ); /** * Destructor. * * @internal */ virtual ~CAknsTemporaryBitmap(); public: // New functions /** * Returns the bitmap member. * * @internal */ CFbsBitmap* Bitmap(); /** * Returns the mask member. * * @internal */ CFbsBitmap* Mask(); /** * Returns the members as item data object. * * @internal */ CAknsMaskedBitmapItemData* ItemData(); /** * Returns the morphing property value. * * @internal */ TBool IsMorphing(); /** * Activates GC for the given member. * * @internal */ CFbsBitGc* ActivateGcL( const TDisplayMode aMode, const TBool aMask = EFalse ); /** * Releases the GC. * * @internal */ void ReleaseGc(); /** * Determines the order of two CAknsTemporaryBitmap objects. * Order is determined based on the item ID of the object, as described * in TAknsItemID::LinearOrder(), object key, and size. * * @param aFirst First object to be compared. * * @param aSecond Second object to be compared. * * @return 0 if the two objects are equal, negative value if the first * object is less than the second and positive value if the first * object is greater than the second. * * @internal */ static TInt LinearOrder( const CAknsTemporaryBitmap& aFirst, const CAknsTemporaryBitmap& aSecond ); private: // Construction /** * ConstructL method. * * @internal */ void ConstructL(); private: // Data members TAknsItemID iID; TSize iSize; TInt iKey; CAknsMaskedBitmapItemData* iData; CFbsBitmapDevice* iDev; CFbsBitGc* iGc; TBool iMorphing; TSize iLayoutSize; };#endif // AKNSTEMPORARYBITMAP_H// End of File