--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/graphicseffects/StubAdapterSrc/gfxtransadapterstub.cpp Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,125 @@
+// 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:
+//
+
+#include "gfxtransadapterstub.h"
+
+//
+// DLL interface.
+//
+EXPORT_C MGfxTransAdapter* MGfxTransAdapter::CreateL(MGfxTransClient* aClient)
+ {
+ CGfxTransAdapterStub* adapter = new (ELeave) CGfxTransAdapterStub(aClient);
+ CleanupStack::PushL(adapter);
+ adapter->ConstructL();
+ CleanupStack::Pop(adapter);
+ return adapter;
+ }
+
+EXPORT_C void MGfxTransAdapter::Destroy(MGfxTransAdapter* aAdapter)
+ {
+ delete static_cast<CGfxTransAdapterStub*>(aAdapter);
+ }
+
+//
+// Construction/Destruction
+//
+CGfxTransAdapterStub::CGfxTransAdapterStub(MGfxTransClient* aClient) :
+ iClient(aClient)
+ {
+ }
+
+CGfxTransAdapterStub::~CGfxTransAdapterStub()
+ {
+ }
+
+void CGfxTransAdapterStub::ConstructL()
+ {
+ }
+
+//
+// MGfxTransAdapter implementation
+//
+TInt CGfxTransAdapterStub::HandleClientState(TClientState /*aState*/, const CCoeControl* /* aKey*/, TInt /*aHandle*/)
+ {
+ //Adapter should respond to the state here if it needs to.
+ //Most adapters will probably not be interested in most states.
+
+ //aKey can be NULL if no control is available for that state and aHandle can be 0 if its not valid.
+ //(like global abort)
+
+ //You can also request the CTransitionData here, if you got a valid handle.
+ //Be aware though that it might not yet be complete.
+ //(For example, in EPostBeginCapture, the begin state has just been captured, but
+ // the endstate has not yet been.)
+
+ return KErrNone;
+ }
+
+TBool CGfxTransAdapterStub::IsActive()
+ {
+ return ETrue;
+ }
+
+TControlPolicy* CGfxTransAdapterStub::GetTransitionPolicies(TInt& /* aCount*/)
+ {
+ return NULL;
+ }
+
+void CGfxTransAdapterStub::StartTransition(TInt aHandle)
+ {
+ //Get information about the transition collected by the client like this:
+ const CTransitionData* transition;
+ iClient->GetTransitionData(aHandle,transition);
+
+ //Check gfxtransdatatype.h to see what information is available through CTransitionData.
+
+
+ // A start transition call from the client MUST always be followed by a transitionfinished callback to it.
+ // If not getting it, the client can't know when to clean up the transition information.
+ iClient->TransitionFinished(aHandle);
+ }
+
+void CGfxTransAdapterStub::NotifyExternalState(TInt /*aState*/, const TDesC8* /* aArg */)
+ {
+ //This one is called if the new NotifyExternalState API function is called.
+ // anything passed in from the API gets through to here unmodified.
+ }
+
+void CGfxTransAdapterStub::HandleParticpantUpdate(TInt /*aHandle*/, const CParticipantData* /*aParticipant*/, RWsGraphicMsgBuf* /*aCommandBuffer*/, const TRect& /*aDrawRect*/, const TRect& /*aBoundingRect*/)
+ {
+ //This function will be called if the client finds a participant has been updated (called drawnow on)
+ //while the transition is animating.
+ //(That is, after End has return, but before the client has got TransitionFinished from the adapter)
+
+ //For this stubadapter, this can never happen since all transitions are finished immediatly.
+ //A real adapter would though do this in an async way, returning from StartTransition without calling
+ //TransitionFinished, and then call this at a later point when the animation has finished.
+ }
+
+void CGfxTransAdapterStub::BeginFullScreen(TUint /*aAction*/, const TRect& /*aEffectArea*/)
+ {
+ }
+
+void CGfxTransAdapterStub::BeginFullScreen(TUint /*aAction*/, const TRect& /*aEffectArea*/, TUint /*aType*/, const TDesC8& /*aParams*/)
+ {
+ }
+
+void CGfxTransAdapterStub::EndFullScreen()
+ {
+ }
+
+void CGfxTransAdapterStub::AbortFullScreen()
+ {
+ }