--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uigraphics/AknIcon/srvinc/AknIconSrvIconItem.h Thu Dec 17 09:14:12 2009 +0200
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2002 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:
+*
+*/
+
+
+
+#ifndef AKN_ICON_SRV_ICON_ITEM_H
+#define AKN_ICON_SRV_ICON_ITEM_H
+
+// INCLUDES
+#include <e32base.h>
+#include <gdi.h>
+#include <AknIconUtils.h>
+
+// FORWARD DECLARATIONS
+
+struct TAknIconParams;
+class CFbsBitmap;
+class CAknIconFileNameCache;
+
+// CONSTANTS
+
+// CLASS DEFINITIONS
+
+NONSHARABLE_CLASS(CAknIconSrvIconItem) : public CBase
+ {
+ public: // Constructor and destructor
+
+ /**
+ * @param aInfo info
+ * @param aBitmap ownership transferred to this object
+ * @param aMask ownership transferred to this object
+ * @param aDimensions content dimensions of the icon
+ * @param aFileNameCache file name cache passed by the caller
+ * for retrieving/storing icon file name
+ */
+ static CAknIconSrvIconItem* NewL(
+ const TAknIconParams& aInfo,
+ CFbsBitmap* aBitmap,
+ CFbsBitmap* aMask,
+ const TAknContentDimensions& aDimensions,
+ CAknIconFileNameCache& aFileNameCache );
+
+ /**
+ * Constructor for compare items.
+ */
+ CAknIconSrvIconItem( const TAknIconParams& aInfo );
+
+ ~CAknIconSrvIconItem();
+
+ public: // New functions
+
+ static TInt LinearOrder(
+ const CAknIconSrvIconItem& aFirst,
+ const CAknIconSrvIconItem& aSecond );
+
+ void GetInfo( TAknIconParams& aInfo ) const;
+
+ inline TBool IsCached() const;
+ inline void SetCached();
+ inline void ClearCached();
+
+ inline TBool IsPermanentlyCached() const;
+ inline void SetPermanentlyCached();
+ inline void ClearPermanentlyCached();
+
+ inline TBool IsCachedFromSkin() const;
+ inline void SetCachedFromSkin();
+ inline void ClearCachedFromSkin();
+
+ inline TBool IsMbmIcon() const;
+ inline void SetMbmIcon();
+
+ inline TBool IsExcludedFromCache() const;
+ inline void ExcludeFromCache();
+
+ inline TBool IsCompressionDisabled() const;
+ inline void DisableCompression();
+
+ private: // Private constructors
+
+ CAknIconSrvIconItem();
+
+ void ConstructL(
+ const TAknIconParams& aInfo,
+ CFbsBitmap* aBitmap,
+ CFbsBitmap* aMask,
+ const TAknContentDimensions& aDimensions,
+ CAknIconFileNameCache& aFileNameCache );
+
+ public: // Data
+
+ enum TFlags
+ {
+ // Flags must not use the low 16 bits.
+ EFlagCached = 0x00010000, // dynamic cache
+ EFlagPermanentlyCached = 0x00020000, // always cached
+ EFlagCachedFromSkin = 0x00040000,
+ EFlagMbmIcon = 0x00080000,
+ EFlagExcludeFromCache = 0x00100000, // do not cache dynamically
+ EFlagDisableCompression = 0x00200000 // disable bitmap compression
+ };
+
+ HBufC* iFileName; // not owned
+ const TDesC* iFileNameRef; // used by compare items
+ TInt16 iBitmapId;
+ TInt16 iMaskId;
+ TSize iSize;
+ TInt iModeAndFlags; // mode in low 16 bits, flags in high 16 bits.
+ TInt iRotationAngle;
+ TInt iUserCount;
+ CFbsBitmap* iBitmap;
+ CFbsBitmap* iMask;
+ // For color skinning
+ TRgb iColor;
+ // Info of the content dimensions of the icon is stored here.
+ TAknContentDimensions iDimensions;
+ TBool iAppIcon; // set true for application icon
+
+ // indicates if the icon is marked to be precached
+ TBool iPrecacheItem;
+ };
+
+#include "AknIconSrvIconItem.inl"
+
+#endif // AKN_ICON_SRV_ICON_ITEM_H
+
+// End of File