diff -r 000000000000 -r 1ddebce53859 camerauis/cameraapp/generic/camerauiconfigmanager/inc/CameraUiConfigManager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/camerauis/cameraapp/generic/camerauiconfigmanager/inc/CameraUiConfigManager.h Thu Jan 07 16:18:56 2010 +0200 @@ -0,0 +1,468 @@ +/* +* Copyright (c) 2007-2009 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: CameraUiConfigManager API header. + * +*/ + + +#ifndef CAMERAUICONFIGMANAGER_H +#define CAMERAUICONFIGMANAGER_H + +// INCLUDES + +#include + + +// Photo/Video scene information +struct TSceneSettings + { + // Used for both image and video scene configuration. + TInt iSupported; + TInt iIdentifier; + TInt iExposureMode; + TInt iWhiteBalance; + TInt iFlash; + TInt iContrastMode; + TInt iFocalDistance; + /* + * The following 3 only used for image mode. In Video mode, we ignore this + */ + TInt iSharpnessMode; + TInt iLightSensitivityMode; + TInt iExposureCompensationValue; + /* + * 0 -> Read from ICM or else.. take the frame rate defined here into use + * only used in video. Ingored in image mode. + */ + TInt iFrameRate; + }; + + +class CCameraUiConfigManagerImp; + +// CCameraUiConfigManager API + +class CCameraUiConfigManager : public CBase + { + // ========================================================================= + public: // Constructors and destructor + + /** + * Symbian two-phased constructor. + * @since 2.8 + * @param aConfiguration + * engine changes. + */ + IMPORT_C static CCameraUiConfigManager* NewLC(); + + /** + * Symbian two-phased constructor. + * @since 2.8 + * @param aConfiguration + * engine changes. + */ + IMPORT_C static CCameraUiConfigManager* NewL(); + + /* + * Constructor + */ + CCameraUiConfigManager(); + + /** + * Destructor. + */ + ~CCameraUiConfigManager(); + + public: + + /* + * Checking for Color feature support + */ + IMPORT_C TBool IsColorToneFeatureSupported() const; + + /* + * To check for sharpness feature support + */ + IMPORT_C TBool IsSharpnessFeatureSupported() const; + + /* + * To check for white balance feature support + */ + IMPORT_C TBool IsWhiteBalanceFeatureSupported() const; + + /* + * Secondary camera support + */ + IMPORT_C TBool IsSecondaryCameraSupported() const; + + /* + * Direct Screen View Finder feature support + * aPrimaryCamera = ETrue ( Direct screen access support for primary camera ) + * aPrimaryCamera = EFalse ( Direct screen access support for secondary camera ) + */ + IMPORT_C TBool IsDSAViewFinderSupported( TBool aPrimaryCamera = ETrue ) const; + + /* + * Lens cover feature support + */ + IMPORT_C TBool IsLensCoverSupported() const; + + /* + * Xenon flash feature support + */ + IMPORT_C TBool IsXenonFlashSupported() const; + + /* + * Light sensitivity feature support + */ + IMPORT_C TBool IsISOSupported() const; + + /* + * EV feature support + */ + IMPORT_C TBool IsEVSupported() const; + + /* + * Flash mode feature support + */ + IMPORT_C TBool IsFlashModeSupported() const; + + + /* + * Contrast feature support + */ + IMPORT_C TBool IsContrastSupported() const; + + /* + * Brightness feature support + */ + IMPORT_C TBool IsBrightnessSupported() const; + + + /* + * Flash mode feature support + */ + IMPORT_C TBool IsExtendedLightSensitivitySupported() const; + + + /* + * One click upload feature support + */ + IMPORT_C TBool IsOneClickUploadSupported() const; + + + /* + * Video Light feature support + */ + IMPORT_C TBool IsVideoLightSupported() const; + + + /* + * Auto focus feature support + */ + IMPORT_C TBool IsAutoFocusSupported() const; + + /* + * Video Stabilization feature support + */ + IMPORT_C TBool IsVideoStabilizationSupported() const; + + /* + * Orientation sensor feature support + */ + IMPORT_C TBool IsOrientationSensorSupported() const; + + /* + * Face-tracking feature support + */ + IMPORT_C TBool IsFaceTrackingSupported() const; + + /* + * Optical joy stick feature support + */ + IMPORT_C TBool IsOpticalJoyStickSupported() const; + + /* + * location feature support + */ + IMPORT_C TBool IsLocationSupported() const; + + /* + * keywatcher feature support + */ + IMPORT_C TBool IsKeyLockWatcherSupported() const; + + /* + * Extended Digital Zoom feature support + */ + IMPORT_C TBool IsExtendedDigitalZoomSupported() const; + + /* + * MC photos support available + */ + IMPORT_C TBool IsPhotosSupported() const; + + /* + * Publish Zoom State support available + */ + IMPORT_C TBool IsPublishZoomStateSupported() const; + + /* + * EFalse = HW/Adapation sets AF to Hyperfocal during startup + * ETrue = Should be handled in UI + */ + IMPORT_C TBool IsAutofocusSetInHyperfocalAtStartup() const; + + /* + * Capture tone delay support available + */ + IMPORT_C TBool IsCaptureToneDelaySupported() const; + + /* + * UI Orientation Override feature support + */ + IMPORT_C TBool IsUIOrientationOverrideSupported() const; + + /* + * ThumbnailManager API feature support + */ + IMPORT_C TBool IsThumbnailManagerAPISupported() const; + + /* + * Capture tone delay in milliseconds. + */ + IMPORT_C TInt CaptureToneDelay() const; + + /* + * Required RAM memory for CameraApp + */ + IMPORT_C TInt RequiredRamMemory() const; + + /* + * Critical Level RAM memory for CameraApp + */ + IMPORT_C TInt CriticalLevelRamMemory() const; + + /* + * Required RAM memory for CameraApp when focus gained + */ + IMPORT_C TInt RequiredRamMemoryFocusGained() const; + + /* + * Critical Level RAM memory for CameraApp when focus gained + */ + IMPORT_C TInt CriticalLevelRamMemoryFocusGained() const; + + /* + * To get all supported color tone setting items + * aParam: aSupportedValues contain colortone setting enums supported by camera ui + * check camsettings.hrh for supported enums in camera ui + */ + IMPORT_C void SupportedColorToneSettingsL( RArray& aSupportedValues ); + + /* + * To get all supported white balance setting items + * aParam: aSupportedValues contain white balance setting enums supported by camera ui + * check camsettings.hrh for supported enums in camera ui + */ + IMPORT_C void SupportedWhiteBalanceSettingsL( + RArray& aSupportedValues ); + + /* + * To get all supported Sharpness setting items + * @aSupportedValues contains values ranging from MIN to MAX + */ + IMPORT_C void SupportedSharpnessSettingsL( RArray& aSupportedValues ); + + /* + * Primary Camera Zoom-In Keys + * aParam: aSupportedValues will have key scan codes configured via cenrep + */ + IMPORT_C void SupportedPrimaryCameraZoomInKeysL( RArray& aSupportedValues ); + + /* + * Primary Camera Zoom-Out Keys + * aParam: aSupportedValues will have key scan codes configured via cenrep + */ + IMPORT_C void SupportedPrimaryCameraZoomOutKeysL( RArray& aSupportedValues ); + + /* + * Secondary Camera Zoom-In Keys + * aParam: aSupportedValues will have key scan codes configured via cenrep + */ + IMPORT_C void SupportedSecondaryCameraZoomInKeysL( RArray& aSupportedValues ); + + /* + * Secondary Camera Zoom-Out Keys + * aParam: aSupportedValues will have key scan codes configured via cenrep + */ + IMPORT_C void SupportedSecondaryCameraZoomOutKeysL( RArray& aSupportedValues ); + + /* + * EV compensation supported settings + * aSupportedValues contains the complete range of EV settings from MIN to MAX + * @e.g. -2,2,10 ( aSupportedValues[0] = MIN, + * aSupportedValues[1] = MAX, + * aSupportedValues[2] = Steps ) + */ + IMPORT_C void SupportedEVSettingsL( RArray& aSupportedValues ); + + + /* + * Flash mode setting items + * aParam: aSupportedValues contain flash mode enums supported by camera ui + * check camsettings.hrh for supported enums in camera ui + */ + IMPORT_C void SupportedFlashModeSettingsL( RArray& aSupportedValues ); + + + /* + * Primary camera capture key + * aParam: aSupportedValues will have key mappings for capture key + */ + IMPORT_C void SupportedPrimaryCameraCaptureKeyL( RArray& aSupportedValues ); + + /* + * Secondary camera capture key + * aParam: aSupportedValues will have key mappings for capture key + */ + IMPORT_C void SupportedSecondaryCameraCaptureKeyL( RArray& aSupportedValues ); + + /* + * Primary camera AF key + * aParam: aSupportedValues will have key mappings for Autofocus key + */ + IMPORT_C void SupportedPrimaryCameraAutoFocusKeyL( RArray& aSupportedValues ); + + /* + * Secondary camera AutoFocus key + * aParam: aSupportedValues will have key mappings for Autofocus key + */ + IMPORT_C void SupportedSecondaryCameraAutoFocusKeyL( RArray& aSupportedValues ); + + /* + * Supported contrast setting range values + * aParam: aSupportedValues will have contrast values ranging + * from MIN - MAX and step size + * aSupportedValues[0] -> MIN value + * aSupportedValues[1] -> MAX value + * aSupportedValues[2] -> Steps + */ + IMPORT_C void SupportedContrastRangeL( RArray& aSupportedValues ); + + /* + * Supported brightness setting range values + * aParam: aSupportedValues will have brightness values ranging + * from MIN - MAX and step size + * aSupportedValues[0] -> MIN value + * aSupportedValues[1] -> MAX value + * aSupportedValues[2] -> Steps + */ + IMPORT_C void SupportedBrightnessRangeL( RArray& aSupportedValues ); + + /* + * To get all supported Max Zoom steps for all Image, Video resoultions for + * primary and second camera + * @ aSupportedValues[ 0] -> KMaxPhoto8MPZoomStep + * @ aSupportedValues[ 1] -> KMaxPhoto5MPZoomStep + * @ aSupportedValues[ 2] -> KMaxPhoto3MPZoomStep + * @ aSupportedValues[ 3] -> KMaxPhoto2MPZoomStep + * @ aSupportedValues[ 4] -> KMaxPhoto1_3MPZoomStep + * @ aSupportedValues[ 5] -> KMaxPhoto1MPZoomStep + * @ aSupportedValues[ 6] -> KMaxPhoto08MPZoomStep + * @ aSupportedValues[ 7] -> ?? no constant in UI + * @ aSupportedValues[ 8] -> KMaxPhotoVGAZoomStep + * @ aSupportedValues[ 9] -> KMaxVideoZoomStepHD + * @ aSupportedValues[10] -> KMaxVideoZoomStepWVGA + * @ aSupportedValues[11] -> KMaxVideoZoomStepNHD + * @ aSupportedValues[12] -> KMaxVideoZoomStepVGA + * @ aSupportedValues[13] -> KMaxVideoZoomStepQVGA + * @ aSupportedValues[14] -> KMaxVideoZoomStepCIF + * @ aSupportedValues[15] -> KMaxVideoZoomStepQCIF + * @ aSupportedValues[16] -> iMaxVideoStepSQCIF + * @ aSupportedValues[17] -> KMax2ndCamPhotoStep + * @ aSupportedValues[18] -> KMax2ndCamVideoStepCIF + * @ aSupportedValues[19] -> KMax2ndCamVideoStepQCIF + * @ aSupportedValues[20] -> iMax2ndCamVideoStepSQCIF + */ + IMPORT_C void SupportedMaxZoomStepsL( RArray& aSupportedValues ); + + /* + * To get all supported photo specific MAX extended zoom steps w.r.t all photo + * resoultions ( only for main camera for now ) + * aSupportedValues[0] -> 5MP max ext-zoom step + * aSupportedValues[n] -> lowest resolution for main camera MAX ext-zoom step + */ + IMPORT_C void SupportedMaxExtendedZoomStepsL( + RArray& aSupportedValues ); + /* + * Supported zoom bar Look and Feel ( LAF ) values + * @aSupportedValues[0] -> Time per zoom tick in milliseconds + * @aSupportedValues[1] -> Time per extended zoom tick in milliseconds + * @aSupportedValues[2] -> No of zoom steps per tick + * @aSupportedValues[3] -> No of extended zoom steps per tick + * @aSupportedValues[4] -> Secondary camera zoom steps per tick + */ + IMPORT_C void SupportedLAFZoomBarL( + RArray& aSupportedValues ); + + /* + * Supported Image Scene modes and Scene specific settings + */ + IMPORT_C void SupportedSceneModesAndSettingsL( + RArray& aSupportedValues, + TBool aPhotoScene = ETrue ); + + /* + * Determines device qwerty-mode state. + * This method is meant to be used with secondary camera. + * @return ETrue if qwerty keyboard is open + */ + IMPORT_C TInt IsQwerty2ndCamera() const; + + /* + * Burst file size estimate correction factor + * in percent (100 = 100%). + * @return correction factor in percent + */ + IMPORT_C TInt BurstFileSizeEstimateFactor() const; + + /* + * @aSupportedValues[0] -> Value for iCamZoomCooldown + * @aSupportedValues[1] -> Value for iCamMaxZoomCooldown + */ + IMPORT_C void SupportedZoomDelaysL( + RArray& aSupportedValues ); + /* + * BurstMode Support + */ + IMPORT_C TBool IsBurstModeSupported() const; + + /* + * Continuous autofocus. + * @return ETrue if continuous autofocus feature is enabled + */ + IMPORT_C TBool IsContinuosAutofocusSupported() const; + + private: + void ConstructL(); + + private: + + CCameraUiConfigManagerImp* iConfigManagerImp; +}; + +#endif // CAMERAUICONFIGMANAGER_H + +// End of File