|
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". |
|
7 // |
|
8 // Initial Contributors: |
|
9 // Nokia Corporation - initial contribution. |
|
10 // |
|
11 // Contributors: |
|
12 // |
|
13 // Description: |
|
14 // testadvancedsettings.h |
|
15 // |
|
16 // |
|
17 |
|
18 #ifndef TESTADVANCEDSETTINGS_H |
|
19 #define TESTADVANCEDSETTINGS_H |
|
20 |
|
21 #include "TestCamera.h" |
|
22 #include <ecam/ecamadvsettingsintf.h> |
|
23 |
|
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; |
|
55 |
|
56 // Implementations of the MCameraAdvancedSettings class |
|
57 class CTestCamAdvSet : public CBase, |
|
58 public MCameraAdvancedSettings, |
|
59 public MCameraAdvancedSettings2, |
|
60 public MCameraAdvancedSettings3 |
|
61 { |
|
62 friend class CTestCamera; |
|
63 public: |
|
64 static CTestCamAdvSet* NewL(CTestCamera& aOwner); |
|
65 ~CTestCamAdvSet(); |
|
66 |
|
67 protected: |
|
68 //from MCameraAdvancedSettings |
|
69 void Release(); |
|
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; |
|
94 TInt IsoRate() 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); |
|
200 |
|
201 //from MCameraAdvancedSettings2 |
|
202 TInt IsFlashReady(TBool& aReady) const; |
|
203 void GetCurrentFocusModeStepsL(RArray<TInt>& aFocusModeSteps, TValueInfo& aInfo) const; |
|
204 |
|
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); |
|
221 |
|
222 private: |
|
223 CTestCamAdvSet(CTestCamera& aOwner); |
|
224 void Init(); |
|
225 void ConstructL(); |
|
226 |
|
227 private: |
|
228 CTestCamera& iOwner; |
|
229 |
|
230 TInt iRefCount; |
|
231 |
|
232 CCamera::CCameraAdvancedSettings::TCameraType iCameraTypes[KNumAvailableCameras]; |
|
233 TInt iFocusDistance; |
|
234 RArray<TInt> iSupportedISORates; |
|
235 TInt iIsoRate; |
|
236 CCamera::CCameraAdvancedSettings::TISORateType iISORateType; |
|
237 RArray<TInt> iSupportedApertures; |
|
238 TInt iAperture; |
|
239 RArray<TInt> iSupportedShutterSpeeds; |
|
240 TInt iShutterSpeed; |
|
241 }; |
|
242 |
|
243 // Implementations of the MCameraPresets class |
|
244 class CTestCamPresets : public CBase, |
|
245 public MCameraPresets |
|
246 { |
|
247 //friend class CTestCamera; |
|
248 public: |
|
249 static CTestCamPresets* NewL(CTestCamera& aOwner); |
|
250 ~CTestCamPresets(); |
|
251 |
|
252 protected: |
|
253 //from MCameraPresets |
|
254 void Release(); |
|
255 void GetSupportedPresetsL(RArray<TUid>& aPresets) const; |
|
256 void SetPreset(TUid aPreset); |
|
257 TUid Preset() const; |
|
258 void GetAffectedSettingsL(RArray<TUid>& aSettings) const; |
|
259 void GetAssociatedSettingsL(TUid aPreset, RArray<TUid>& aSettings) const; |
|
260 |
|
261 private: |
|
262 CTestCamPresets(CTestCamera& aOwner); |
|
263 void ConstructL(); |
|
264 |
|
265 private: |
|
266 CTestCamera& iOwner; |
|
267 |
|
268 TInt iRefCount; |
|
269 |
|
270 RArray<TUid> iSupportedPresets; |
|
271 TUid iCurrentPreset; |
|
272 |
|
273 RArray<TUid> iFactoryPresetAffectSettings; |
|
274 }; |
|
275 |
|
276 #endif // TESTADVANCEDSETTINGS_H |