diff -r 000000000000 -r 05e9090e2422 uigraphics/AknIcon/src/akniconconfig.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uigraphics/AknIcon/src/akniconconfig.cpp Thu Dec 17 09:14:12 2009 +0200 @@ -0,0 +1,140 @@ +/* +* 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: Implementation of class AknIconConfig. +* +*/ + + + + +#include "akniconconfig.h" +#include "AknIconSrvDef.h" +#include "AknIconSrvTlsData.h" +#include "AknIconSrvClient.h" + +#include + +// ----------------------------------------------------------------------------- +// AknIconConfig::PreferredDisplayMode +// ----------------------------------------------------------------------------- +// +EXPORT_C void AknIconConfig::PreferredDisplayMode(TPreferredDisplayMode& aMode, const TImageType aType, const TUid /*aUid*/) + { + CAknIconSrvTlsData* data = static_cast( Dll::Tls() ); + switch (aType) + { + case EImageTypeIcon: + { + aMode.iBitmapMode = data->iInitData.iIconMode; + aMode.iMaskMode = data->iInitData.iIconMaskMode; + break; + } + case EImageTypePhoto: + { + aMode.iBitmapMode = data->iInitData.iPhotoMode; + aMode.iMaskMode = ENone; + break; + } + case EImageTypeVideo: + { + aMode.iBitmapMode = data->iInitData.iVideoMode; + aMode.iMaskMode = ENone; + break; + } + case EImageTypeOffscreen: + { + aMode.iBitmapMode = data->iInitData.iOffscreenMode; + aMode.iMaskMode = data->iInitData.iOffscreenMaskMode; + break; + } + default: + { + aMode.iBitmapMode = EColor64K; + aMode.iMaskMode = EGray256; + break; + } + } + } + +// ----------------------------------------------------------------------------- +// AknIconConfig::CompressIfPreferred +// ----------------------------------------------------------------------------- +// +EXPORT_C void AknIconConfig::CompressIfPreferred(CFbsBitmap* aBitmap, const TUid aUid) + { + CompressIfPreferred(aBitmap, NULL, aUid); + } + +// ----------------------------------------------------------------------------- +// AknIconConfig::CompressIfPreferred +// ----------------------------------------------------------------------------- +// +EXPORT_C void AknIconConfig::CompressIfPreferred(CFbsBitmap* aBitmap, CFbsBitmap* aMask, const TUid aUid) + { + CAknIconSrvTlsData* data = static_cast( Dll::Tls() ); + CompressIfPreferred(aBitmap, aMask, data->iInitData.iCompression, aUid); + } + +// ----------------------------------------------------------------------------- +// AknIconConfig::CompressIfPreferred +// ----------------------------------------------------------------------------- +// +void AknIconConfig::CompressIfPreferred(CFbsBitmap* aBitmap, CFbsBitmap* aMask, const TInt aValue, const TUid /*aUid*/) + { + TBool compression = EFalse; + TBitmapfileCompressionScheme compressionValue; + switch (aValue) + { + case 0: + break; + case 1: + { + compression = ETrue; + compressionValue = ERLECompression; + break; + } + case 2: + { + compression = ETrue; + compressionValue = EPaletteCompression; + break; + } + default: + break; + } + + if (compression) + { + if (aBitmap) + { + aBitmap->CompressInBackground(compressionValue); + } + if (aMask) + { + aMask->CompressInBackground(compressionValue); + } + } + } + + + +// ----------------------------------------------------------------------------- +// AknIconConfig::EnableAknIconSrvCache +// ----------------------------------------------------------------------------- +// +EXPORT_C TInt AknIconConfig::EnableAknIconSrvCache(TBool aEnable) + { + RAknIconSrvClient* client = RAknIconSrvClient::GetSession(); + return client->EnableCache(aEnable); + }