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