Update contrib.
1 // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // testadvancedsettings.h
18 #ifndef TESTADVANCEDSETTINGS_H
19 #define TESTADVANCEDSETTINGS_H
21 #include "TestCamera.h"
22 #include <ecam/ecamadvsettingsintf.h>
24 const TInt KNumOfAdvSetExtensions = 3;
25 const TInt KNumOfPresetExtensions = 1;
26 const TInt KNumAvailableCameras = 1;
27 const TInt KFeatureNotSupported = 0;
28 const TInt KSupportedDriveModes = CCamera::CCameraAdvancedSettings::EDriveModeAuto | CCamera::CCameraAdvancedSettings::EDriveModeSingleShot | CCamera::CCameraAdvancedSettings::EDriveModeBurst;
29 const CCamera::CCameraAdvancedSettings::TDriveMode KDefaultDriveMode = CCamera::CCameraAdvancedSettings::EDriveModeSingleShot;
30 const TBool KDefaultRedEyeReduce = EFalse;
31 const TInt KFlashCompensationStep = 0;
32 const TBool KExternalFlashPresentState = EFalse;
33 const TInt KExposureCompensationStep = 0;
34 const TBool KApertureExposureLockOn = EFalse;
35 const TBool KShootClickOn = EFalse;
36 const TInt64 KTimeLapse = 0;
37 const CCamera::CCameraAdvancedSettings::TPixelAspectRatio KSupportedPixelAspectRatio = CCamera::CCameraAdvancedSettings::EPixelAspectUnknown;
38 const CCamera::CCameraAdvancedSettings::TYuvRange KSupportedYuvRange = CCamera::CCameraAdvancedSettings::EYuvRangeUnknown;
39 const TInt KBurstImages = 4;
40 const TInt KMaxBurstImages = 10;
41 const TBool KExposureLockOn = EFalse;
42 const TBool KAutoFocusLockOn = EFalse;
43 const TBool KAutomaticSizeSelectionChangeOn = EFalse;
44 const CCamera::CCameraAdvancedSettings::TStabilizationEffect KStabilizationEffect = CCamera::CCameraAdvancedSettings::EStabilizationOff;
45 const CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity KStabilizationComplexity = CCamera::CCameraAdvancedSettings::EStabilizationComplexityAuto;
46 const CCamera::CCameraAdvancedSettings::TWBUnits KSupportedWBUnits = CCamera::CCameraAdvancedSettings::EWBUnknown;
47 const TBool KFlashReadyState = EFalse;
48 const CCamera::CCameraAdvancedSettings::TPreCaptureWarning KPreCaptureWarning = CCamera::CCameraAdvancedSettings::EPCWNone;
49 const CCamera::CCameraAdvancedSettings::TAFAssistantLight KAFAssisstantLight = CCamera::CCameraAdvancedSettings::EAFAssistantLightOff;
50 const CCamera::CCameraAdvancedSettings::TISORateType KSupportedISORateTypes = CCamera::CCameraAdvancedSettings::EISOManual;
51 const TInt KDefaultIsoRate = 200;
52 const TInt KDefaultAperture = 280;
53 const TInt KDefaultShutterSpeed = 100;
54 const TInt KDefaultFocusDistance = 100;
56 // Implementations of the MCameraAdvancedSettings class
57 class CTestCamAdvSet : public CBase,
58 public MCameraAdvancedSettings,
59 public MCameraAdvancedSettings2,
60 public MCameraAdvancedSettings3
62 friend class CTestCamera;
64 static CTestCamAdvSet* NewL(CTestCamera& aOwner);
68 //from MCameraAdvancedSettings
70 CCamera::CCameraAdvancedSettings::TCameraType CameraType() const;
71 CCamera::CCameraAdvancedSettings::TCameraType CameraType(TInt aCameraIndex) const;
72 TBool IsCameraPresent() const;
73 TBool IsCameraPresent(TInt aCameraIndex) const;
74 TInt CameraIndex() const;
75 TInt SupportedStabilizationModes() const;
76 CCamera::CCameraAdvancedSettings::TStabilizationMode StabilizationMode() const;
77 void SetStabilizationMode(CCamera::CCameraAdvancedSettings::TStabilizationMode aStabilizationMode);
78 TInt SupportedFocusModes() const;
79 CCamera::CCameraAdvancedSettings::TFocusMode FocusMode() const;
80 void SetFocusMode(CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode);
81 TInt SupportedFocusRanges() const;
82 CCamera::CCameraAdvancedSettings::TFocusRange FocusRange() const;
83 void SetFocusRange(CCamera::CCameraAdvancedSettings::TFocusRange aFocusRange);
84 TInt SupportedAutoFocusTypes() const;
85 CCamera::CCameraAdvancedSettings::TAutoFocusType AutoFocusType() const;
86 void SetAutoFocusType(CCamera::CCameraAdvancedSettings::TAutoFocusType aAutoFocusType);
87 TInt SupportedAutoFocusAreas() const;
88 CCamera::CCameraAdvancedSettings::TAutoFocusArea AutoFocusArea() const;
89 void SetAutoFocusArea(CCamera::CCameraAdvancedSettings::TAutoFocusArea aAutoFocusArea);
90 TInt FocusDistance() const;
91 void SetFocusDistance(TInt aDistance);
92 TInt GetMinFocalLength() const;
93 void GetSupportedIsoRatesL(RArray<TInt>& aSupportedIsoRates) const;
95 void SetIsoRate(TInt aRate);
96 void GetAperturesL(RArray<TInt>& aFStops, TValueInfo& aInfo) const;
97 TInt Aperture() const;
98 void SetAperture(TInt aFStop);
99 void GetShutterSpeedsL(RArray<TInt>& aShutterSpeeds, TValueInfo& aInfo) const;
100 TInt ShutterSpeed() const;
101 void SetShutterSpeed(TInt aShutterSpeed);
102 TInt SupportedMeteringModes() const;
103 CCamera::CCameraAdvancedSettings::TMeteringMode MeteringMode() const;
104 void SetMeteringMode(CCamera::CCameraAdvancedSettings::TMeteringMode aMeteringMode);
105 TInt SupportedDriveModes() const;
106 CCamera::CCameraAdvancedSettings::TDriveMode DriveMode() const;
107 void SetDriveMode(CCamera::CCameraAdvancedSettings::TDriveMode aDriveMode);
108 TInt SupportedBracketModes() const;
109 CCamera::CCameraAdvancedSettings::TBracketMode BracketMode() const;
110 void SetBracketMode(CCamera::CCameraAdvancedSettings::TBracketMode aBracketMode);
111 TInt SupportedBracketParameters() const;
112 CCamera::CCameraAdvancedSettings::TBracketParameter BracketParameter() const;
113 void SetBracketParameter(CCamera::CCameraAdvancedSettings::TBracketParameter aBracketParameter);
114 TInt SupportedBracketSteps() const;
115 CCamera::CCameraAdvancedSettings::TBracketStep BracketStep() const;
116 void SetBracketStep(CCamera::CCameraAdvancedSettings::TBracketStep aBracketStep);
117 void GetBracketMerge(TInt& aStartIndex, TInt& aFrames) const;
118 void SetBracketMerge(TInt aStartIndex, TInt aFrames);
119 TInt SupportedFlashModes() const;
120 CCamera::TFlash FlashMode() const;
121 void SetFlashMode(CCamera::TFlash aMode);
122 TBool RedEyeReduceOn() const;
123 void SetRedEyeReduceOn(TBool aState);
124 void GetFlashCompensationStepsL(RArray<TInt>& aFlashCompensationSteps, TValueInfo& aInfo) const;
125 TInt FlashCompensationStep() const;
126 TInt GetFlashCompensationStep(TInt& aFlashCompensationStep) const;
127 void SetFlashCompensationStep(TInt aFlashCompensationStep);
128 void GetFlashCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const;
129 TInt FlashCompensation() const;
130 TInt GetFlashCompensation(TInt& aFlashCompensation) const;
131 void SetFlashCompensation(TInt aFlashCompensationSteps);
132 TBool IsExternalFlashPresent() const;
133 void GetManualFlashPowerLevelsL(RArray<TInt>& aManualFlashPowerLevels, TValueInfo& aInfo) const;
134 TInt ManualFlashPowerLevel() const;
135 void SetManualFlashPowerLevel(TInt aManualFlashPowerLevel);
136 TInt SupportedExposureModes() const;
137 CCamera::TExposure ExposureMode() const;
138 void SetExposureMode(CCamera::TExposure aExposureMode);
139 void GetExposureCompensationStepsL(RArray<TInt>& aExposureCompensationSteps, TValueInfo& aInfo) const;
140 TInt ExposureCompensationStep() const;
141 TInt GetExposureCompensationStep(TInt& aExposureCompensationStep) const;
142 void SetExposureCompensationStep(TInt aExposureCompensationStep);
143 void GetExposureCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const;
144 TInt ExposureCompensation() const;
145 TInt GetExposureCompensation(TInt& aExposureCompensation) const;
146 void SetExposureCompensation(TInt aExposureCompensationSteps);
147 TInt SupportedWhiteBalanceModes() const;
148 CCamera::TWhiteBalance WhiteBalanceMode() const;
149 void SetWhiteBalanceMode(CCamera::TWhiteBalance aWhiteBalanceMode);
150 TBool ApertureExposureLockOn() const;
151 void SetApertureExposureLockOn(TBool aAELock);
152 TBool ShootClickOn() const;
153 void SetShootClickOn(TBool aShootClickOn);
154 void GetTimerIntervalsL(RArray<TInt>& aTimerIntervals, TValueInfo& aInfo) const;
155 TInt TimerInterval() const;
156 void SetTimerInterval(TInt aTimerInterval);
157 void GetTimeLapsePeriodRange(TTime& aTimeLapseMin, TTime& aTimeLapseMax) const;
158 void GetTimeLapse(TTime& aStart, TTime& aEnd, TTime& aInterval) const;
159 void SetTimeLapse(const TTime& aStart, const TTime& aEnd, const TTime& aInterval);
160 CCamera::CCameraAdvancedSettings::TPictureOrientation PictureOrientation() const;
161 void SetPictureOrientation(CCamera::CCameraAdvancedSettings::TPictureOrientation aOrientation);
162 TInt SupportedPixelAspectRatios() const;
163 CCamera::CCameraAdvancedSettings::TPixelAspectRatio PixelAspectRatio() const;
164 void SetPixelAspectRatio(CCamera::CCameraAdvancedSettings::TPixelAspectRatio aPixelAspectRatio);
165 TInt SupportedYuvRanges() const;
166 CCamera::CCameraAdvancedSettings::TYuvRange YuvRange() const;
167 void SetYuvRange(CCamera::CCameraAdvancedSettings::TYuvRange aYuvRange);
168 TInt BurstImages() const;
169 void SetBurstImages(TInt aImages);
170 void GetOpticalZoomStepsL(RArray<TInt>& aOpticalZoomSteps, TValueInfo& aInfo) const;
171 TInt OpticalZoom() const;
172 void SetOpticalZoom(TInt aOpticalZoom);
173 void GetDigitalZoomStepsL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo) const;
174 TInt DigitalZoom() const;
175 void SetDigitalZoom(TInt aDigitalZoom);
176 TBool ExposureLockOn() const;
177 void SetExposureLockOn(TBool aState);
178 TBool AutoFocusLockOn() const;
179 void SetAutoFocusLockOn(TBool aState);
180 void GetSupportedSettingsL(RArray<TUid>& aSettings) const;
181 void GetActiveSettingsL(RArray<TUid>& aActiveSettings) const;
182 void GetDisabledSettingsL(RArray<TUid>& aDisabledSettings) const;
183 TBool AutomaticSizeSelectionChangeOn() const;
184 void SetAutomaticSizeSelectionChangeOn(TBool aSetOn);
185 void GetSupportedContinuousAutoFocusTimeoutsL(RArray<TInt>& aTimeouts, TValueInfo& aInfo) const;
186 TInt ContinuousAutoFocusTimeout() const;
187 void SetContinuousAutoFocusTimeout(TInt aTimeout);
188 TInt SupportedStabilizationEffects() const;
189 CCamera::CCameraAdvancedSettings::TStabilizationEffect StabilizationEffect() const;
190 void SetStabilizationEffect(CCamera::CCameraAdvancedSettings::TStabilizationEffect aEffect);
191 TInt SupportedStabilizationComplexityValues() const;
192 CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity StabilizationComplexity() const;
193 void SetStabilizationComplexity(CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity aComplexity);
194 CCamera::CCameraAdvancedSettings::TWBUnits SupportedWBUnits() const;
195 void GetWBRgbValue(TRgb& aValue) const;
196 void SetWBRgbValue(const TRgb& aValue);
197 void GetWBSupportedColorTemperaturesL(RArray<TInt>& aWBColorTemperatures, TValueInfo& aInfo) const;
198 TInt WBColorTemperature() const;
199 void SetWBColorTemperature(TInt aWBColorTemperature);
201 //from MCameraAdvancedSettings2
202 TInt IsFlashReady(TBool& aReady) const;
203 void GetCurrentFocusModeStepsL(RArray<TInt>& aFocusModeSteps, TValueInfo& aInfo) const;
205 //from MCameraAdvancedSettings3
206 void GetSupportedISORateTypeL(TInt& aSupportedISORateTypes) const;
207 void SetISORate(CCamera::CCameraAdvancedSettings::TISORateType aISORateType, TInt aParam);
208 void GetISORateL(CCamera::CCameraAdvancedSettings::TISORateType& aISORateType, TInt& aParam, TInt& aISORate) const;
209 void SetReferenceScreen(CWsScreenDevice& aScreenDevice);
210 void GetDigitalZoomStepsForStillL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo, TInt aSizeIndex,
211 CCamera::TFormat aFormat, TBool& aIsInfluencePossible) const;
212 void GetDigitalZoomStepsForVideoL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo, TInt aFrameRateIndex,
213 TInt aSizeIndex, CCamera::TFormat aFormat, TBool& aIsInfluencePossible, CCamera::TExposure aExposure) const;
214 void GetPreCaptureWarningSupportedL(CCamera::CCameraAdvancedSettings::TCameraMode aCameraMode, TInt& aPreCaptureWarningSupported) const;
215 void SubscribeToPreCaptureWarningL(TInt aPreCaptureWarning);
216 void UnSubscribePreCaptureWarningL();
217 void GetPreCaptureWarningL(TInt& aPreCaptureWarning) const;
218 void GetSupportedAFAssistantLightL(TInt& aSupportedAFAssistantLight) const;
219 void GetAFAssistantLightL(CCamera::CCameraAdvancedSettings::TAFAssistantLight& aAFAssistantLight) const;
220 void SetAFAssistantLight(CCamera::CCameraAdvancedSettings::TAFAssistantLight aAFAssistantLight);
223 CTestCamAdvSet(CTestCamera& aOwner);
232 CCamera::CCameraAdvancedSettings::TCameraType iCameraTypes[KNumAvailableCameras];
234 RArray<TInt> iSupportedISORates;
236 CCamera::CCameraAdvancedSettings::TISORateType iISORateType;
237 RArray<TInt> iSupportedApertures;
239 RArray<TInt> iSupportedShutterSpeeds;
243 // Implementations of the MCameraPresets class
244 class CTestCamPresets : public CBase,
245 public MCameraPresets
247 //friend class CTestCamera;
249 static CTestCamPresets* NewL(CTestCamera& aOwner);
253 //from MCameraPresets
255 void GetSupportedPresetsL(RArray<TUid>& aPresets) const;
256 void SetPreset(TUid aPreset);
258 void GetAffectedSettingsL(RArray<TUid>& aSettings) const;
259 void GetAssociatedSettingsL(TUid aPreset, RArray<TUid>& aSettings) const;
262 CTestCamPresets(CTestCamera& aOwner);
270 RArray<TUid> iSupportedPresets;
273 RArray<TUid> iFactoryPresetAffectSettings;
276 #endif // TESTADVANCEDSETTINGS_H