diff -r 000000000000 -r 40261b775718 mmplugins/cameraplugins/source/testcamera/test_advanced_settings.h --- /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 + +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& aSupportedIsoRates) const; + TInt IsoRate() const; + void SetIsoRate(TInt aRate); + void GetAperturesL(RArray& aFStops, TValueInfo& aInfo) const; + TInt Aperture() const; + void SetAperture(TInt aFStop); + void GetShutterSpeedsL(RArray& 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& 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& 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& 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& 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& aOpticalZoomSteps, TValueInfo& aInfo) const; + TInt OpticalZoom() const; + void SetOpticalZoom(TInt aOpticalZoom); + void GetDigitalZoomStepsL(RArray& 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& aSettings) const; + void GetActiveSettingsL(RArray& aActiveSettings) const; + void GetDisabledSettingsL(RArray& aDisabledSettings) const; + TBool AutomaticSizeSelectionChangeOn() const; + void SetAutomaticSizeSelectionChangeOn(TBool aSetOn); + void GetSupportedContinuousAutoFocusTimeoutsL(RArray& 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& aWBColorTemperatures, TValueInfo& aInfo) const; + TInt WBColorTemperature() const; + void SetWBColorTemperature(TInt aWBColorTemperature); + + //from MCameraAdvancedSettings2 + TInt IsFlashReady(TBool& aReady) const; + void GetCurrentFocusModeStepsL(RArray& 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& aDigitalZoomSteps, TValueInfo& aInfo, TInt aSizeIndex, + CCamera::TFormat aFormat, TBool& aIsInfluencePossible) const; + void GetDigitalZoomStepsForVideoL(RArray& 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 iSupportedISORates; + TInt iIsoRate; + CCamera::CCameraAdvancedSettings::TISORateType iISORateType; + RArray iSupportedApertures; + TInt iAperture; + RArray 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& aPresets) const; + void SetPreset(TUid aPreset); + TUid Preset() const; + void GetAffectedSettingsL(RArray& aSettings) const; + void GetAssociatedSettingsL(TUid aPreset, RArray& aSettings) const; + +private: + CTestCamPresets(CTestCamera& aOwner); + void ConstructL(); + +private: + CTestCamera& iOwner; + + TInt iRefCount; + + RArray iSupportedPresets; + TUid iCurrentPreset; + + RArray iFactoryPresetAffectSettings; + }; + +#endif // TESTADVANCEDSETTINGS_H