--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/graphicseffects/ClientInc/TransitionParticipant.h Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,155 @@
+// Copyright (c) 2006-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:
+//
+
+#ifndef _TRANSITIONPARTICIPANT_H_
+#define _TRANSITIONPARTICIPANT_H_
+
+#include <coecntrl.h>
+
+#include "GfxTransDataType.h"
+#include "TransitionControl.h"
+#include <graphics/remotegc.h>
+
+
+class CTransitionControl;
+
+/**
+A participant in a transition.
+@internalTechnology
+*/
+NONSHARABLE_CLASS(CTransitionParticipant) : public CBase,
+ public MCommandBufferObserver
+ {
+public:
+ enum TCaptureState
+ {
+ ENoCapture = 0x0,
+ EBeginCapture = 0x1,
+ EEndCapture = 0x2
+ };
+ enum TCaptureType
+ {
+ EDeep,
+ EShallow,
+ ERect
+ };
+ enum TCoordinateRef
+ {
+ EWindowOwning,
+ EScreen
+ };
+ static CTransitionParticipant* New( const CCoeControl* aKey,
+ CTransitionControl* aTransControl,
+ TUint aFlags);
+ ~CTransitionParticipant();
+ //Capture
+ TInt CaptureBegin(const CCoeControl* aControl, TCaptureType aCaptureType, TInt aZDepth);
+ TInt CaptureEnd(const CCoeControl* aControl, TCaptureType aCaptureType, TInt aZDepth);
+ inline TCaptureState CaptureState();
+ inline TBool HaveImageCapture();
+ //demark
+ void SetBeginDemarcation(TRect& aBeginRect, TCoordinateRef aCoordRef = CTransitionParticipant::EWindowOwning);
+ void SetEndDemarcation(TRect& aBeginRect, TCoordinateRef aCoordRef = CTransitionParticipant::EWindowOwning);
+ void ModifyCoordinates(TPoint& aBeginRef, TPoint& aEndRef);
+ //hints
+ inline void Invalidate();
+ inline void SetFlags(TUint aFlags);
+ inline void SetLayerType(TUid aLayerType);
+ inline TUint Flags();
+ //getters
+ inline TBool Invalidated();
+ inline const CCoeControl* Control();
+ inline const CParticipantData* Data();
+ //MCommandBufferObserver
+ inline void SetListenForUpdates(TBool aListen);
+ void CommandBufferUpdated(const TRect& aDrawRect, const TRect& aBoundingRect);
+ inline CRemoteGc* RemoteGc();
+private:
+ //construct
+ CTransitionParticipant(CTransitionControl* aTransControl);
+ //data
+ TCoordinateRef iCoordRefBegin;
+ TCoordinateRef iCoordRefEnd;
+ TCaptureState iCaptureState;
+ CRemoteGc* iRemoteGc;
+ CParticipantData* iData;
+ CTransitionControl* iTransControl;
+ //hints
+ TBool iInvalidated;
+ TBool iCaptureEndCalled;
+ TBool iInCapture;
+ TBool iCommandsReceived;
+ TBool iCapturedGc;
+ TBool iListensForUpdates;
+ };
+
+// inlines
+
+CRemoteGc* CTransitionParticipant::RemoteGc()
+ {
+ return iRemoteGc;
+ }
+
+CTransitionParticipant::TCaptureState CTransitionParticipant::CaptureState()
+ {
+ return iCaptureState;
+ }
+
+void CTransitionParticipant::Invalidate()
+ {
+ iInvalidated = ETrue;
+ }
+
+TBool CTransitionParticipant::Invalidated()
+ {
+ return iInvalidated;
+ }
+
+void CTransitionParticipant::SetFlags(TUint aFlags)
+ {
+ iData->iFlags = aFlags;
+ }
+
+void CTransitionParticipant::SetLayerType(TUid aLayerType)
+ {
+ iData->iLayerType = aLayerType;
+ }
+
+TUint CTransitionParticipant::Flags()
+ {
+ return iData->iFlags;
+ }
+
+TBool CTransitionParticipant::HaveImageCapture()
+ {
+ return (iData->iBeginCapture || iData->iEndCapture);
+ }
+
+const CCoeControl* CTransitionParticipant::Control()
+ {
+ return iData->iKey;
+ }
+
+const CParticipantData* CTransitionParticipant::Data()
+ {
+ return iData;
+ }
+
+void CTransitionParticipant::SetListenForUpdates(TBool aListen)
+ {
+ iListensForUpdates = aListen;
+ }
+#endif //_TRANSITIONPARTICIPANT_H_
+