sl@0: // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // testadvancedsettings.h sl@0: // sl@0: // sl@0: sl@0: #ifndef TESTADVANCEDSETTINGS_H sl@0: #define TESTADVANCEDSETTINGS_H sl@0: sl@0: #include "TestCamera.h" sl@0: #include sl@0: sl@0: const TInt KNumOfAdvSetExtensions = 3; sl@0: const TInt KNumOfPresetExtensions = 1; sl@0: const TInt KNumAvailableCameras = 1; sl@0: const TInt KFeatureNotSupported = 0; sl@0: const TInt KSupportedDriveModes = CCamera::CCameraAdvancedSettings::EDriveModeAuto | CCamera::CCameraAdvancedSettings::EDriveModeSingleShot | CCamera::CCameraAdvancedSettings::EDriveModeBurst; sl@0: const CCamera::CCameraAdvancedSettings::TDriveMode KDefaultDriveMode = CCamera::CCameraAdvancedSettings::EDriveModeSingleShot; sl@0: const TBool KDefaultRedEyeReduce = EFalse; sl@0: const TInt KFlashCompensationStep = 0; sl@0: const TBool KExternalFlashPresentState = EFalse; sl@0: const TInt KExposureCompensationStep = 0; sl@0: const TBool KApertureExposureLockOn = EFalse; sl@0: const TBool KShootClickOn = EFalse; sl@0: const TInt64 KTimeLapse = 0; sl@0: const CCamera::CCameraAdvancedSettings::TPixelAspectRatio KSupportedPixelAspectRatio = CCamera::CCameraAdvancedSettings::EPixelAspectUnknown; sl@0: const CCamera::CCameraAdvancedSettings::TYuvRange KSupportedYuvRange = CCamera::CCameraAdvancedSettings::EYuvRangeUnknown; sl@0: const TInt KBurstImages = 4; sl@0: const TInt KMaxBurstImages = 10; sl@0: const TBool KExposureLockOn = EFalse; sl@0: const TBool KAutoFocusLockOn = EFalse; sl@0: const TBool KAutomaticSizeSelectionChangeOn = EFalse; sl@0: const CCamera::CCameraAdvancedSettings::TStabilizationEffect KStabilizationEffect = CCamera::CCameraAdvancedSettings::EStabilizationOff; sl@0: const CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity KStabilizationComplexity = CCamera::CCameraAdvancedSettings::EStabilizationComplexityAuto; sl@0: const CCamera::CCameraAdvancedSettings::TWBUnits KSupportedWBUnits = CCamera::CCameraAdvancedSettings::EWBUnknown; sl@0: const TBool KFlashReadyState = EFalse; sl@0: const CCamera::CCameraAdvancedSettings::TPreCaptureWarning KPreCaptureWarning = CCamera::CCameraAdvancedSettings::EPCWNone; sl@0: const CCamera::CCameraAdvancedSettings::TAFAssistantLight KAFAssisstantLight = CCamera::CCameraAdvancedSettings::EAFAssistantLightOff; sl@0: const CCamera::CCameraAdvancedSettings::TISORateType KSupportedISORateTypes = CCamera::CCameraAdvancedSettings::EISOManual; sl@0: const TInt KDefaultIsoRate = 200; sl@0: const TInt KDefaultAperture = 280; sl@0: const TInt KDefaultShutterSpeed = 100; sl@0: const TInt KDefaultFocusDistance = 100; sl@0: sl@0: // Implementations of the MCameraAdvancedSettings class sl@0: class CTestCamAdvSet : public CBase, sl@0: public MCameraAdvancedSettings, sl@0: public MCameraAdvancedSettings2, sl@0: public MCameraAdvancedSettings3 sl@0: { sl@0: friend class CTestCamera; sl@0: public: sl@0: static CTestCamAdvSet* NewL(CTestCamera& aOwner); sl@0: ~CTestCamAdvSet(); sl@0: sl@0: protected: sl@0: //from MCameraAdvancedSettings sl@0: void Release(); sl@0: CCamera::CCameraAdvancedSettings::TCameraType CameraType() const; sl@0: CCamera::CCameraAdvancedSettings::TCameraType CameraType(TInt aCameraIndex) const; sl@0: TBool IsCameraPresent() const; sl@0: TBool IsCameraPresent(TInt aCameraIndex) const; sl@0: TInt CameraIndex() const; sl@0: TInt SupportedStabilizationModes() const; sl@0: CCamera::CCameraAdvancedSettings::TStabilizationMode StabilizationMode() const; sl@0: void SetStabilizationMode(CCamera::CCameraAdvancedSettings::TStabilizationMode aStabilizationMode); sl@0: TInt SupportedFocusModes() const; sl@0: CCamera::CCameraAdvancedSettings::TFocusMode FocusMode() const; sl@0: void SetFocusMode(CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode); sl@0: TInt SupportedFocusRanges() const; sl@0: CCamera::CCameraAdvancedSettings::TFocusRange FocusRange() const; sl@0: void SetFocusRange(CCamera::CCameraAdvancedSettings::TFocusRange aFocusRange); sl@0: TInt SupportedAutoFocusTypes() const; sl@0: CCamera::CCameraAdvancedSettings::TAutoFocusType AutoFocusType() const; sl@0: void SetAutoFocusType(CCamera::CCameraAdvancedSettings::TAutoFocusType aAutoFocusType); sl@0: TInt SupportedAutoFocusAreas() const; sl@0: CCamera::CCameraAdvancedSettings::TAutoFocusArea AutoFocusArea() const; sl@0: void SetAutoFocusArea(CCamera::CCameraAdvancedSettings::TAutoFocusArea aAutoFocusArea); sl@0: TInt FocusDistance() const; sl@0: void SetFocusDistance(TInt aDistance); sl@0: TInt GetMinFocalLength() const; sl@0: void GetSupportedIsoRatesL(RArray& aSupportedIsoRates) const; sl@0: TInt IsoRate() const; sl@0: void SetIsoRate(TInt aRate); sl@0: void GetAperturesL(RArray& aFStops, TValueInfo& aInfo) const; sl@0: TInt Aperture() const; sl@0: void SetAperture(TInt aFStop); sl@0: void GetShutterSpeedsL(RArray& aShutterSpeeds, TValueInfo& aInfo) const; sl@0: TInt ShutterSpeed() const; sl@0: void SetShutterSpeed(TInt aShutterSpeed); sl@0: TInt SupportedMeteringModes() const; sl@0: CCamera::CCameraAdvancedSettings::TMeteringMode MeteringMode() const; sl@0: void SetMeteringMode(CCamera::CCameraAdvancedSettings::TMeteringMode aMeteringMode); sl@0: TInt SupportedDriveModes() const; sl@0: CCamera::CCameraAdvancedSettings::TDriveMode DriveMode() const; sl@0: void SetDriveMode(CCamera::CCameraAdvancedSettings::TDriveMode aDriveMode); sl@0: TInt SupportedBracketModes() const; sl@0: CCamera::CCameraAdvancedSettings::TBracketMode BracketMode() const; sl@0: void SetBracketMode(CCamera::CCameraAdvancedSettings::TBracketMode aBracketMode); sl@0: TInt SupportedBracketParameters() const; sl@0: CCamera::CCameraAdvancedSettings::TBracketParameter BracketParameter() const; sl@0: void SetBracketParameter(CCamera::CCameraAdvancedSettings::TBracketParameter aBracketParameter); sl@0: TInt SupportedBracketSteps() const; sl@0: CCamera::CCameraAdvancedSettings::TBracketStep BracketStep() const; sl@0: void SetBracketStep(CCamera::CCameraAdvancedSettings::TBracketStep aBracketStep); sl@0: void GetBracketMerge(TInt& aStartIndex, TInt& aFrames) const; sl@0: void SetBracketMerge(TInt aStartIndex, TInt aFrames); sl@0: TInt SupportedFlashModes() const; sl@0: CCamera::TFlash FlashMode() const; sl@0: void SetFlashMode(CCamera::TFlash aMode); sl@0: TBool RedEyeReduceOn() const; sl@0: void SetRedEyeReduceOn(TBool aState); sl@0: void GetFlashCompensationStepsL(RArray& aFlashCompensationSteps, TValueInfo& aInfo) const; sl@0: TInt FlashCompensationStep() const; sl@0: TInt GetFlashCompensationStep(TInt& aFlashCompensationStep) const; sl@0: void SetFlashCompensationStep(TInt aFlashCompensationStep); sl@0: void GetFlashCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const; sl@0: TInt FlashCompensation() const; sl@0: TInt GetFlashCompensation(TInt& aFlashCompensation) const; sl@0: void SetFlashCompensation(TInt aFlashCompensationSteps); sl@0: TBool IsExternalFlashPresent() const; sl@0: void GetManualFlashPowerLevelsL(RArray& aManualFlashPowerLevels, TValueInfo& aInfo) const; sl@0: TInt ManualFlashPowerLevel() const; sl@0: void SetManualFlashPowerLevel(TInt aManualFlashPowerLevel); sl@0: TInt SupportedExposureModes() const; sl@0: CCamera::TExposure ExposureMode() const; sl@0: void SetExposureMode(CCamera::TExposure aExposureMode); sl@0: void GetExposureCompensationStepsL(RArray& aExposureCompensationSteps, TValueInfo& aInfo) const; sl@0: TInt ExposureCompensationStep() const; sl@0: TInt GetExposureCompensationStep(TInt& aExposureCompensationStep) const; sl@0: void SetExposureCompensationStep(TInt aExposureCompensationStep); sl@0: void GetExposureCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const; sl@0: TInt ExposureCompensation() const; sl@0: TInt GetExposureCompensation(TInt& aExposureCompensation) const; sl@0: void SetExposureCompensation(TInt aExposureCompensationSteps); sl@0: TInt SupportedWhiteBalanceModes() const; sl@0: CCamera::TWhiteBalance WhiteBalanceMode() const; sl@0: void SetWhiteBalanceMode(CCamera::TWhiteBalance aWhiteBalanceMode); sl@0: TBool ApertureExposureLockOn() const; sl@0: void SetApertureExposureLockOn(TBool aAELock); sl@0: TBool ShootClickOn() const; sl@0: void SetShootClickOn(TBool aShootClickOn); sl@0: void GetTimerIntervalsL(RArray& aTimerIntervals, TValueInfo& aInfo) const; sl@0: TInt TimerInterval() const; sl@0: void SetTimerInterval(TInt aTimerInterval); sl@0: void GetTimeLapsePeriodRange(TTime& aTimeLapseMin, TTime& aTimeLapseMax) const; sl@0: void GetTimeLapse(TTime& aStart, TTime& aEnd, TTime& aInterval) const; sl@0: void SetTimeLapse(const TTime& aStart, const TTime& aEnd, const TTime& aInterval); sl@0: CCamera::CCameraAdvancedSettings::TPictureOrientation PictureOrientation() const; sl@0: void SetPictureOrientation(CCamera::CCameraAdvancedSettings::TPictureOrientation aOrientation); sl@0: TInt SupportedPixelAspectRatios() const; sl@0: CCamera::CCameraAdvancedSettings::TPixelAspectRatio PixelAspectRatio() const; sl@0: void SetPixelAspectRatio(CCamera::CCameraAdvancedSettings::TPixelAspectRatio aPixelAspectRatio); sl@0: TInt SupportedYuvRanges() const; sl@0: CCamera::CCameraAdvancedSettings::TYuvRange YuvRange() const; sl@0: void SetYuvRange(CCamera::CCameraAdvancedSettings::TYuvRange aYuvRange); sl@0: TInt BurstImages() const; sl@0: void SetBurstImages(TInt aImages); sl@0: void GetOpticalZoomStepsL(RArray& aOpticalZoomSteps, TValueInfo& aInfo) const; sl@0: TInt OpticalZoom() const; sl@0: void SetOpticalZoom(TInt aOpticalZoom); sl@0: void GetDigitalZoomStepsL(RArray& aDigitalZoomSteps, TValueInfo& aInfo) const; sl@0: TInt DigitalZoom() const; sl@0: void SetDigitalZoom(TInt aDigitalZoom); sl@0: TBool ExposureLockOn() const; sl@0: void SetExposureLockOn(TBool aState); sl@0: TBool AutoFocusLockOn() const; sl@0: void SetAutoFocusLockOn(TBool aState); sl@0: void GetSupportedSettingsL(RArray& aSettings) const; sl@0: void GetActiveSettingsL(RArray& aActiveSettings) const; sl@0: void GetDisabledSettingsL(RArray& aDisabledSettings) const; sl@0: TBool AutomaticSizeSelectionChangeOn() const; sl@0: void SetAutomaticSizeSelectionChangeOn(TBool aSetOn); sl@0: void GetSupportedContinuousAutoFocusTimeoutsL(RArray& aTimeouts, TValueInfo& aInfo) const; sl@0: TInt ContinuousAutoFocusTimeout() const; sl@0: void SetContinuousAutoFocusTimeout(TInt aTimeout); sl@0: TInt SupportedStabilizationEffects() const; sl@0: CCamera::CCameraAdvancedSettings::TStabilizationEffect StabilizationEffect() const; sl@0: void SetStabilizationEffect(CCamera::CCameraAdvancedSettings::TStabilizationEffect aEffect); sl@0: TInt SupportedStabilizationComplexityValues() const; sl@0: CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity StabilizationComplexity() const; sl@0: void SetStabilizationComplexity(CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity aComplexity); sl@0: CCamera::CCameraAdvancedSettings::TWBUnits SupportedWBUnits() const; sl@0: void GetWBRgbValue(TRgb& aValue) const; sl@0: void SetWBRgbValue(const TRgb& aValue); sl@0: void GetWBSupportedColorTemperaturesL(RArray& aWBColorTemperatures, TValueInfo& aInfo) const; sl@0: TInt WBColorTemperature() const; sl@0: void SetWBColorTemperature(TInt aWBColorTemperature); sl@0: sl@0: //from MCameraAdvancedSettings2 sl@0: TInt IsFlashReady(TBool& aReady) const; sl@0: void GetCurrentFocusModeStepsL(RArray& aFocusModeSteps, TValueInfo& aInfo) const; sl@0: sl@0: //from MCameraAdvancedSettings3 sl@0: void GetSupportedISORateTypeL(TInt& aSupportedISORateTypes) const; sl@0: void SetISORate(CCamera::CCameraAdvancedSettings::TISORateType aISORateType, TInt aParam); sl@0: void GetISORateL(CCamera::CCameraAdvancedSettings::TISORateType& aISORateType, TInt& aParam, TInt& aISORate) const; sl@0: void SetReferenceScreen(CWsScreenDevice& aScreenDevice); sl@0: void GetDigitalZoomStepsForStillL(RArray& aDigitalZoomSteps, TValueInfo& aInfo, TInt aSizeIndex, sl@0: CCamera::TFormat aFormat, TBool& aIsInfluencePossible) const; sl@0: void GetDigitalZoomStepsForVideoL(RArray& aDigitalZoomSteps, TValueInfo& aInfo, TInt aFrameRateIndex, sl@0: TInt aSizeIndex, CCamera::TFormat aFormat, TBool& aIsInfluencePossible, CCamera::TExposure aExposure) const; sl@0: void GetPreCaptureWarningSupportedL(CCamera::CCameraAdvancedSettings::TCameraMode aCameraMode, TInt& aPreCaptureWarningSupported) const; sl@0: void SubscribeToPreCaptureWarningL(TInt aPreCaptureWarning); sl@0: void UnSubscribePreCaptureWarningL(); sl@0: void GetPreCaptureWarningL(TInt& aPreCaptureWarning) const; sl@0: void GetSupportedAFAssistantLightL(TInt& aSupportedAFAssistantLight) const; sl@0: void GetAFAssistantLightL(CCamera::CCameraAdvancedSettings::TAFAssistantLight& aAFAssistantLight) const; sl@0: void SetAFAssistantLight(CCamera::CCameraAdvancedSettings::TAFAssistantLight aAFAssistantLight); sl@0: sl@0: private: sl@0: CTestCamAdvSet(CTestCamera& aOwner); sl@0: void Init(); sl@0: void ConstructL(); sl@0: sl@0: private: sl@0: CTestCamera& iOwner; sl@0: sl@0: TInt iRefCount; sl@0: sl@0: CCamera::CCameraAdvancedSettings::TCameraType iCameraTypes[KNumAvailableCameras]; sl@0: TInt iFocusDistance; sl@0: RArray iSupportedISORates; sl@0: TInt iIsoRate; sl@0: CCamera::CCameraAdvancedSettings::TISORateType iISORateType; sl@0: RArray iSupportedApertures; sl@0: TInt iAperture; sl@0: RArray iSupportedShutterSpeeds; sl@0: TInt iShutterSpeed; sl@0: }; sl@0: sl@0: // Implementations of the MCameraPresets class sl@0: class CTestCamPresets : public CBase, sl@0: public MCameraPresets sl@0: { sl@0: //friend class CTestCamera; sl@0: public: sl@0: static CTestCamPresets* NewL(CTestCamera& aOwner); sl@0: ~CTestCamPresets(); sl@0: sl@0: protected: sl@0: //from MCameraPresets sl@0: void Release(); sl@0: void GetSupportedPresetsL(RArray& aPresets) const; sl@0: void SetPreset(TUid aPreset); sl@0: TUid Preset() const; sl@0: void GetAffectedSettingsL(RArray& aSettings) const; sl@0: void GetAssociatedSettingsL(TUid aPreset, RArray& aSettings) const; sl@0: sl@0: private: sl@0: CTestCamPresets(CTestCamera& aOwner); sl@0: void ConstructL(); sl@0: sl@0: private: sl@0: CTestCamera& iOwner; sl@0: sl@0: TInt iRefCount; sl@0: sl@0: RArray iSupportedPresets; sl@0: TUid iCurrentPreset; sl@0: sl@0: RArray iFactoryPresetAffectSettings; sl@0: }; sl@0: sl@0: #endif // TESTADVANCEDSETTINGS_H