os/mm/imagingandcamerafws/cameraunittest/src/ECamUnitTestPlugin/AdvancedSettings.h
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/mm/imagingandcamerafws/cameraunittest/src/ECamUnitTestPlugin/AdvancedSettings.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,480 @@
1.4 +
1.5 +// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
1.6 +// All rights reserved.
1.7 +// This component and the accompanying materials are made available
1.8 +// under the terms of "Eclipse Public License v1.0"
1.9 +// which accompanies this distribution, and is available
1.10 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.11 +//
1.12 +// Initial Contributors:
1.13 +// Nokia Corporation - initial contribution.
1.14 +//
1.15 +// Contributors:
1.16 +//
1.17 +// Description:
1.18 +//
1.19 +
1.20 +#ifndef _ECAMSETPLUGIN1_H_
1.21 +#define _ECAMSETPLUGIN1_H_
1.22 +
1.23 +#include <ecam/ecamplugin.h>
1.24 +#include <ecam/ecaminfoplugin.h>
1.25 +
1.26 +#include <ecam/ecamadvsettingsintf.h>
1.27 +#include "ECamUnitTestPlugin.h"
1.28 +#include "ECamUnitTestPluginUids.hrh"
1.29 +#include <ecam/implementationfactoryintf.h>
1.30 +
1.31 +#define KSupportedPresetsNumber 4
1.32 +#define KSupportedTransformationsNumber 3
1.33 +
1.34 +const TInt KDefaultIsoRate = 200;
1.35 +const TInt KMaxIsoRate = 1600;
1.36 +const TInt KIsoRate1 = 320;
1.37 +const TInt KIsoRate2 = 640;
1.38 +const TInt KIsoRate3 = 840;
1.39 +const TInt KIsoRate4 = 1200;
1.40 +const TInt KIsoRate5 = 1400;
1.41 +const TInt KMinIsoRate = 100;
1.42 +const TInt KNumSupportedIsoRate = 8;
1.43 +const TInt KSupportedContinuousZoomType = 0;
1.44 +
1.45 +const TUid KUidCameraManagementUid = {KUidCameraManagementUidValue};
1.46 +
1.47 +class CCamContinuousZoom;
1.48 +// Implementations of the MCameraAdvancedSettings class
1.49 +class CCamAdvSet : public CBase,
1.50 + public MCameraAdvancedSettings,
1.51 + public MCameraAdvancedSettings2,
1.52 + public MCameraAdvancedSettings3,
1.53 + public MCameraAdvancedSettings4
1.54 + {
1.55 +public:
1.56 + static CCamAdvSet* NewL(CCamUnitTestPlugin& aOwner);
1.57 + ~CCamAdvSet();
1.58 +
1.59 +protected:
1.60 +
1.61 + void Release();
1.62 + //from MCameraAdvancedSettings
1.63 + CCamera::CCameraAdvancedSettings::TCameraType CameraType() const;
1.64 + CCamera::CCameraAdvancedSettings::TCameraType CameraType(TInt aCameraIndex) const;
1.65 + TBool IsCameraPresent() const;
1.66 + TBool IsCameraPresent(TInt aCameraIndex) const;
1.67 + TInt CameraIndex() const;
1.68 + TInt SupportedStabilizationModes() const;
1.69 + CCamera::CCameraAdvancedSettings::TStabilizationMode StabilizationMode() const;
1.70 + void SetStabilizationMode(CCamera::CCameraAdvancedSettings::TStabilizationMode aStabilizationMode = CCamera::CCameraAdvancedSettings::EStabilizationModeOff);
1.71 + TInt SupportedFocusModes() const;
1.72 + CCamera::CCameraAdvancedSettings::TFocusMode FocusMode() const;
1.73 + void SetFocusMode(CCamera::CCameraAdvancedSettings::TFocusMode aFocusMode = CCamera::CCameraAdvancedSettings::EFocusModeAuto);
1.74 + TInt SupportedFocusRanges() const;
1.75 + CCamera::CCameraAdvancedSettings::TFocusRange FocusRange() const;
1.76 + void SetFocusRange(CCamera::CCameraAdvancedSettings::TFocusRange aFocusRange = CCamera::CCameraAdvancedSettings::EFocusRangeNormal);
1.77 + TInt SupportedAutoFocusTypes() const;
1.78 + CCamera::CCameraAdvancedSettings::TAutoFocusType AutoFocusType() const;
1.79 + void SetAutoFocusType(CCamera::CCameraAdvancedSettings::TAutoFocusType aAutoFocusType);
1.80 + TInt SupportedAutoFocusAreas() const;
1.81 + CCamera::CCameraAdvancedSettings::TAutoFocusArea AutoFocusArea() const;
1.82 + void SetAutoFocusArea(CCamera::CCameraAdvancedSettings::TAutoFocusArea aAutoFocusArea);
1.83 + TInt FocusDistance() const;
1.84 + void SetFocusDistance(TInt aDistance);
1.85 + TInt GetMinFocalLength() const;
1.86 +
1.87 + void GetSupportedIsoRatesL(RArray<TInt>& aSupportedIsoRates) const;
1.88 + TInt IsoRate() const;
1.89 + void SetIsoRate(TInt aRate);
1.90 +
1.91 + void GetAperturesL(RArray<TInt>& aFStops, TValueInfo& aInfo) const;
1.92 + TInt Aperture() const;
1.93 + void SetAperture(TInt aFStop);
1.94 + void GetShutterSpeedsL(RArray<TInt>& aShutterSteps, TValueInfo& aInfo) const;
1.95 + TInt ShutterSpeed() const;
1.96 + void SetShutterSpeed(TInt aShutterSpeed);
1.97 + TInt SupportedMeteringModes() const;
1.98 + CCamera::CCameraAdvancedSettings::TMeteringMode MeteringMode() const;
1.99 + void SetMeteringMode(CCamera::CCameraAdvancedSettings::TMeteringMode aMeteringMode);
1.100 + TInt SupportedDriveModes() const;
1.101 + CCamera::CCameraAdvancedSettings::TDriveMode DriveMode() const;
1.102 + void SetDriveMode(CCamera::CCameraAdvancedSettings::TDriveMode aDriveMode);
1.103 + TInt SupportedBracketModes() const;
1.104 + CCamera::CCameraAdvancedSettings::TBracketMode BracketMode() const;
1.105 + void SetBracketMode(CCamera::CCameraAdvancedSettings::TBracketMode aBracketMode);
1.106 + TInt SupportedBracketParameters() const;
1.107 + CCamera::CCameraAdvancedSettings::TBracketParameter BracketParameter() const;
1.108 + void SetBracketParameter(CCamera::CCameraAdvancedSettings::TBracketParameter aBracketParameter);
1.109 + TInt SupportedBracketSteps() const;
1.110 + CCamera::CCameraAdvancedSettings::TBracketStep BracketStep() const;
1.111 + void SetBracketStep(CCamera::CCameraAdvancedSettings::TBracketStep aBracketStep);
1.112 + void GetBracketMerge(TInt& aStartIndex, TInt& aFrames) const;
1.113 + void SetBracketMerge(TInt aStartIndex = 0, TInt aFrames = 2);
1.114 + TInt SupportedFlashModes() const;
1.115 + CCamera::TFlash FlashMode() const;
1.116 + void SetFlashMode(CCamera::TFlash aMode = CCamera::EFlashNone);
1.117 + TBool RedEyeReduceOn() const;
1.118 + void SetRedEyeReduceOn(TBool aState);
1.119 + void GetFlashCompensationStepsL(RArray<TInt>& aFlashCompensationSteps, TValueInfo& aInfo) const;
1.120 + TInt FlashCompensationStep() const;
1.121 + TInt GetFlashCompensationStep(TInt& aFlashCompensationStep) const;
1.122 + void SetFlashCompensationStep(TInt aFlashCompensationStep);
1.123 + void GetFlashCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const;
1.124 +
1.125 + TInt FlashCompensation() const;
1.126 + TInt GetFlashCompensation(TInt& aFlashCompensation) const;
1.127 + void SetFlashCompensation(TInt aFlashCompensation);
1.128 + TBool IsExternalFlashPresent() const;
1.129 + void GetManualFlashPowerLevelsL(RArray<TInt>& aManualFlashPowerLevels, TValueInfo& aInfo) const;
1.130 + TInt ManualFlashPowerLevel() const;
1.131 + void SetManualFlashPowerLevel(TInt aManualFlashPowerLevel);
1.132 + TInt SupportedExposureModes() const;
1.133 + CCamera::TExposure ExposureMode() const;
1.134 + void SetExposureMode(CCamera::TExposure aExposureMode = CCamera::EExposureAuto);
1.135 + void GetExposureCompensationStepsL(RArray<TInt>& aExposureCompensationSteps, TValueInfo& aInfo) const;
1.136 + TInt ExposureCompensationStep() const;
1.137 + TInt GetExposureCompensationStep(TInt& aExposureCompensationStep) const;
1.138 + void SetExposureCompensationStep(TInt aExposureCompensationStep);
1.139 + void GetExposureCompensationRangeInSteps(TInt& aNegativeCompensation, TInt& aPositiveCompensation) const;
1.140 +
1.141 + TInt ExposureCompensation() const;
1.142 + TInt GetExposureCompensation(TInt& aExposureCompensation) const;
1.143 + void SetExposureCompensation(TInt aExposureCompensation);
1.144 + TInt SupportedWhiteBalanceModes() const;
1.145 + CCamera::TWhiteBalance WhiteBalanceMode() const;
1.146 + void SetWhiteBalanceMode(CCamera::TWhiteBalance aWhiteBalanceMode);
1.147 + TBool ApertureExposureLockOn() const;
1.148 + void SetApertureExposureLockOn(TBool aAELock);
1.149 + TBool ShootClickOn() const;
1.150 + void SetShootClickOn(TBool aShootClickOn);
1.151 + void GetTimerIntervalsL(RArray<TInt>& aTimerIntervals, TValueInfo& aInfo) const;
1.152 + TInt TimerInterval() const;
1.153 + void SetTimerInterval(TInt aTimerInterval);
1.154 + void GetTimeLapsePeriodRange(TTime& aTimeLapseMin, TTime& aTimeLapseMax) const;
1.155 + void GetTimeLapse(TTime& aStart, TTime& aEnd, TTime& aInterval) const;
1.156 + void SetTimeLapse(const TTime& aStart, const TTime& aEnd, const TTime& aInterval);
1.157 + CCamera::CCameraAdvancedSettings::TPictureOrientation PictureOrientation() const;
1.158 + TInt SupportedPixelAspectRatios() const;
1.159 + CCamera::CCameraAdvancedSettings::TPixelAspectRatio PixelAspectRatio() const;
1.160 + void SetPictureOrientation(CCamera::CCameraAdvancedSettings::TPictureOrientation aOrientation);
1.161 + void SetPixelAspectRatio(CCamera::CCameraAdvancedSettings::TPixelAspectRatio aPixelAspectRatio);
1.162 + TInt SupportedYuvRanges() const;
1.163 + CCamera::CCameraAdvancedSettings::TYuvRange YuvRange() const;
1.164 + void SetYuvRange(CCamera::CCameraAdvancedSettings::TYuvRange aYuvRange);
1.165 + TInt BurstImages() const;
1.166 + void SetBurstImages(TInt aImages);
1.167 + void GetOpticalZoomStepsL(RArray<TInt>& aOpticalZoomSteps, TValueInfo& aInfo) const;
1.168 + TInt OpticalZoom() const;
1.169 + void SetOpticalZoom(TInt aOpticalZoom);
1.170 + void GetDigitalZoomStepsL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo) const;
1.171 +
1.172 + TInt DigitalZoom() const;
1.173 + void SetDigitalZoom(TInt aDigitalZoom);
1.174 + TBool ExposureLockOn() const;
1.175 + void SetExposureLockOn(TBool aState=EFalse);
1.176 + TBool AutoFocusLockOn() const;
1.177 + void SetAutoFocusLockOn(TBool aState=EFalse);
1.178 + void GetSupportedSettingsL(RArray<TUid>& aSettings) const;
1.179 + void GetActiveSettingsL(RArray<TUid>& aActiveSettings) const;
1.180 + void GetDisabledSettingsL(RArray<TUid>& aActiveSettings) const;
1.181 + void SetAutomaticSizeSelectionChangeOn(TBool aSetOn = EFalse);
1.182 + TBool AutomaticSizeSelectionChangeOn() const;
1.183 +
1.184 + void GetSupportedContinuousAutoFocusTimeoutsL(RArray<TInt>& aTimeouts, TValueInfo& aInfo) const;
1.185 + TInt ContinuousAutoFocusTimeout() const;
1.186 + void SetContinuousAutoFocusTimeout(TInt aMicrosecondTimeout);
1.187 + void SetStabilizationEffect(CCamera::CCameraAdvancedSettings::TStabilizationEffect aEffect);
1.188 + CCamera::CCameraAdvancedSettings::TStabilizationEffect StabilizationEffect() const;
1.189 + TInt SupportedStabilizationEffects() const;
1.190 + TInt SupportedStabilizationComplexityValues() const;
1.191 + CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity StabilizationComplexity() const;
1.192 + void SetStabilizationComplexity(CCamera::CCameraAdvancedSettings::TStabilizationAlgorithmComplexity aComplexity);
1.193 + CCamera::CCameraAdvancedSettings::TWBUnits SupportedWBUnits() const;
1.194 + void SetWBRgbValue(const TRgb& aValue);
1.195 + void GetWBRgbValue(TRgb& aValue) const;
1.196 + void GetWBSupportedColorTemperaturesL(RArray<TInt>& aWBColorTemperatures, TValueInfo& aInfo) const;
1.197 + void SetWBColorTemperature(TInt aColorTemperature);
1.198 + TInt WBColorTemperature() const;
1.199 +
1.200 + //from MCameraAdvancedSettings2
1.201 + TInt IsFlashReady(TBool& aReady) const;
1.202 + void GetCurrentFocusModeStepsL(RArray<TInt>& aFocusModeSteps, TValueInfo& aInfo) const;
1.203 +
1.204 + //from MCameraAdvancedSettings3
1.205 + void GetSupportedISORateTypeL(TInt& aSupportedISORateTypes) const;
1.206 + void SetISORate(CCamera::CCameraAdvancedSettings::TISORateType aISORateType, TInt aParam);
1.207 + void GetISORateL(CCamera::CCameraAdvancedSettings::TISORateType& aISORateType, TInt& aParam, TInt& aISORate) const;
1.208 + void SetReferenceScreen(CWsScreenDevice& aScreenDevice);
1.209 + void GetDigitalZoomStepsForStillL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo, TInt aSizeIndex, CCamera::TFormat aFormat, TBool& aIsInfluencePossible) const;
1.210 + void GetDigitalZoomStepsForVideoL(RArray<TInt>& aDigitalZoomSteps, TValueInfo& aInfo, TInt aFrameRateIndex, TInt aSizeIndex, CCamera::TFormat aFormat, TBool& aIsInfluencePossible, CCamera::TExposure aExposure) const;
1.211 + void GetPreCaptureWarningSupportedL(CCamera::CCameraAdvancedSettings::TCameraMode aCameraMode, TInt& aPreCaptureWarningSupported) const;
1.212 + void SubscribeToPreCaptureWarningL(TInt aPreCaptureWarning);
1.213 + void UnSubscribePreCaptureWarningL();
1.214 + void GetPreCaptureWarningL(TInt& aPreCaptureWarning) const;
1.215 + void GetSupportedAFAssistantLightL(TInt& aSupportedAFAssistantLight) const;
1.216 + void GetAFAssistantLightL(CCamera::CCameraAdvancedSettings::TAFAssistantLight& aAFAssistantLight) const;
1.217 + void SetAFAssistantLight(CCamera::CCameraAdvancedSettings::TAFAssistantLight aAFAssistantLight);
1.218 +
1.219 + //from MCameraAdvancedSettings4
1.220 + void GetSupportedContinuousZoomTypeL(TUint& aSupportedContinuousZoomType) const;
1.221 + void GetFocalLengthInfoL(TInt& aMinFocalLength, TInt& aCurrentFocalLength, TInt& aMaxFocalLength) const;
1.222 + void GetNumOperationPreferenceL(TUint& aNumOperationPreferenceSupported) const;
1.223 +
1.224 + void EnumerateOperationPreferenceL(TUint aOperationPreferenceIndex, CCamera::CCameraAdvancedSettings::TPerformanceLevel& aSpeedLevel,
1.225 + CCamera::CCameraAdvancedSettings::TPerformanceLevel& aQualityLevel, CCamera::CCameraAdvancedSettings::TPerformanceLevel& aLowMemoryConsumptionLevel,
1.226 + CCamera::CCameraAdvancedSettings::TPerformanceLevel& aLowPowerConsumptionLevel) const;
1.227 +
1.228 + void SetOperationPreference(TUint aOperationPreferenceIndex);
1.229 + void GetOperationPreferenceL(TInt& aOperationPreferenceIndex) const;
1.230 + void GetSupportedEventsL(RArray<TUid>& aSupportedEvents) const;
1.231 + void GetIndirectFeatureChangesL(TUid aRequestedSetting, RArray<TUid>& aIndirectFeatureChanges) const;
1.232 + void CreateContinuousZoomImplFactoryL(MImplementationFactory*& aImplFactoryPtr) const;
1.233 +
1.234 +private:
1.235 + CCamAdvSet(CCamUnitTestPlugin& aOwner);
1.236 + void Init();
1.237 + void RetrieveResult(TInt& aError);
1.238 +
1.239 +public:
1.240 + TInt iRefCount;
1.241 +
1.242 +private:
1.243 + TInt iCameraIndex;
1.244 + TInt iCameraHandle;
1.245 + TInt iPriority;
1.246 + CCamUnitTestPlugin& iOwner;
1.247 + TInt iShutterSpeed;
1.248 + TInt iFocusDistance;
1.249 + TInt iAperture;
1.250 + TInt iSupportedISORateType;
1.251 + CCamera::CCameraAdvancedSettings::TISORateType iISORateType;
1.252 + TBool iIsCapableActualISOValue;
1.253 + CCamera::CCameraAdvancedSettings::TAFAssistantLight iAFAssistantLight;
1.254 + TInt iAutoISOIndex;
1.255 + TInt iSupportedAFAssistantLight;
1.256 + CCamera::CCameraAdvancedSettings::TFocusRange iFocusRange;
1.257 + CCamera::TWhiteBalance iWhiteBalance;
1.258 + TInt iPixelAspectRatio;
1.259 + TInt iFlashMode;
1.260 + TInt iSupportedDriveModes;
1.261 + CCamera::CCameraAdvancedSettings::TDriveMode iDriveMode;
1.262 + };
1.263 +
1.264 +class CCamPresets : public CBase,
1.265 + public MCameraPresets,
1.266 + public MCameraPresets2
1.267 + {
1.268 +public:
1.269 + static CCamPresets* NewL(CCamUnitTestPlugin& aOwner);
1.270 + ~CCamPresets();
1.271 +
1.272 +protected:
1.273 + //from MCameraPresets
1.274 + void Release();
1.275 + void GetSupportedPresetsL(RArray<TUid>& aPresets) const;
1.276 + void SetPreset(TUid aPreset);
1.277 + TUid Preset() const;
1.278 + void GetAffectedSettingsL(RArray<TUid>& aSettings) const;
1.279 + void GetAssociatedSettingsL(TUid aPreset, RArray<TUid>& aSettings) const;
1.280 +
1.281 + //from MCameraPresets2
1.282 + void GetRangeRestrictedSettingsL(RArray<TUid>& aRangeRestrictedSettings) const;
1.283 + void GetFeatureRestrictedSettingsL(RArray<TUid>& aFeatureRestrictedSettings) const;
1.284 + void IsPresetUnlockSupportedL(TBool& aUnlockSupported) const;
1.285 + void LockPreset();
1.286 + void UnlockPreset();
1.287 +
1.288 +private:
1.289 + CCamPresets(CCamUnitTestPlugin& aOwner);
1.290 +
1.291 +public:
1.292 + TInt iRefCount;
1.293 +
1.294 +private:
1.295 + TInt iCameraIndex;
1.296 + TInt iCameraHandle;
1.297 + TInt iPriority;
1.298 + CCamUnitTestPlugin& iOwner;
1.299 + TUid iSupportedPresets[KSupportedPresetsNumber];
1.300 + TUid iAffectedSettings[KSupportedPresetsNumber-1];
1.301 + TUid iCurrentPreset;
1.302 + RArray<TUid> iRangeRestrictedSettings;
1.303 + TBool iIsPresetUnLockSupported;
1.304 + TBool iIsPresetLocked;
1.305 + };
1.306 +
1.307 +
1.308 +class CCamImgProc : public CBase,
1.309 + public MCameraImageProcessing,
1.310 + public MCameraImageProcessing2,
1.311 + public MCameraImageProcessing3
1.312 + {
1.313 +public:
1.314 + static CCamImgProc* NewL(CCamUnitTestPlugin& aOwner);
1.315 + ~CCamImgProc();
1.316 +
1.317 +protected:
1.318 + //from MCameraImageProcessing
1.319 + void Release();
1.320 + void GetSupportedTransformationsL(RArray<TUid>& aTransformations) const;
1.321 + void GetActiveTransformationsL(RArray<TUid>& aTransformations) const;
1.322 + void GetTransformationSupportedValuesL(TUid aTransformation, RArray<TInt>& aValues, TValueInfo& aInfo) const;
1.323 + TInt TransformationValue(TUid aTransformation) const;
1.324 + TInt GetTransformationValue(TUid aTransformation, TInt& aTransformationValue) const;
1.325 + void SetTransformationValue(TUid aTransformation, TInt aValue);
1.326 + void GetActiveTransformSequenceL(RArray<TUid>& aTransformSequence) const;
1.327 + void SetActiveTransformSequenceL(RArray<TUid>& aTransformSequence);
1.328 + void SetSourceRect(const TRect& aRect);
1.329 + void GetSourceRect(TRect& aRect) const;
1.330 +
1.331 + //MCameraImageProcessing2
1.332 + void GetConcurrentColorSwappingsSupportedL(TInt& aConcurrentColorSwappingSupported) const;
1.333 + void GetColorSwapCapabilitiesL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationCapabilities& aColorSwapCapabilities) const;
1.334 + void SetColorSwapEntry(TInt aIndex, const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters);
1.335 + void RemoveColorSwapEntry(TInt aIndex);
1.336 + void GetColorSwapEntryL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters) const;
1.337 + void StartColorSwapping();
1.338 + void CancelColorSwappingL();
1.339 + void GetConcurrentColorAccentSupportedL(TInt& aConcurrentColorAccentSupported) const;
1.340 + void GetColorAccentCapabilitiesL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationCapabilities& aColorAccentCapabilities) const;
1.341 + void SetColorAccentEntry(TInt aIndex, const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters);
1.342 + void RemoveColorAccentEntry(TInt aIndex);
1.343 + void GetColorAccentEntryL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters) const;
1.344 + void StartColorAccent();
1.345 + void CancelColorAccentL();
1.346 +
1.347 + //from MCameraImageProcessing3
1.348 + void GetSupportedRelativeOrientationOptionsL(CCamera::CCameraImageProcessing::TOrientationReference aOrientationReference,
1.349 + TUint& aSupportedRelativeRotation, TUint& aSupportedRelativeMirroring, TUint& aSupportedRelativeFlipping) const;
1.350 +
1.351 + void GetCurrentRelativeOrientationOptionsL(CCamera::CCameraImageProcessing::TOrientationReference& aOrientationReference,
1.352 + CCamera::CCameraImageProcessing::TRelativeRotation& aRelativeRotation, CCamera::CCameraImageProcessing::
1.353 + TRelativeMirror& aRelativeMirror, CCamera::CCameraImageProcessing::TRelativeFlipping& aRelativeFlipping) const;
1.354 +
1.355 + void SetRelativeOrientationOptions(CCamera::CCameraImageProcessing::TOrientationReference aOrientationReference,
1.356 + CCamera::CCameraImageProcessing::TRelativeRotation aRelativeRotation, CCamera::CCameraImageProcessing::
1.357 + TRelativeMirror aRelativeMirror, CCamera::CCameraImageProcessing::TRelativeFlipping aRelativeFlipping) const;
1.358 +
1.359 + void ConstructL();
1.360 +
1.361 +private:
1.362 + CCamImgProc(CCamUnitTestPlugin& aOwner);
1.363 +
1.364 + TBool CheckColorSwapEntry(const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters) const;
1.365 + TBool CheckColorAccentEntry(const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters) const;
1.366 +
1.367 +public:
1.368 + TInt iRefCount;
1.369 +
1.370 +private:
1.371 + TInt iCameraIndex;
1.372 + TInt iCameraHandle;
1.373 + TInt iPriority;
1.374 + CCamUnitTestPlugin& iOwner;
1.375 + // transformations
1.376 + RArray<TUid> iActiveSequence;
1.377 + RArray<TUid> iSupportedTransformations;
1.378 + TRect iSourceRect;
1.379 + TInt iValue;
1.380 + TUid iTransformation;
1.381 + TInt iBrightnessRange[2];
1.382 +
1.383 + CCamera::CCameraImageProcessing::TColorOperationCapabilities iSupportedColorSwapCapabilities;
1.384 + CCamera::CCameraImageProcessing::TColorOperationCapabilities iSupportedColorAccentCapabilities;
1.385 + CCamera::CCameraImageProcessing::TColorOperationEntry iColorSwapParameter;
1.386 + CCamera::CCameraImageProcessing::TColorOperationEntry iColorAccentParameter;
1.387 + };
1.388 +
1.389 +class CCamV2DirectViewFinder;
1.390 +class CCamClientViewFinder;
1.391 +class CCamOverlay;
1.392 +
1.393 +class CDataGlobal : public CBase
1.394 + {
1.395 +public:
1.396 + CCamAdvSet* iCamAdvSet;
1.397 + CCamImgProc* iCamImgProc;
1.398 + CCamPresets* iCamPresets;
1.399 + CCamOverlay* iCamOverlay;
1.400 + CCamV2DirectViewFinder* iCamV2DirectViewFinder;
1.401 + CCamClientViewFinder* iCamClientViewFinder;
1.402 + TInt iReferenceCount;
1.403 + };
1.404 +
1.405 +//class for external management
1.406 +class MCamManagement
1.407 + {
1.408 +public:
1.409 + virtual void Release()=0;
1.410 + virtual TBool PlugCameraIn(TInt aIndex)=0;
1.411 + virtual TBool PlugCameraOut(TInt aIndex)=0;
1.412 + };
1.413 +
1.414 +class CCamManagement : public CBase, public MCamManagement
1.415 + {
1.416 +public:
1.417 + static CCamManagement* NewL(CCamUnitTestPlugin& aOwner);
1.418 + ~CCamManagement();
1.419 +
1.420 + TBool PlugCameraIn(TInt aIndex);
1.421 + TBool PlugCameraOut(TInt aIndex);
1.422 + void Release();
1.423 +
1.424 +protected:
1.425 + // void ConstructL();
1.426 +
1.427 +private:
1.428 + CCamManagement(CCamUnitTestPlugin& aOwner);
1.429 +
1.430 +private:
1.431 + CCamUnitTestPlugin& iOwner;
1.432 + };
1.433 +
1.434 +
1.435 +//
1.436 +// continuous zoom factory.
1.437 +class CContinuousZoomFactory : public CBase, public MImplementationFactory
1.438 + {
1.439 +public:
1.440 + static CContinuousZoomFactory* NewL();
1.441 + ~CContinuousZoomFactory();
1.442 +
1.443 + TInt GetImpl(TAny*& aIfPtr, TUid aIfaceUid) const;
1.444 + TInt GetImpl1(TAny*& aIfPtr, TUid aIfaceUid, TECamImplFactoryParam aParam1) const;
1.445 + TInt GetImpl2(TAny*& aIfPtr, TUid aIfaceUid, TECamImplFactoryParam aParam1, TECamImplFactoryParam aParam2) const;
1.446 + void Release();
1.447 +
1.448 +private:
1.449 + CContinuousZoomFactory();
1.450 + void ConstructL();
1.451 +
1.452 +private:
1.453 + mutable CCamContinuousZoom* iCamContinuousZoomImp;
1.454 + };
1.455 +
1.456 +
1.457 +class CCamContinuousZoom : public CBase, public MCameraContinuousZoom
1.458 + {
1.459 +public:
1.460 + static CCamContinuousZoom* NewL(CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType);
1.461 + ~CCamContinuousZoom();
1.462 +
1.463 + //from MCameraContinuousZoom
1.464 + void SetContinuousZoomObserverAndHandle(MContinuousZoomObserver& aObserver, CCamera::CCameraContinuousZoom* aContinuousZoomHandle);
1.465 + void StartContinuousZoomL(CCamera::CCameraAdvancedSettings::TContinuousZoomParameters aContinuousZoomParameters);
1.466 + void StopContinuousZoom();
1.467 + void GetContinuousZoomSupportInfoL(CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo& aContinuousZoomInfo) const;
1.468 + void GetContinuousZoomId(TInt& aZoomId) const;
1.469 + void Release();
1.470 +
1.471 +private:
1.472 + CCamContinuousZoom(CCamera::CCameraAdvancedSettings::TContinuousZoomType aContinuousZoomType);
1.473 +
1.474 +private:
1.475 + MContinuousZoomObserver* iObserver;
1.476 + CCamera::CCameraContinuousZoom* iContinuousZoomHandle;
1.477 +
1.478 + CCamera::CCameraAdvancedSettings::TContinuousZoomParameters iParameters;
1.479 + CCamera::CCameraAdvancedSettings::TContinuousZoomSupportInfo iInfo;
1.480 + CCamera::CCameraAdvancedSettings::TContinuousZoomType iZoomType;
1.481 + };
1.482 +
1.483 +#endif // _ECAMSETPlUGIN1_H_