sl@0: // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0: // All rights reserved.
sl@0: // This component and the accompanying materials are made available
sl@0: // under the terms of "Eclipse Public License v1.0"
sl@0: // which accompanies this distribution, and is available
sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0: //
sl@0: // Initial Contributors:
sl@0: // Nokia Corporation - initial contribution.
sl@0: //
sl@0: // Contributors:
sl@0: //
sl@0: // Description:
sl@0: // testimageprocessing.h
sl@0: // 
sl@0: //
sl@0: 
sl@0: #ifndef TESTIMAGEPROCESSING_H
sl@0: #define TESTIMAGEPROCESSING_H
sl@0: 
sl@0: #include "TestCamera.h"
sl@0: #include <ecam/ecamadvsettingsintf.h>
sl@0: 
sl@0: const TInt KNumOfImgProcExtensions = 2;
sl@0: const TInt KMinBrightness = -100;
sl@0: const TInt KMaxBrightness = 100;
sl@0: const TInt KMinContrast = -100;
sl@0: const TInt KMaxContrast = 100;
sl@0: 
sl@0: // Implementations of the MCameraImageProcessing class
sl@0: class CTestCamImgProc : 	public CBase, 
sl@0: 							public MCameraImageProcessing,
sl@0: 							public MCameraImageProcessing2
sl@0: 	{
sl@0: 	friend class CTestCamera;
sl@0: public:
sl@0: 	static CTestCamImgProc* NewL(CTestCamera& aOwner);
sl@0: 	~CTestCamImgProc();
sl@0: 	
sl@0: protected:
sl@0: 	//from MCameraImageProcessing
sl@0: 	void Release();
sl@0: 	void GetSupportedTransformationsL(RArray<TUid>& aTransformations) const;
sl@0: 	void GetActiveTransformationsL(RArray<TUid>& aTransformations) const;
sl@0: 	void GetTransformationSupportedValuesL(TUid aTransformation, RArray<TInt>& aValues, TValueInfo& aInfo) const;
sl@0: 	TInt TransformationValue(TUid aTransformation) const;
sl@0: 	TInt GetTransformationValue(TUid aTransformation, TInt& aTransformationValue) const;
sl@0: 	void SetTransformationValue(TUid aTransformation, TInt aValue);
sl@0: 	void GetActiveTransformSequenceL(RArray<TUid>& aTransformSequence) const;
sl@0: 	void SetActiveTransformSequenceL(RArray<TUid>& aTransformSequence);
sl@0: 	void SetSourceRect(const TRect& aRect);
sl@0: 	void GetSourceRect(TRect& aRect) const;
sl@0: 	
sl@0: 	//from MCameraImageProcessing2
sl@0: 	void GetConcurrentColorSwappingsSupportedL(TInt& aConcurrentColorSwappingSupported) const;
sl@0: 	void GetColorSwapCapabilitiesL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationCapabilities& aColorSwapCapabilities) const;
sl@0: 	void SetColorSwapEntry(TInt aIndex, const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters); 
sl@0: 	void RemoveColorSwapEntry(TInt aIndex);
sl@0: 	void GetColorSwapEntryL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationEntry& aColorSwapParameters) const; 
sl@0: 	void StartColorSwapping();
sl@0: 	void CancelColorSwappingL();
sl@0: 	void GetConcurrentColorAccentSupportedL(TInt& aConcurrentColorAccentSupported) const;
sl@0: 	void GetColorAccentCapabilitiesL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationCapabilities& aColorAccentCapabilities) const;
sl@0: 	void SetColorAccentEntry(TInt aIndex, const CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters); 
sl@0: 	void RemoveColorAccentEntry(TInt aIndex);
sl@0: 	void GetColorAccentEntryL(TInt aIndex, CCamera::CCameraImageProcessing::TColorOperationEntry& aColorAccentParameters) const; 
sl@0: 	void StartColorAccent();
sl@0: 	void CancelColorAccentL();
sl@0: 
sl@0: private:
sl@0: 	CTestCamImgProc(CTestCamera& aOwner);
sl@0: 	void ConstructL();
sl@0: 	
sl@0: 	TBool IsTransform(TUid aTransformation);
sl@0: 	
sl@0: private:
sl@0: 	CTestCamera& iOwner;
sl@0: 	
sl@0: 	TInt iRefCount;
sl@0: 	
sl@0: 	RArray<TUid> iSupportedTranformations;
sl@0: 	RArray<TUid> iActiveTransformations;
sl@0: 	RArray<TUid> iActiveTransformSequence;
sl@0: 	};
sl@0: #endif // TESTIMAGEPROCESSING_H