uiresources_plat/graphic_configuration_api/inc/akniconconfig.h
changeset 0 05e9090e2422
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uiresources_plat/graphic_configuration_api/inc/akniconconfig.h	Thu Dec 17 09:14:12 2009 +0200
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2006 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 __AKNICONCONFIG_H__
+#define __AKNICONCONFIG_H__
+
+#include <e32def.h>
+#include <gdi.h> // for TDisplayMode
+#include <e32cmn.h> // for TUid
+
+class CFbsBitmap;
+
+class AknIconConfig
+    {
+    public:
+        /**
+        * A structure to contain the preferred display mode.
+        * if the iMaskMode is not applicable to a specific
+        * iBitmapMode, iMaskMode is set to ENone.
+        */
+        struct TPreferredDisplayMode
+            {
+            TDisplayMode iBitmapMode;
+            TDisplayMode iMaskMode;
+            };
+
+
+        /**
+        *  Specifies the image types, what can be used to enquire
+        *  preferred display modes. 
+        */
+        enum TImageType
+            {
+            EImageTypeIcon,
+            EImageTypePhoto,
+            EImageTypeVideo,
+            EImageTypeOffscreen
+            };
+
+        /**
+        * Gets the preferred displaymode for the given image type. Applications
+        * may use the aUid parameter to obtain application specific settings.
+        *
+        * @param aMode, On return contains the preferred display mode
+        *               for bitmap and mask if applicable
+        * @param aType  The type of the image to get preferred mode for.
+        * @param aUid The application uid if application specific mode is required
+        *
+        */
+        IMPORT_C static void PreferredDisplayMode(TPreferredDisplayMode& aMode, const TImageType aType, const TUid aUid = KNullUid);
+
+        /**
+        *  Compresses the given bitmap, if required. The compression may use
+        *  whatever compression type if available for bitmaps, or there
+        *  may be no compression at all. The uid parameter is used to control
+        *  possible application specific compression settings.
+        *
+        *  @param aBitmap, the bitmap to compress
+        *  @param aUid the application uid
+        */
+        IMPORT_C static void CompressIfPreferred(CFbsBitmap* aBitmap, const TUid aUid = KNullUid);
+
+        /**
+        *  Compresses the given bitmap and mask, if required. The compression may use
+        *  whatever compression type if available for bitmaps, or there
+        *  may be no compression at all. The uid parameter is used to control
+        *  possible application specific compression settings.
+        *
+        *  @param aBitmap, the bitmap to compress
+        *  @param aMask, the mask bitmap to compress
+        *  @param aUid the application uid.
+        */
+        IMPORT_C static void CompressIfPreferred(CFbsBitmap* aBitmap, CFbsBitmap* aMask, const TUid aUid = KNullUid);
+        
+        /**
+        * Internal function to perform the actual compression
+        */
+        static void CompressIfPreferred(CFbsBitmap* aBitmap, CFbsBitmap* aMask, const TInt aValue, const TUid aUid = KNullUid);
+
+		/**
+		* Enable or disable the cache.
+		* @param aEnable, ETrue to enable icon caching,
+		*                 EFalse to disable icon caching and clear the icon cache.
+		* @return KErrNone for success or error code from server request.
+		*/
+		IMPORT_C static TInt EnableAknIconSrvCache(TBool aEnable);
+    };
+
+
+#endif