uiacceltk/hitchcock/coretoolkit/inc/hwatranseffect.h
changeset 0 15bf7259bb7c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uiacceltk/hitchcock/coretoolkit/inc/hwatranseffect.h	Tue Feb 02 07:56:43 2010 +0200
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2008 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 __HWATRANSEFFECT__
+#define __HWATRANSEFFECT__
+
+#include <e32std.h>
+#include <cone.h>
+#include <alf/alfvisual.h>
+
+class HwaTransEffect
+    {
+public:
+
+enum EFxGuiLibrary{
+   EGuiNone,  // No connection to wserv   
+   EGuiAvkon, // WServ, Cone & Avkon assumed within a thread
+   EGuiQt
+   }
+
+enum EApplicationFxEvent
+    {
+    EFxApplicationStarting,
+    EFxApplicationClosing,
+    EFxApplicationActivated,
+    EFxApplicationDeactivated,
+    EFxApplicationEmbeddedStarting,
+    EFxApplicationEmbeddedClosing
+    // Todo: Should we have different events for embed cases where hos loses its focus ?
+    }
+
+
+   // should we enforce this somehow to AppFW (e.g. ref to CAknAppUi / CCoeEnv / ..)
+   // or e.g. just enum 
+   // Framework will call
+    IMPORT_C static TInt InitStatic(TUid aAppUid, TInt aFxGuiLibrary = EGuiAvkon );
+    IMPORT_C void Close();
+   
+    // Geter for thread singleton
+    IMPORT_C HwaTransEffect* Static() 
+   
+    // --------------------------------------------------------------------------------------------------------------
+    // Registering a component (Effect identifier & component identifier could be strings as well , should they even be??)
+    // --------------------------------------------------------------------------------------------------------------
+    IMPORT_C TInt Register(const CCoeControl& aControl, TInt aEffectIdentifier);
+    IMPORT_C TInt RegisterUnique(const TDesC8&  aComponentIdentifier, const CCoeControl& aControl,  TInt aEffectIdentifier);
+    IMPORT_C TInt Register(const CAlfVisual& aVisual,  TInt aEffectIdentifier);
+    IMPORT_C TInt RegisterUnique(const TDesC8&  aComponentIdentifier, const CAlfVisual& aVisual,  TInt aEffectIdentifier);
+   
+    // ToDo: Should there be possibility to unregister elements / effects as well ?
+
+    // -------------------------------------------------------------------------------------------------------------- 
+    // Launching an effect
+    // --------------------------------------------------------------------------------------------------------------
+    IMPORT_C void Start(TInt aEffectIdentifier );
+    IMPORT_C void End( TInt aEffectIdentifier );
+
+    // ToDo: Other way to launch unique effects would be using just passing cntrl / visual reference here
+    // On the other hand, if we assume that registering is the method that is allowed to fail, it shoul
+    IMPORT_C void Start(const TDesC8& aComponentIdentifier, TInt aEffectIdentifier );
+    IMPORT_C void End( const TDesC8& aComponentIdentifier, TInt aEffectIdentifier );
+
+    IMPORT_C void StartApplicationEffect(const TUid& aAppUid, TInt aApplicationFxEvent);
+    IMPORT_C void StartApplicationEffect(TInt aWindowGroupId, TInt aApplicationFxEvent);
+    IMPORT_C void ResetApplicationEffect(TInt aApplicationFxEvent);
+   
+private:
+   class HwaTransEffectData;
+   HwaTransEffectData* iData
+   };
+   
+#endif // #ifndef __HWATRANSEFFECT__
+
+   
+   
\ No newline at end of file