--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uigraphics/AknIcon/srvinc/AknIconSrvDef.h Thu Dec 17 09:14:12 2009 +0200
@@ -0,0 +1,179 @@
+/*
+* 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_DEF_H
+#define AKN_ICON_SRV_DEF_H
+
+// INCLUDES
+#include <e32std.h>
+#include <gdi.h>
+#include <AknIconUtils.h>
+#include "AknIconTraces.h"
+
+// FORWARD DECLARATIONS
+class CBitwiseBitmap;
+class CAknIconSrvIconItem;
+class CAknIconDataItem;
+
+// CONSTANTS
+
+const TUint32 KColorNotDefined = 0xFF000000;
+
+_LIT( KAknIconDefaultDir, "z:\\resource\\apps\\" );
+const TInt KAknIconDefaultDirLength = 17;
+_LIT( KDriveZ, "Z:" );
+const TInt KDriveLength = 2;
+
+// DATA STRUCTURES
+
+struct TAknIconSrvReturnData
+ {
+ // bitmap
+ TInt iBitmapHandle;
+ // mask
+ TInt iMaskHandle;
+ // content dimensions
+ TAknContentDimensions iContentDimensions;
+ };
+
+// Init. data moved from server side to client side when session is connected.
+struct TAknIconInitData
+ {
+ // configuration from resource file
+ TInt iCompression;
+
+ TDisplayMode iIconMode;
+ TDisplayMode iIconMaskMode;
+
+ TDisplayMode iPhotoMode;
+
+ TDisplayMode iVideoMode;
+
+ TDisplayMode iOffscreenMode;
+ TDisplayMode iOffscreenMaskMode;
+ };
+
+struct TAknIconParams
+ {
+ enum TFlags
+ {
+ EFlagUsesDefaultIconDir = 0x0001,
+ EFlagMbmIcon = 0x0002,
+ EFlagExcludeFromCache = 0x0004, // do not cache dynamically
+ EFlagDisableCompression = 0x0008 // disable bitmap compression
+ };
+
+ TAknIconParams::TAknIconParams():iFlags(0)
+ {
+ }
+
+ TBool IsDefaultIconDirUsed() const
+ {
+ return iFlags & EFlagUsesDefaultIconDir;
+ }
+
+ void SetDefaultIconDirUsed()
+ {
+ iFlags |= EFlagUsesDefaultIconDir;
+ }
+
+ TBool IsMbmIcon() const
+ {
+ return iFlags & EFlagMbmIcon;
+ }
+
+ void SetMbmIcon()
+ {
+ iFlags |= EFlagMbmIcon;
+ }
+
+ TBool IsExcludedFromCache() const
+ {
+ return iFlags & EFlagExcludeFromCache;
+ }
+
+ void ExcludeFromCache()
+ {
+ iFlags |= EFlagExcludeFromCache;
+ }
+
+ TBool IsCompressionDisabled() const
+ {
+ return iFlags & EFlagDisableCompression;
+ }
+
+ void DisableCompression()
+ {
+ iFlags |= EFlagDisableCompression;
+ }
+
+#ifdef __AKNICON_TRACES
+ void PrintInfo()
+ {
+ RDebug::Print( _L("AknIcon: %x TAknIconParams info begin"), this);
+ RDebug::Print( _L("AknIcon: %x TAknIconParams iFileName=%S"), this,&iFileName);
+ RDebug::Print( _L("AknIcon: %x TAknIconParams iBitmapId=%d, iMaskId=%d"), this, iBitmapId, iMaskId);
+ RDebug::Print( _L("AknIcon: %x TAknIconParams iSize=(%d,%d), iMode=%d, iRotationAngle=%d"), this, iSize.iWidth, iSize.iHeight, iMode, iRotationAngle);
+ RDebug::Print( _L("AknIcon: %x TAknIconParams iColor=%d, iFile=%x, iFlags=%x"), this, iColor, iFlags);
+ RDebug::Print( _L("AknIcon: %x TAknIconParams info end"), this);
+ }
+#endif
+
+ // Note! Default icon dir must always be excluded from this file name!
+ TFileName iFileName;
+ TInt iBitmapId;
+ TInt iMaskId;
+ TSize iSize;
+ TInt iMode;
+ TInt iRotationAngle;
+ TRgb iColor;
+
+ // Used when client supplies file handle. This cannot be used directly
+ // on the other side of an IPC boundary. Instead, RFile's "transfer"
+ // and "adopt" methods must be used.
+ RFile iFile;
+ TBool iAppIcon;
+ private:
+ TInt iFlags; // flags
+ };
+
+struct TAknIconSrvSessionIconItem
+ {
+ const CAknIconSrvIconItem* iIcon;
+ TInt iUserCount; // both bitmap and mask increase this
+
+ static TInt LinearOrder(
+ const TAknIconSrvSessionIconItem& aFirst,
+ const TAknIconSrvSessionIconItem& aSecond )
+ {
+ return reinterpret_cast<TInt>(aFirst.iIcon)-
+ reinterpret_cast<TInt>(aSecond.iIcon);
+ }
+ };
+
+struct TAknIconSrvSessionPreservedItem
+ {
+ const CAknIconDataItem* iDataItem;
+ TInt iUserCount;
+ };
+
+#endif // AKN_ICON_SRV_DEF_H
+
+// End of File