--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmsharing/livecommsui/lcui/inc/lceffecthandler.h Fri Jun 11 13:36:18 2010 +0300
@@ -0,0 +1,97 @@
+/*
+* 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 <QObject>
+#include <hbeffect.h>
+
+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 = "" );
+ const char* selectSwapEffect( HbWidget* widget );
+ 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