diff -r 61bc0f252b2b -r bac7acad7cb3 camerauis/cameraapp/generic/common/inc/camconfigurationutility.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/camerauis/cameraapp/generic/common/inc/camconfigurationutility.h Wed Sep 01 12:30:54 2010 +0100 @@ -0,0 +1,123 @@ +/* +* 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: Helper class for camera dynamic configuration +* +* +*/ + +#ifndef CAMCONFIGURATIONUTILITY_H +#define CAMCONFIGURATIONUTILITY_H + +#include +#include "camconfiguration.h" + +class CamConfigurationUtility + { + public: + + /** + * Returns index in KPhotoSizes table for given photo resolution + * @param aWidth Width + * @param aHeight Height + * @return Size index, or KErrNotFound + */ + static TInt PhotoSizeIndex( TInt aWidth, TInt aHeight ); + + /** + * Returns index in KVideoSizes table for given video resolution + * @param aWidth Width + * @param aHeight Height + * @return Size index, or KErrNotFound + */ + static TInt VideoSizeIndex( TInt aWidth, TInt aHeight ); + + /** + * Adjusts print qualities from ECamQualityPrint to ECamQualityPrintHigh and Low, + * where necessary. + * @param aPhotoQualities Array of image quality data + */ + static void AdjustPrintQualities( RArray& aPhotoQualities ); + + /** + * Sets video quality levels for an ordered array of video qualities data. + * + * @param aOrderedArray + */ + static void SetVideoQualityLevels( RArray& aOrderedArray ); + + /** + * Appends integer value to array, if the value is not yet present in the array. + * @param aValue Integer value + * @param aArray Integer array + */ + static void AddToArrayL( TInt aValue, RArray& aArray ); + + /** + * Returns index in KPhotoSizes table for given photo resolution + * @param aWidth Width + * @param aHeight Height + * @return Size id, or KErrNotFound + */ + static TInt VideoResolution( TInt aWidth, TInt aHeight ); + + /** + * Returns index in KPhotoSizes table for given photo resolution + * @param aWidth Width + * @param aHeight Height + * @return Size id, or KErrNotFound + */ + static TInt CamVideoResolution( TInt aWidth, TInt aHeight ); + + /** + * Returns TSize of for given photo resolution of the KPhotoSizes table + * @param Size id + * @return TSize resolution, or KErrNotFound + */ + static TSize CamVideoResolution( TCamVideoResolution aResolution ); + + /** + * + * @param aMimeType type + * @return Mime type + */ + static TInt VideoType( const TText8* aMimeType ); + + /** + * Converts CamcorderVisible value into video description id + * @param aQualityValue + * @return Description id + */ + static TCamVideoQualityDescription VideoDescId( TInt aQualityValue ); + + /** + * Converts CamcorderVisible value into image type + * @param aValue + * @return Image type + */ + static TCamImageType ImageType( TInt aValue ); + + + static TBool IsSupported( TInt aValue, TCamItemType aItemType, + const TCamImageQualityData& aData ); + + /** + * Get the scene setting id from dynamic setting id. + */ + static TInt MapDynamicSettingToSceneSetting( TInt aSettingId ); + }; + +#endif CAMCONFIGURATIONUTILITY_H + +// End of file +