skins/AknSkins/inc/AknsTemporaryBitmap.h
changeset 0 05e9090e2422
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/skins/AknSkins/inc/AknsTemporaryBitmap.h	Thu Dec 17 09:14:12 2009 +0200
@@ -0,0 +1,157 @@
+/*
+* 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 DECLARATIONS
+class 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