diff -r 000000000000 -r 05e9090e2422 uigraphics/AknIcon/srvinc/AknIconSrvIconItem.h --- /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 +#include +#include + +// 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