-#ifndef __DALI_ANIMATION_H__
-#define __DALI_ANIMATION_H__
+#ifndef DALI_ANIMATION_H
+#define DALI_ANIMATION_H
/*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2018 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
*
*/
+// EXTERNAL INCLUDES
+#include <cstdint> // uint32_t
+
// INTERNAL INCLUDES
#include <dali/public-api/animation/alpha-function.h>
#include <dali/public-api/animation/key-frames.h>
* | pause | Pause() |
* @SINCE_1_0.0
*/
-class DALI_IMPORT_API Animation : public BaseHandle
+class DALI_CORE_API Animation : public BaseHandle
{
public:
};
/**
+ * @brief Enumeration for what looping mode is in.
+ *
+ * @SINCE_1_2.60
+ */
+ enum LoopingMode
+ {
+ RESTART, ///< When the animation arrives at the end in looping mode, the animation restarts from the beginning. @SINCE_1_2.60
+ AUTO_REVERSE ///< When the animation arrives at the end in looping mode, the animation reverses direction and runs backwards again. @SINCE_1_2.60
+ };
+
+ /**
* @brief Creates an uninitialized Animation; this can be initialized with Animation::New().
*
* Calling member functions with an uninitialized Animation handle is not allowed.
* @brief Enables looping for 'count' repeats.
*
* A zero is the same as SetLooping(true) i.e. repeat forever.
- * If Play() Stop() or 'count' loops is reached, the loop counter will reset.
+ * This function resets the looping value and should not be used with SetLooping(bool).
* Setting this parameter does not cause the animation to Play().
*
* @SINCE_1_1.20
* @param[in] count The number of times to loop
*/
- void SetLoopCount(int count);
+ void SetLoopCount(int32_t count);
/**
* @brief Gets the loop count.
* @SINCE_1_1.20
* @return The number of times to loop
*/
- int GetLoopCount();
+ int32_t GetLoopCount();
/**
* @brief Gets the current loop count.
* @SINCE_1_1.20
* @return The current number of loops that have occured
*/
- int GetCurrentLoop();
+ int32_t GetCurrentLoop();
/**
* @brief Queries whether the animation will loop.
void PlayFrom( float progress );
/**
+ * @brief Play the animation after a given delay time.
+ *
+ * The delay time is not included in the looping time.
+ * When the delay time is negative value, it would treat as play immediately.
+ * @SINCE_1_2.60
+ * @param[in] delaySeconds The delay time
+ */
+ void PlayAfter( float delaySeconds );
+
+ /**
* @brief Pauses the animation.
* @SINCE_1_0.0
*/
void Clear();
/**
+ * @brief Sets the looping mode.
+ *
+ * Animation plays forwards and then restarts from the beginning or runs backwards again.
+ * @SINCE_1_2.60
+ * @param[in] loopingMode The looping mode is one of RESTART and AUTO_REVERSE
+ */
+ void SetLoopingMode( LoopingMode loopingMode );
+
+ /**
+ * @brief Gets one of the current looping mode.
+ *
+ * @SINCE_1_2.60
+ * @return The current looping mode
+ */
+ LoopingMode GetLoopingMode() const;
+
+ /**
* @brief Connects to this signal to be notified when an Animation's animations have finished.
*
* @SINCE_1_0.0
* @SINCE_1_0.0
* @param[in] target The target object property to animate
* @param[in] keyFrames The set of time/value pairs between which to animate
- * @param[in] period The effect will occur duing this time period
+ * @param[in] period The effect will occur during this time period
* @param[in] interpolation The method used to interpolate between values
*/
void AnimateBetween(Property target, KeyFrames& keyFrames, TimePeriod period, Interpolation interpolation);
* @param[in] target The target object property to animate
* @param[in] keyFrames The set of time/value pairs between which to animate
* @param[in] alpha The alpha function to apply to the overall progress
- * @param[in] period The effect will occur duing this time period
+ * @param[in] period The effect will occur during this time period
* @param[in] interpolation The method used to interpolate between values
*/
void AnimateBetween(Property target, KeyFrames& keyFrames, AlphaFunction alpha, TimePeriod period, Interpolation interpolation);
*/
} // namespace Dali
-#endif // __DALI_ANIMATION_H__
+#endif // DALI_ANIMATION_H