diff -r 000000000000 -r 1ddebce53859 camerauis/activepalette/Src/ActivePalette2Utils.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/camerauis/activepalette/Src/ActivePalette2Utils.cpp Thu Jan 07 16:18:56 2010 +0200 @@ -0,0 +1,356 @@ +/* +* Copyright (c) 2007 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: Active Palette Utilities* +*/ + + +/** + * @file ActivePalette2Utils.cpp + * Active Palette Utilities + */ + +// INCLUDE FILES +#include "ActivePalette2Utils.h" + +#include "ActivePalette2Cfg.h" + +#include +#include +#include +#include +#include + +// LOCAL CONSTANTS + +// ================= MEMBER FUNCTIONS ======================= + +// ----------------------------------------------------------------------------- +// ActivePalette2Utils::CreateDrawingObjectsL( +// ----------------------------------------------------------------------------- +// +void ActivePalette2Utils::CreateDrawingObjectsL(const TDisplayMode aDisplayMode, + const TSize aSize, + CFbsBitmap** aBitmap, + CFbsBitmapDevice** aDevice, + CBitmapContext** aGc) + { + CreateDrawingObjectsLC(aDisplayMode,aSize,aBitmap,aDevice,aGc); + CleanupStack::Pop(*aGc); + CleanupStack::Pop(*aDevice); + CleanupStack::Pop(*aBitmap); + } + +// ----------------------------------------------------------------------------- +// ActivePalette2Utils::CreateDrawingObjectsLC() +// ----------------------------------------------------------------------------- +// +void ActivePalette2Utils::CreateDrawingObjectsLC(const TDisplayMode aDisplayMode, + const TSize aSize, + CFbsBitmap** aBitmap, + CFbsBitmapDevice** aDevice, + CBitmapContext** aGc) + { + *aBitmap = new (ELeave) CFbsBitmap(); + CleanupStack::PushL(*aBitmap); + + User::LeaveIfError((*aBitmap)->Create(aSize,aDisplayMode)); + + *aDevice = CFbsBitmapDevice::NewL(*aBitmap); + CleanupStack::PushL(*aDevice); + + CFbsBitGc* context; + User::LeaveIfError((*aDevice)->CreateContext(context)); + *aGc = context; + CleanupStack::PushL(*aGc); + } + +// ----------------------------------------------------------------------------- +// ActivePalette2Utils::CreateDrawingObjectsL() +// ----------------------------------------------------------------------------- +// +void ActivePalette2Utils::CreateDrawingObjectsL(const TSize aSize, + CFbsBitmap** aBitmap, + CFbsBitmapDevice** aDevice, + CBitmapContext** aGc) + { + TInt color; + TInt gray; + TDisplayMode displayMode; + displayMode = CEikonEnv::Static()->WsSession().GetDefModeMaxNumColors(color,gray); + CreateDrawingObjectsL(displayMode,aSize,aBitmap,aDevice,aGc); + } + +// ----------------------------------------------------------------------------- +// ActivePalette2Utils::DeleteDrawingObjects() +// ----------------------------------------------------------------------------- +// +void ActivePalette2Utils::DeleteDrawingObjects( CFbsBitmap** aBitmap, + CFbsBitmapDevice** aDevice, + CBitmapContext** aGc) + { + if (*aGc) + { + delete *aGc; + *aGc = NULL; + } + if (*aDevice) + { + delete *aDevice; + *aDevice = NULL; + } + if (*aBitmap) + { + delete *aBitmap; + *aBitmap = NULL; + } + } + + +// ----------------------------------------------------------------------------- +// ActivePalette2Utils::APDimension() +// ----------------------------------------------------------------------------- +// +TInt ActivePalette2Utils::APDimension( TAPDimension aDimensionType, TInt aGeneric ) + { + TSize ScreenSize( 0, 0 ); + AknLayoutUtils::LayoutMetricsSize( AknLayoutUtils::EScreen, ScreenSize ); + TInt baseheight = 240; + TInt lower = 0; + if ( ScreenSize.iWidth < ScreenSize.iHeight ) + { + lower = ScreenSize.iWidth; + } + else + { + lower = ScreenSize.iHeight; + } + TReal ratio = TReal(lower)/baseheight; + TInt returnValue = 0; + TReal roundResult; + switch ( aDimensionType ) + { + case EItemWidth: + { + Math::Round( roundResult, ratio*NAP2Cfg::KItemWidth, 0 ); + } + break; + case EItemHeight: + { + Math::Round( roundResult, ratio*NAP2Cfg::KItemHeight, 0 ); + } + break; + case EPaletteWidth: + { + Math::Round( roundResult, ratio*NAP2Cfg::KPaletteWidth, 0 ); + } + break; + case ETopSectionHeight: + { + Math::Round( roundResult, ratio*NAP2Cfg::KTopSectionHeight, 0 ); + } + break; + case EBottomSectionHeight: + { + Math::Round( roundResult, ratio*NAP2Cfg::KBottomSectionHeight, 0 ); + } + break; + case EGapBetweenItems: + { + Math::Round( roundResult, ratio*NAP2Cfg::KGapBetweenItems, 0 ); + } + break; + case EItemXOffset: + { + Math::Round( roundResult, ratio*NAP2Cfg::KItemXOffset, 0 ); + } + break; + case EFocusRingWidth: + { + Math::Round( roundResult, ratio*NAP2Cfg::KFocusRingWidth, 0 ); + } + break; + case EFocusRingHeight: + { + Math::Round( roundResult, ratio*NAP2Cfg::KFocusRingHeight, 0 ); + } + break; + case EFocusRingXOffset: + { + Math::Round( roundResult, ratio*NAP2Cfg::KFocusRingXOffset, 0 ); + } + break; + case EFocusRingYOffset: + { + Math::Round( roundResult, ratio*NAP2Cfg::KFocusRingYOffset, 0 ); + } + break; + case ETooltipYOffset: + { + Math::Round( roundResult, ratio*NAP2Cfg::KTooltipYOffset, 0 ); + } + break; + case ETooltipHeight: + { + Math::Round( roundResult, NAP2Cfg::KTooltipFactor*ratio*NAP2Cfg::KTooltipHeight, 0 ); + } + break; + case ETooltipWidth: + { + Math::Round( roundResult, NAP2Cfg::KTooltipFactor*ratio*NAP2Cfg::KTooltipWidth, 0 ); + } + break; + case ETooltipBaseline: + { + Math::Round( roundResult, ratio*NAP2Cfg::KTooltipBaseline, 0 ); + } + break; + case ETooltipTail: + { + Math::Round( roundResult, NAP2Cfg::KTooltipFactor*ratio*NAP2Cfg::KTooltipTail, 0 ); + } + break; + case ETooltipNose: + { + Math::Round( roundResult, NAP2Cfg::KTooltipFactor*ratio*NAP2Cfg::KTooltipNose, 0 ); + } + break; + case E3dTooltipTextYOffset: + { + Math::Round( roundResult, ratio*NAP2Cfg::K3dTooltipTextYOffset, 0 ); + } + break; + case E3dTooltipMaxWidth: + { + roundResult = ScreenSize.iWidth; + } + break; + case EGenericParam: + { + Math::Round( roundResult, ratio*aGeneric, 0 ); + } + break; + default: + { + //PRINT( _L("Camera :: CCamAppUi::HandleCommandL Panic!") ) + //CamPanic( ECamPanicUi ); + } + break; + } + returnValue = TInt(roundResult); + return returnValue; + } + + +// ----------------------------------------------------------------------------- +// ActivePalette2Utils::APDimensionSize() +// ----------------------------------------------------------------------------- +// +TSize ActivePalette2Utils::APDimensionSize( TAPDimensionSize aDimensionSize ) + { + TSize returnSize( 0, 0 ); + switch ( aDimensionSize ) + { + case EItemSize: + { + TInt width = ActivePalette2Utils::APDimension( EItemWidth ); + TInt height = ActivePalette2Utils::APDimension( EItemHeight ); + returnSize.SetSize( width, height ); + } + break; + case E3dPaletteTextureSize: + { + TInt width = ActivePalette2Utils::APDimension( EGenericParam, K3dPaletteTextureSize.iWidth ); + TInt height = ActivePalette2Utils::APDimension( EGenericParam, K3dPaletteTextureSize.iHeight ); + returnSize.SetSize( width, height ); + } + break; + case E3dScrollIconSize: + { + TInt width = ActivePalette2Utils::APDimension( EGenericParam, K3dScrollIconSize.iWidth ); + TInt height = ActivePalette2Utils::APDimension( EGenericParam, K3dScrollIconSize.iHeight ); + returnSize.SetSize( width, height ); + } + break; + case E3dFocusRingSize: + { + TInt width = ActivePalette2Utils::APDimension( EGenericParam, K3dFocusRingSize.iWidth ); + TInt height = ActivePalette2Utils::APDimension( EGenericParam, K3dFocusRingSize.iHeight ); + returnSize.SetSize( width, height ); + } + break; + default: + { + //PRINT( _L("Camera :: CCamAppUi::HandleCommandL Panic!") ) + //CamPanic( ECamPanicUi ); + } + break; + } + return returnSize; + } + +// ----------------------------------------------------------------------------- +// ActivePalette2Utils::APDimensionPoint() +// ----------------------------------------------------------------------------- +// +TPoint ActivePalette2Utils::APDimensionPoint( TAPDimensionPoint aDimensionPoint ) + { + TPoint returnPoint( 0, 0 ); + switch ( aDimensionPoint ) + { + case EDefault2dPaletteOffset: + { + TInt x = ActivePalette2Utils::APDimension( EGenericParam, KDefault2dPaletteOffset.iX ); + TInt y = ActivePalette2Utils::APDimension( EGenericParam, KDefault2dPaletteOffset.iY ); + returnPoint.SetXY( x, y ); + } + break; + case EDefault3dPaletteOffset: + { + TInt x = ActivePalette2Utils::APDimension( EGenericParam, KDefault3dPaletteOffset.iX ); + TInt y = ActivePalette2Utils::APDimension( EGenericParam, KDefault3dPaletteOffset.iY ); + returnPoint.SetXY( x, y ); + } + break; + case E3dScrollIconOffset: + { + TInt x = ActivePalette2Utils::APDimension( EGenericParam, K3dScrollIconOffset.iX ); + TInt y = ActivePalette2Utils::APDimension( EGenericParam, K3dScrollIconOffset.iY ); + returnPoint.SetXY( x, y ); + } + break; + case E3dFocusRingOffset: + { + TInt x = ActivePalette2Utils::APDimension( EGenericParam, K3dFocusRingOffset.iX ); + TInt y = ActivePalette2Utils::APDimension( EGenericParam, K3dFocusRingOffset.iY ); + returnPoint.SetXY( x, y ); + } + break; + case E3dTooltipOffset: + { + TInt x = -ActivePalette2Utils::APDimension( EItemXOffset ); + TInt y = ActivePalette2Utils::APDimension( EGenericParam, K3dTooltipOffset.iY ); + returnPoint.SetXY( x, y ); + } + break; + default: + { + //PRINT( _L("Camera :: CCamAppUi::HandleCommandL Panic!") ) + //CamPanic( ECamPanicUi ); + } + break; + } + return returnPoint; + } + +// End of File