diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/plugins/alftranseffect/alftranseffectplugin/inc/alfgfxeffects.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/plugins/alftranseffect/alftranseffectplugin/inc/alfgfxeffects.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,156 @@ +/* +* 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: Alf system effects +* +*/ + + + + +#ifndef ALFGFXEFFECTS_H +#define ALFGFXEFFECTS_H + +#include +#include +#include "alftfxplugincommon.hrh" +#include "../../../../ServerCore/Inc/alfwindowfxplugin.h" +#include "wsserverdrawercontroller.h" + +// CONSTANTS +const TUid KAlfGfxImplUid = { KAlfGfxImplUidValue }; + +class CAlfServerDrawer; +class CRepositoryHandler; +class CPolicyHandler; + +// CLASS DECLARATION + +/** + * System effects class for ALF server plugin + * + * @since + */ +NONSHARABLE_CLASS( CAlfGfxEffects ): public CAlfWindowFxPlugin, MEndChecker /*, public MAlfTransEffectPlugin */ + { + public: // Construction and destruction + + /** + * Create a new instance of the interface + * + * @return pointer to the instance + */ + static CAlfWindowFxPlugin* NewFxPluginL(); + + /** + * 2nd phase constructor. Called by framework to complete construction of a plugin. + * Must have base call from deriving class to complete construction + */ + void ConstructL(const CAlfWindowManager& aMgr, TInt aAlfBufferFormat); + + /** + * Destructor + */ + ~CAlfGfxEffects(); + + // From CAlfWindowManager - implemented + + /** Synch message from client */ + void HandleMessageL(const TDesC8& aMessage, TPtr8& aResponse); + + /** Asynch message from client */ + void HandleMessageL(const TDesC8& aMessage, const RMessage2& aClientMessage); + + /** Cancel asynch message(s) from client */ + void CancelMessage(TInt aMessageId); + + /** + * From CAlfWindowManager - not implemented + */ + void PrepareFrameL(TUint aEstimatedFrameInterval); + + void WindowUpdated(TInt aWindowId, TInt aEventType); + + public: + + void EndExpired(); + + private: // From MAlfTransEffectPlugin + // - not supported + + TInt GetSupportedEffects( RArray& aSupportedEffectIds ); + TInt StartPhase( TInt aPhaseId, TInt aEffectId, CAlfSrvEffectEnv& aEffectEnv, const TDesC8* aParams ); + TInt Abort() { return KErrNone; }; + TInt AddEventObserver( MAlfTransEffectObserver* /*aObserver*/, TInt /*aEvents*/, const TDesC8* /*aParams*/ ) { return KErrNone; }; + TInt RemoveEventObserver( MAlfTransEffectObserver* /*aObserver*/, TInt /*aEvents*/ ) { return KErrNone; }; + TInt GetEventState( TInt /*aEvent*/, TInt* /*aState*/, TDes8* /*aParams*/ ) { return KErrNone; }; + + private: // New + /** + * Leaving version of StartPhase(). + */ + TInt DoStartPhaseL( TInt aPhaseId, TInt aEffectId, CAlfSrvEffectEnv& aEffectEnv, const TDesC8* aParams ); + + void ShowVisibleGroupsAndMakeNonTransparentL(CAlfSrvEffectEnv& aEffectEnv); + void HideGroupsAndMakeTransparentL(CAlfSrvEffectEnv& aEffectEnv); + + // checks that resource directory is on z drive + TInt VerifyResourceLocation(const TDesC& aResourceDir); + + +private: // Construction and destruction + + /** + * C++ contructor + */ + CAlfGfxEffects(); +#ifdef _DEBUG + void PrintRequestInfo(TInt aOperation, TInt aAction ); +#endif + +private: // data + + CAlfServerDrawer* iEngine; + CRepositoryHandler* iSysDisable; + CPolicyHandler* iPolicyHandler; + + /** + * The wanted time (in milliseconds) for a frame in listbox animations. + */ + TInt iListBoxFrameTime; + + /** + * The minimum time (in milliseconds) between frames in listbox animations. + */ + TInt iListBoxMinFrameTime; + + /** + * The wanted time (in milliseconds) for a frame in control animations. + */ + TInt iControlFrameTime; + + /** + * The minimum time (in milliseconds) between frames in control animatins. + */ + TInt iControlMinFrameTime; + + TInt iTransitionTime; + TInt iTransitionMinTime; + + RArray iActiveSyncronizedGroups; + + CEndCheck* iSyncronizedGroupDefitionEndChecker; + + }; + +#endif // ALFGFXEFFECTS_H