diff -r 33a5d2bbf6fc -r 73a1feb507fb mmsharing/livecommsui/lcui/inc/lceffecthandler.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/livecommsui/lcui/inc/lceffecthandler.h Tue Aug 31 15:12:07 2010 +0300 @@ -0,0 +1,96 @@ +/* +* Copyright (c) 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 LCEFFECTHANDLER_H +#define LCEFFECTHANDLER_H + +#include +#include + +class HbWidget; +class LcUiEngine; + +/** + * + */ +class LcEffectHandler : public QObject +{ + Q_OBJECT + friend class UT_LcEffectHandler; + friend class UT_LcView; + +public: + + enum DissapperEffect{ + NormalDissappear, + DissappearToFlip + }; + + explicit LcEffectHandler(LcUiEngine& engine, + HbWidget* sharedVideo, + HbWidget* sharedVideoOverlay, + HbWidget* receivedVideo, + HbWidget* receivedVideoOverlay); + ~LcEffectHandler(); + + void setVisibility(HbWidget* widget, bool visible); + + void setDissappearEffect( LcEffectHandler::DissapperEffect aEffectType ); + + bool isSwapInProgress(); + + void startEffects(); + +signals: + void swapCompleted(); + void loadSwapLayout(); + +public slots: + + void showSendWindow(); + void showReceiveWindow(); + void hideSendWindow(); + void hideReceiveWindow(); + void windowAppearComplete( HbEffect::EffectStatus status ); + void windowDisappearComplete( HbEffect::EffectStatus status ); + void windowDisappearToFlipComplete( HbEffect::EffectStatus status ); + void windowFlipComplete( HbEffect::EffectStatus status ); + void windowSwapSharedComplete( HbEffect::EffectStatus status ); + void windowSwapReceivedComplete( HbEffect::EffectStatus status ); + void swap(); + +private: + void startEffect( HbWidget* widget, const char *effectId, const char *callBack = "" ); + bool isSharedVideoAtTop() const; + bool videosSideBySide() const; + void handleSwapCompletion(); + void initializeSwap(); + +private: //data + + LcUiEngine& mEngine; + HbWidget* mSharedVideo; + HbWidget* mSharedVideoOverlay; + HbWidget* mReceivedVideo; + HbWidget* mReceivedVideoOverlay; + + QString mEffectCallBack; + bool mSwapSharedCompleted; + bool mSwapReceivedCompleted; + bool mSwapInProgress; +}; + +#endif // LCEFFECTHANDLER_H