os/mm/mmplugins/cameraplugins/source/mmcameraclientplugin/mmcameraclientsession/src/mmdirectviewfinder.h
Update contrib.
1 // Copyright (c) 2008-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".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
21 #ifndef MMDIRECTVIEWFINDER_H
22 #define MMDIRECTVIEWFINDER_H
24 #include "mmcameraclientsession.h"
26 #include <ecam/ecamviewfinderintf.h>
28 class CMMDirectViewFinder : public CBase, public MCameraV2DirectViewFinder, public MCameraViewFinder
30 friend class CMMCameraClientSession;
33 static CMMDirectViewFinder* NewL(CMMCameraClientSession& aOwner);
34 ~CMMDirectViewFinder();
36 // From MCameraV2DirectViewFinder
37 void Release(CCamera::CCameraV2DirectViewFinder* aDirectViewFinderHandle);
39 void CreateHistogramImplFactoryL(MImplementationFactory*& aImplFactoryPtr) const;
40 void GetImageProcessingImplFactoryL(MImplementationFactory*& aImplFactoryPtr) const;
41 TAny* GetDirectSnapshotImpl(TUid aInterface) const;
43 void SetDirectViewFinderObserver(MDirectViewFinderObserver& aDirectViewFinderObserver);
44 void SetDirectViewFinderHandle(CCamera::CCameraV2DirectViewFinder* aDirectViewFinderHandle);
46 void StartViewFinderDirectL(RWsSession& aWs, CWsScreenDevice& aScreenDevice, RWindowBase& aWindow, TRect& aScreenRect);
47 void StartViewFinderDirectL(RWsSession& aWs, CWsScreenDevice& aScreenDevice,
48 RWindowBase& aWindow, TRect& aScreenRect, TRect& aClipRect);
50 void GetDirectViewFinderPropertiesL(TInt& aScreenNumber, TRect& aScreenRect, TRect& aClipRect) const;
51 void PauseViewFinderDirect();
52 void ResumeViewFinderDirect();
53 void GetViewFinderStateL(CCamera::CCameraV2DirectViewFinder::TViewFinderState& aViewFinderState) const;
54 void StopDirectViewFinder();
56 // From MCameraViewFinder
59 void GetViewFinderFadingCapabilitiesL(CCameraViewFinder::TViewFinderFadingCapabilities& aVFFadingCapabilities) const;
60 void GetViewFinderFadingEffectL(CCameraViewFinder::TViewFinderFadingEffect& aCurrentVFFadingEffect) const;
61 void SetViewFinderFadingEffect(const CCameraViewFinder::TViewFinderFadingEffect& aVFFadingEffect);
62 void GetViewFinderHandleL(TInt& aVFHandle) const;
65 CMMDirectViewFinder(CMMCameraClientSession& aOwner);
69 CMMCameraClientSession& iOwner;
70 CCamera::CCameraV2DirectViewFinder* iDirectViewFinderHandle;
72 MDirectViewFinderObserver* iDirectViewFinderObserver;
74 TBool iPrepareCompleted;
78 #endif // MMDIRECTVIEWFINDER_H