--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/widgetmodel/alfwidgetmodel/inc/alfanimationoutput.h Thu Dec 17 08:56:02 2009 +0200
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2007 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: Animation class for alfred widget model.
+ This class creates the animation and commands.
+*
+*
+*/
+
+
+
+
+#ifndef ALF_ANIMATIONOUTPUT_H
+#define ALF_ANIMATIONOUTPUT_H
+
+#include <osn/osndefines.h>
+// FORWARD DECLARATIONS
+class CAlfControl;
+class CAlfVisual;
+namespace Alf
+ {
+// FORWARD DECLARATIONS
+class IAlfAttributeSetter;
+class AlfReferenceToVisual;
+class AlfAttributeContainer;
+
+/**
+ * @class AlfAnimationOutput alfanimationoutput.h "alfanimationoutput.h"
+ * Class for creating a command for setting or animating
+ * visual attribute values. Animation sequences can be created
+ * by specifying delay parameters. The target attribute value
+ * can be specified relatively to a reference visual.
+ *
+ * @lib alfwidgetmodel.lib
+ * @since S60 ?S60_version
+ * @status Draft
+ */
+class AlfAnimationOutput
+ {
+public:
+ /**
+ * Constructor.
+ *
+ * @since S60 ?S60_version
+ *
+ * @param aTargetVisual Reference to the animated visual.
+ * @param aReferenceVisual Reference to the visual with the reference value,
+ * or NULL if no reference value is used.
+ * @param aAttributeSetter The attribute setter for animating the attribute
+ * using Hitchcock commands. Ownership is transferred.
+ *
+ * @param aAttributeContainer The attribute container holding the attribute
+ * value(s) used by the attribute setter. Ownership is transferred, if the method does not
+ * throw an exception. The container can hold new values for multiple different
+ * attributes, in which case all of them are applied when the animation output
+ * is triggered.
+ *
+ * @param aAnimationTime The duration of the animation. Note that this parameter
+ * is used only if the transition time parameter is not defined in the
+ * corresponding attribute in the attribute container.
+ *
+ * @param aDelay The delay in microseconds before starting the animation.
+ * Note that this parameter is used only if the delay parameter is not defined in the
+ * corresponding attribute in the attribute container.
+ */
+ OSN_IMPORT AlfAnimationOutput(AlfReferenceToVisual* aTargetVisual,
+ AlfReferenceToVisual* aReferenceVisual,
+ IAlfAttributeSetter* aAttributeSetter,
+ AlfAttributeContainer* aAttributeContainer,
+ unsigned int aAnimationTime, unsigned int aDelay);
+
+ /** Destructor. No derived classes, therefore not virtual. */
+ OSN_IMPORT ~AlfAnimationOutput();
+
+
+ /**
+ * Create and send the animation command.
+ * @exception osncore::AlfVisualException Thrown with EInvalidVisual if reference visual or \n
+ * target visual is invalid .
+ *
+ * @since S60 ?S60_version
+ * @param aControl The control to find the animated visual and
+ * the reference visual.
+ * @param aDataID The data ID used to create the animated visual
+ * and the reference visual. The caller
+ * is responsible for determining what data ID
+ * is related to the visuals. The visual references
+ * may or may not use the given data ID.
+ * @return The visual, or NULL if the visual was not found.
+ */
+ OSN_IMPORT void sendCommand(CAlfWidgetControl& aControl, unsigned int aDataID);
+
+private:
+ // Reference to the animated visual. Owned.
+ AlfReferenceToVisual* mTargetVisual;
+ // Reference to the visual with the reference value. Owned.
+ AlfReferenceToVisual* mReferenceVisual;
+ // The attribute setter. Owned.
+ IAlfAttributeSetter* mAttributeSetter;
+ // The attribute value container. Owned.
+ AlfAttributeContainer* mAttributeContainer;
+ // The duration of the animation.
+ unsigned int mAnimationTime;
+ // The delay before sending the animation command.
+ unsigned int mDelay;
+ };
+
+ } // namespace Alf
+
+#endif //ALF_ANIMATIONOUTPUT_H