--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ui/viewutilities/effectengine/inc/glxeffectengine.h Fri Jun 11 13:38:23 2010 +0300
@@ -0,0 +1,158 @@
+/*
+* 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: ?Description
+*
+*/
+
+
+#ifndef GLXEFFECTENGINE_H
+#define GLXEFFECTENGINE_H
+
+#ifdef BUILD_GLXVIEWUTILITIES
+#define GLX_VIEWUTILITIES_EXPORT Q_DECL_EXPORT
+#else
+#define GLX_VIEWUTILITIES_EXPORT Q_DECL_IMPORT
+#endif
+
+#include <QObject>
+#include <hbeffect.h>
+#include <QString>
+#include <QHash>
+#include <QList>
+#include "glxuistd.h"
+
+
+class QStringList ;
+class GlxTransitionEffectSetting ;
+class GlxEffectPluginBase;
+class GlxEffectPluginResolver;
+
+/*
+ * It is customise class for Photo Application to run the effect.
+ */
+
+class GLX_VIEWUTILITIES_EXPORT GlxEffectEngine : public QObject
+{
+ Q_OBJECT
+
+public:
+ /*
+ * Constructor
+ */
+ GlxEffectEngine( );
+ /*
+ * Destructor
+ */
+ ~GlxEffectEngine();
+
+ /*
+ * Register the item type with selected effect
+ * User can change the effect at run time so it is required to register and deregister the effect
+ * before playing the effect.
+ */
+ void registerEffect(const QString &itemType);
+
+ /*
+ * Deregister the current register slide show effect
+ */
+ void deRegisterEffect(const QString &itemType);
+
+ /*
+ * To register a set of transition effect
+ * e.g "grid to full screeen", "fullscreen to grid"
+ */
+ void registerTransitionEffect();
+
+ /*
+ * Deregister the set of register transition effect
+ */
+ void deregistertransitionEffect();
+
+ /*
+ * Run the effect on single item
+ */
+ void runEffect(QGraphicsItem * item, const QString & itemType );
+
+ /*
+ * Run the effect on multiple item
+ */
+ void runEffect(QList< QGraphicsItem * > & items, const QString & itemType );
+
+ /*
+ * Run the transition effect
+ */
+ void runEffect(QList< QGraphicsItem * > & items, GlxEffect transitionEffect);
+
+ /*
+ * Cancel the runing effect on the given item
+ */
+ void cancelEffect(QGraphicsItem * item);
+
+ /*
+ * Cancel the running effect on the given items
+ */
+ void cancelEffect( const QList< QGraphicsItem * > & items );
+
+ /*
+ * cancel the runing transition effect
+ */
+ void cancelEffect(QList< QGraphicsItem * > & items, GlxEffect transitionEffect);
+
+ /*
+ * Return the running status of the given item
+ */
+ bool isEffectRuning(QGraphicsItem * item);
+
+ /*
+ * return the running status of given items
+ */
+ bool isEffectRuning(const QList< QGraphicsItem * > & items);
+
+signals:
+ /*
+ * emit the signal of effect finished
+ */
+ void effectFinished();
+
+public slots:
+ /*
+ * Slot to monitor the slide show effect finished
+ */
+ void slideShowEffectFinished( const HbEffect::EffectStatus &status );
+
+ /*
+ * Slot to monitor the transi
+ */
+ void transitionEffectFinished( const HbEffect::EffectStatus &status );
+
+private:
+ /*
+ * Initialise the all transition effect
+ */
+ void initTransitionEffect();
+
+ /*
+ * Clear the all transition effect
+ */
+ void cleanTransitionEfffect();
+
+private:
+ int mNbrEffectRunning; //containe the number of effect running
+ GlxEffectPluginBase *mEffectPlugin; //No ownership
+ QHash<GlxEffect, GlxTransitionEffectSetting *> mTransitionEffectList;
+ GlxEffect mTransitionEffect;
+ GlxEffectPluginResolver *mEffectResolver;
+};
+
+#endif /*GLXEFFECTENGINE_H*/