--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/lafagnosticuifoundation/graphicseffects/ClientSrc/GfxTransEffect.cpp Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,390 @@
+// 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 <e32std.h>
+#include <vwsdef.h> // TVwsViewId
+
+#include "GfxTransEffect.h"
+#include "GfxTransUtils.h"
+#include "GfxTransEffectPanic.h"
+
+#ifndef TRANSITIONS_DISABLED
+#include "GfxTransImpl.h"
+#endif
+
+#ifdef TRANSITIONS_DISABLED
+#include <coecntrl.h>
+#endif
+
+EXPORT_C void GfxTransEffect::Register(const CCoeControl * aKey,const TVwsViewId &aView,TUid aType)
+ {
+ __ASSERT_DEBUG(aKey,Panic(EGfxTransEffectPanicRegisterArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aKey);
+ if(singleton)
+ singleton->Register(aKey,aView,aType);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::Register(const CCoeControl * aKey,TUid aType,TBool aNLayered)
+ {
+ __ASSERT_DEBUG(aKey,Panic(EGfxTransEffectPanicRegisterArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aKey);
+ if(singleton)
+ singleton->Register(aKey,aType,aNLayered);
+#endif
+ }
+
+EXPORT_C TBool GfxTransEffect::IsRegistered(const CCoeControl * aKey)
+ {
+ __ASSERT_DEBUG(aKey,Panic(EGfxTransEffectPanicIsRegisteredArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::StaticNoCreate(aKey);
+ if(singleton)
+ return singleton->IsRegistered(aKey);
+ else
+ return EFalse;
+#else
+ return EFalse;
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::Deregister(const CCoeControl * aKey)
+ {
+ __ASSERT_DEBUG(aKey,Panic(EGfxTransEffectPanicDeregisterArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::StaticNoCreate(aKey);
+ if(singleton)
+ singleton->Deregister(aKey);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::Begin(const CCoeControl * aKey,TUint aAction)
+ {
+ __ASSERT_DEBUG(aKey,Panic(EGfxTransEffectPanicBeginArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aKey);
+ if(singleton)
+ singleton->Begin(aKey,aAction);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::BeginLC(const CCoeControl * aKey,TUint aAction)
+ {
+ __ASSERT_DEBUG(aKey,Panic(EGfxTransEffectPanicBeginArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aKey);
+ if(singleton)
+ singleton->BeginLC(aKey,aAction);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::End(const CCoeControl * aKey)
+ {
+ __ASSERT_DEBUG(aKey,Panic(EGfxTransEffectPanicEndArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aKey);
+ if(singleton)
+ singleton->End(aKey);
+ else
+ aKey->DrawNow();
+#else
+ aKey->DrawNow();
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::NotifyExternalState(TInt aState, const TDesC8* aArg)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->NotifyExternalState(aState,aArg);
+#endif
+ }
+
+
+EXPORT_C void GfxTransEffect::Abort(const CCoeControl * aKey)
+ {
+ __ASSERT_DEBUG(aKey,Panic(EGfxTransEffectPanicAbortArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::StaticNoCreate(aKey);
+ if(singleton)
+ singleton->Abort(aKey);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetHints(const CCoeControl * aControl,TUint aFlags)
+ {
+ __ASSERT_DEBUG(aControl,Panic(EGfxTransEffectPanicSetHintsArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->SetHints(aControl,aFlags);
+#endif
+ }
+
+EXPORT_C TUint GfxTransEffect::GetHints(const CCoeControl * aControl)
+ {
+ __ASSERT_DEBUG(aControl,Panic(EGfxTransEffectPanicGetHintsArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::StaticNoCreate(aControl);
+ if(singleton)
+ return singleton->GetHints(aControl);
+ else
+ return 0;
+#else
+ return 0;
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetHints(const CCoeControl * aControl,TUid aLayerType)
+ {
+ __ASSERT_DEBUG(aControl,Panic(EGfxTransEffectPanicSetHintsArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->SetHints(aControl,aLayerType);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::Invalidate(const CCoeControl * aControl)
+ {
+ __ASSERT_DEBUG(aControl,Panic(EGfxTransEffectPanicInvalidateArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->Invalidate(aControl);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetDemarcation(const CCoeControl * aControl,TPoint const &aDemarcation)
+ {
+ __ASSERT_DEBUG(aControl,Panic(EGfxTransEffectPanicSetDemarcationArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->SetDemarcation(aControl,aDemarcation);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetDemarcation(TVwsViewId const &aView,TPoint const &aDemarcation)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->SetDemarcation(aView,aDemarcation);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetDemarcation(const CCoeControl * aControl,TRect const &aDemarcation)
+ {
+ __ASSERT_DEBUG(aControl,Panic(EGfxTransEffectPanicSetDemarcationArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->SetDemarcation(aControl,aDemarcation);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetDemarcation(TVwsViewId const &aView,TRect const &aDemarcation)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->SetDemarcation(aView,aDemarcation);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetDemarcation(const CCoeControl * aControl,const CCoeControl * aSrc,TRect const &aDemarcation)
+ {
+ __ASSERT_DEBUG(aControl,Panic(EGfxTransEffectPanicSetDemarcationArgument));
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->SetDemarcation(aControl,aSrc,aDemarcation);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetDemarcation(TVwsViewId const &aView,const CCoeControl * aSrc,TRect const &aDemarcation)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->SetDemarcation(aView,aSrc,aDemarcation);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::Enable()
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->Enable();
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::Disable()
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::StaticNoCreate();
+ if(singleton)
+ singleton->Disable();
+#endif
+ }
+
+EXPORT_C TBool GfxTransEffect::IsEnabled()
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ return singleton->IsEnabled();
+ else
+ return EFalse;
+#else
+ return EFalse;
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::Abort()
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->Abort();
+#endif
+ }
+
+//API Additions.
+
+EXPORT_C void GfxTransEffect::SetEndDemarcation(const CCoeControl* aControl, const TRect& aDemarcation)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->SetEndDemarcation(aControl, aDemarcation);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetBeginDemarcation(const CCoeControl* aControl, const TRect& aDemarcation)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->SetBeginDemarcation(aControl, aDemarcation);
+#endif
+ }
+
+EXPORT_C TInt GfxTransEffect::BeginGroup()
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ return singleton->BeginGroup();
+ return 0;
+#else
+ return 0;
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::EndGroup(TInt aGroupId)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->EndGroup(aGroupId);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetTransitionData(TUint aType, const TDesC8& aData)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->SetTransitionData(aType, aData);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::RegisterDrawItemControl(const CCoeControl* aControl, TUid aType)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->RegisterDrawItemControl(aControl, aType);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::BeginDrawItem(const CCoeControl* aControl, TUint aId, TUid aType,TRect &aDrawRect,const TRect* aFromRect, const TRect* aToRect)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->BeginDrawItem(aControl, aId, aType, aDrawRect, aFromRect, aToRect);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::EndDrawItem(const CCoeControl* aControl)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static(aControl);
+ if(singleton)
+ singleton->EndDrawItem(aControl);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::BeginFullScreen(TUint aAction, const TRect &aEffectArea)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->BeginFullScreen(aAction, aEffectArea);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::BeginFullScreen(TUint aAction, const TRect &aEffectArea, TUint aType, const TDesC8& aParams)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->BeginFullScreen(aAction, aEffectArea, aType, aParams);
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::EndFullScreen()
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->EndFullScreen();
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::AbortFullScreen()
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::StaticNoCreate();
+ if(singleton)
+ singleton->AbortFullScreen();
+#endif
+ }
+
+EXPORT_C void GfxTransEffect::SetTransitionObserver(MGfxTransEffectObserver *aObserver)
+ {
+#ifndef TRANSITIONS_DISABLED
+ CGfxTransEffect *singleton = CGfxTransEffect::Static();
+ if(singleton)
+ singleton->SetTransitionObserver(aObserver);
+#endif
+ }