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