-#ifndef __DALI_ANIMATION_H__
-#define __DALI_ANIMATION_H__
+#ifndef DALI_ANIMATION_H
+#define DALI_ANIMATION_H
/*
- * Copyright (c) 2015 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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, uint8_t
+
// INTERNAL INCLUDES
#include <dali/public-api/animation/alpha-function.h>
#include <dali/public-api/animation/key-frames.h>
* If the "Finish" signal is connected to a member function of an object, it must be disconnected before the object is destroyed.
* This is typically done in the object destructor, and requires either the Dali::Connection object or Dali::Animation handle to be stored.
*
+ * The overall animation time is superseded by the values given in the TimePeriod structure used when calling the AnimateTo(), AnimateBy(), AnimateBetween() and Animate() methods.
+ * If any of the individual calls to those functions exceeds the overall animation time, then the overall animation time is automatically extended.
+ *
+ * Using AnimateTo and AnimateBy for the same property of the same Actor will yield undefined behaviour especially if the TimePeriod overlaps.
+ *
+ * After calling Animation::Play(), Handle::GetProperty will return the target value of the animated property.
+ *
* Signals
* | %Signal Name | Method |
* |--------------|--------------------------|
* | pause | Pause() |
* @SINCE_1_0.0
*/
-class DALI_IMPORT_API Animation : public BaseHandle
+class DALI_CORE_API Animation : public BaseHandle
{
public:
+ using AnimationSignalType = Signal<void(Animation&)>; ///< Animation finished signal type @SINCE_1_0.0
- typedef Signal< void (Animation&) > AnimationSignalType; ///< Animation finished signal type @SINCE_1_0.0
-
- typedef Any AnyFunction; ///< Interpolation function @SINCE_1_0.0
+ using AnyFunction = Any; ///< Interpolation function @SINCE_1_0.0
/**
- * @brief What to do when the animation ends, is stopped or is destroyed
+ * @brief Enumeration for what to do when the animation ends, is stopped, or is destroyed.
* @SINCE_1_0.0
*/
- enum EndAction
+ enum EndAction : uint8_t
{
- Bake, ///< When the animation ends, the animated property values are saved. @SINCE_1_0.0
- Discard, ///< When the animation ends, the animated property values are forgotten. @SINCE_1_0.0
- BakeFinal ///< If the animation is stopped, the animated property values are saved as if the animation had run to completion, otherwise behaves like Bake. @SINCE_1_0.0
+ BAKE, ///< When the animation ends, the animated property values are saved. @SINCE_1_0.0
+ DISCARD, ///< When the animation ends, the animated property values are forgotten. @SINCE_1_0.0
+ BAKE_FINAL ///< If the animation is stopped, the animated property values are saved as if the animation had run to completion, otherwise behaves like Bake. @SINCE_1_0.0
};
/**
- * @brief What interpolation method to use on key-frame animations
+ * @brief Enumeration for what interpolation method to use on key-frame animations.
* @SINCE_1_0.0
*/
- enum Interpolation
+ enum Interpolation : uint8_t
{
- Linear, ///< Values in between key frames are interpolated using a linear polynomial. (Default) @SINCE_1_0.0
- Cubic ///< Values in between key frames are interpolated using a cubic polynomial. @SINCE_1_0.0
+ LINEAR, ///< Values in between key frames are interpolated using a linear polynomial. (Default) @SINCE_1_0.0
+ CUBIC ///< Values in between key frames are interpolated using a cubic polynomial. @SINCE_1_0.0
};
/**
- * @brief Create an uninitialized Animation; this can be initialized with Animation::New().
+ * @brief Enumeration for what state the animation is in.
+ *
+ * Note: Calling Reset() on this class will NOT reset the animation. It will call BaseHandle::Reset() which drops the object handle.
*
- * Calling member functions with an uninitialized Dali::Object is not allowed.
+ * @SINCE_1_1.21
+ */
+ enum State : uint8_t
+ {
+ STOPPED, ///< Animation has stopped @SINCE_1_1.21
+ PLAYING, ///< The animation is playing @SINCE_1_1.21
+ PAUSED ///< The animation is paused @SINCE_1_1.21
+ };
+
+ /**
+ * @brief Enumeration for what looping mode is in.
+ *
+ * @SINCE_1_2.60
+ */
+ enum LoopingMode : uint8_t
+ {
+ 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.
* @SINCE_1_0.0
*/
Animation();
/**
- * @brief Create an initialized Animation.
+ * @brief Creates an initialized Animation.
*
* The animation will not loop.
* The default end action is "Bake".
* The default alpha function is linear.
* @SINCE_1_0.0
- * @param [in] durationSeconds The duration in seconds.
- * @return A handle to a newly allocated Dali resource.
- * @pre durationSeconds must be greater than zero.
+ * @param[in] durationSeconds The duration in seconds
+ * @return A handle to a newly allocated Dali resource
+ * @note durationSeconds can not be negative.
*/
static Animation New(float durationSeconds);
/**
- * @brief Downcast an Object handle to Animation.
+ * @brief Downcasts a handle to Animation handle.
*
- * If handle points to an Animation object the downcast produces
- * valid handle. If not the returned handle is left uninitialized.
+ * If handle points to an Animation object, the downcast produces valid handle.
+ * If not, the returned handle is left uninitialized.
*
* @SINCE_1_0.0
- * @param[in] handle to An object
- * @return handle to a Animation object or an uninitialized handle
+ * @param[in] handle Handle to an object
+ * @return Handle to an Animation object or an uninitialized handle
*/
- static Animation DownCast( BaseHandle handle );
+ static Animation DownCast(BaseHandle handle);
/**
- * @brief Destructor
+ * @brief Destructor.
*
* This is non-virtual since derived Handle types must not contain data or virtual methods.
* @SINCE_1_0.0
* @brief This copy constructor is required for (smart) pointer semantics.
*
* @SINCE_1_0.0
- * @param [in] handle A reference to the copied handle
+ * @param[in] handle A reference to the copied handle
*/
Animation(const Animation& handle);
* @brief This assignment operator is required for (smart) pointer semantics.
*
* @SINCE_1_0.0
- * @param [in] rhs A reference to the copied handle
+ * @param[in] rhs A reference to the copied handle
* @return A reference to this
*/
Animation& operator=(const Animation& rhs);
/**
- * @brief Set the duration of an animation.
+ * @brief Move constructor.
+ *
+ * @SINCE_1_9.22
+ * @param[in] rhs A reference to the moved handle
+ */
+ Animation(Animation&& rhs);
+
+ /**
+ * @brief Move assignment operator.
+ *
+ * @SINCE_1_9.22
+ * @param[in] rhs A reference to the moved handle
+ * @return A reference to this handle
+ */
+ Animation& operator=(Animation&& rhs);
+
+ /**
+ * @brief Sets the duration of an animation.
*
* @SINCE_1_0.0
- * @param[in] seconds The duration in seconds.
- * @pre durationSeconds must be greater than zero.
+ * @param[in] seconds The duration in seconds
+ * @pre DurationSeconds must be greater than zero.
*/
void SetDuration(float seconds);
/**
- * @brief Retrieve the duration of an animation.
+ * @brief Retrieves the duration of an animation.
*
* @SINCE_1_0.0
- * @return The duration in seconds.
+ * @return The duration in seconds
*/
float GetDuration() const;
/**
- * @brief Set whether the animation will loop forever.
+ * @brief Sets whether the animation will loop.
*
* This function resets the loop count and should not be used with SetLoopCount(int).
- * Setting this parameter does not cause the animation to Play()
+ * Setting this parameter does not cause the animation to Play().
*
* @SINCE_1_0.0
- * @param[in] looping If true then the animation will loop forever, if false it will never loop.
+ * @param[in] looping True if the animation will loop
*/
void SetLooping(bool looping);
/**
- * @brief Enable looping for 'count' repeats.
+ * @brief Enables looping for 'count' repeats.
*
- * A zero is the same as SetLooping(true) ie repeat forever.
- * If Play() Stop() or 'count' loops is reached, the loop counter will reset.
- * Setting this parameter does not cause the animation to Play()
+ * A zero is the same as SetLooping(true) i.e. repeat forever.
+ * 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.
+ * @param[in] count The number of times to loop
*/
- void SetLoopCount(int count);
+ void SetLoopCount(int32_t count);
/**
- * @brief Get the loop count.
+ * @brief Gets the loop count.
*
* A zero is the same as SetLooping(true) ie repeat forever.
* The loop count is initially 1 for play once.
*
* @SINCE_1_1.20
- * @return The number of times to loop.
+ * @return The number of times to loop
*/
- int GetLoopCount();
+ int32_t GetLoopCount();
/**
- * @brief Get the current loop count.
+ * @brief Gets the current loop count.
*
* A value 0 to GetLoopCount() indicating the current loop count when looping.
*
* @SINCE_1_1.20
- * @return The current number of loops that have occured.
+ * @return The current number of loops that have occured
*/
- int GetCurrentLoop();
+ int32_t GetCurrentLoop();
/**
- * @brief Query whether the animation will loop.
+ * @brief Queries whether the animation will loop.
*
* @SINCE_1_0.0
- * @return True if the animation will loop.
+ * @return True if the animation will loop
*/
bool IsLooping() const;
/**
- * @brief Set the end action of the animation.
+ * @brief Sets the end action of the animation.
*
* This action is performed when the animation ends or if it is stopped.
- * Default end action is bake
+ * Default end action is bake.
* @SINCE_1_0.0
- * @param[in] action The end action.
+ * @param[in] action The end action
*/
void SetEndAction(EndAction action);
* @brief Returns the end action of the animation.
*
* @SINCE_1_0.0
- * @return The end action.
+ * @return The end action
*/
EndAction GetEndAction() const;
/**
- * @brief Set the disconnect action.
+ * @brief Sets the disconnect action.
*
* If any of the animated property owners are disconnected from the stage while the animation is being played, then this action is performed.
* Default action is to BakeFinal.
* @SINCE_1_0.0
- * @param[in] disconnectAction The disconnect action.
+ * @param[in] disconnectAction The disconnect action
*/
- void SetDisconnectAction( EndAction disconnectAction );
+ void SetDisconnectAction(EndAction disconnectAction);
/**
* @brief Returns the disconnect action.
*
* @SINCE_1_0.0
- * @return The disconnect action.
+ * @return The disconnect action
*/
EndAction GetDisconnectAction() const;
/**
- * @brief Set the default alpha function for an animation.
+ * @brief Sets the default alpha function for an animation.
*
* This is applied to individual property animations, if no further alpha functions are supplied.
* @SINCE_1_0.0
- * @param[in] alpha The default alpha function.
+ * @param[in] alpha The default alpha function
*/
void SetDefaultAlphaFunction(AlphaFunction alpha);
/**
- * @brief Retrieve the default alpha function for an animation.
+ * @brief Retrieves the default alpha function for an animation.
*
* @SINCE_1_0.0
- * @return The default alpha function.
+ * @return The default alpha function
*/
AlphaFunction GetDefaultAlphaFunction() const;
- /*
+ /**
* @brief Sets the progress of the animation.
*
- * When played, the animation will start from this point.
- * If playing, the animation will jump to, and continue playing from this point.
- *
- * The progress must be in the 0-1 interval or in the play range interval
- * if defined ( See SetPlayRange ), otherwise, it will be ignored.
+ * The animation will play (or continue playing) from this point. The progress
+ * must be in the 0-1 interval or in the play range interval if defined ( See @ref Animation::SetPlayRange ),
+ * otherwise, it will be ignored.
*
+ * @SINCE_1_0.0
* @param[in] progress The new progress as a normalized value between [0,1]
- * or between the play range if specified.
+ * or between the play range if specified
*/
- void SetCurrentProgress( float progress );
+ void SetCurrentProgress(float progress);
/**
- * @brief Retrieve the current progress of the animation.
+ * @brief Retrieves the current progress of the animation.
*
* @SINCE_1_0.0
- * @return The current progress as a normalized value between [0,1].
+ * @return The current progress as a normalized value between [0,1]
*/
float GetCurrentProgress();
/**
- * @brief Specifies an speed factor for the animation.
+ * @brief Specifies a speed factor for the animation.
*
* The speed factor is a multiplier of the normal velocity of the animation. Values between [0,1] will
* slow down the animation and values above one will speed up the animation. It is also possible to specify a negative multiplier
* to play the animation in reverse.
*
* @SINCE_1_0.0
- * @param[in] factor A value which will multiply the velocity.
+ * @param[in] factor A value which will multiply the velocity
*/
- void SetSpeedFactor( float factor );
+ void SetSpeedFactor(float factor);
/**
- * @brief Retrieve the speed factor of the animation
+ * @brief Retrieves the speed factor of the animation.
*
* @SINCE_1_0.0
- * @return speed factor
+ * @return Speed factor
*/
float GetSpeedFactor() const;
/**
- * @brief Set the playing range.
+ * @brief Sets the playing range.
+ *
* Animation will play between the values specified. Both values ( range.x and range.y ) should be between 0-1,
* otherwise they will be ignored. If the range provided is not in proper order ( minimum,maximum ), it will be reordered.
*
* @SINCE_1_0.0
* @param[in] range Two values between [0,1] to specify minimum and maximum progress. The
- * animation will play between those values.
+ * animation will play between those values
*/
- void SetPlayRange( const Vector2& range );
+ void SetPlayRange(const Vector2& range);
/**
- * @brief Get the playing range
+ * @brief Gets the playing range.
*
* @SINCE_1_0.0
- * @return The play range defined for the animation.
+ * @return The play range defined for the animation
*/
Vector2 GetPlayRange() const;
void Play();
/**
- * @brief Play the animation from a given point.
- * The progress must be in the 0-1 interval or in the play range interval if defined ( See SetPlayRange ),
+ * @brief Plays the animation from a given point.
+ *
+ * The progress must be in the 0-1 interval or in the play range interval if defined ( See @ref Animation::SetPlayRange ),
* otherwise, it will be ignored.
*
* @SINCE_1_0.0
- * @param[in] progress A value between [0,1], or between the play range if specified, form where the animation should start playing
+ * @param[in] progress A value between [0,1], or between the play range if specified, from where the animation should start playing
+ */
+ 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 PlayFrom( float progress );
+ void PlayAfter(float delaySeconds);
/**
- * @brief Pause the animation.
+ * @brief Pauses the animation.
* @SINCE_1_0.0
*/
void Pause();
/**
- * @brief Stop the animation.
+ * @brief Queries the state of the animation.
+ * @SINCE_1_1.21
+ * @return The Animation::State
+ */
+ State GetState() const;
+
+ /**
+ * @brief Stops the animation.
* @SINCE_1_0.0
*/
void Stop();
/**
- * @brief Clear the animation.
+ * @brief Clears the animation.
*
* This disconnects any objects that were being animated, effectively stopping the animation.
* @SINCE_1_0.0
void Clear();
/**
- * @brief Connect to this signal to be notified when an Animation's animations have finished.
+ * @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
- * @return A signal object to Connect() with.
+ * @return A signal object to connect with
*/
AnimationSignalType& FinishedSignal();
/**
- * @brief Animate a property value by a relative amount.
+ * @brief Animates a property value by a relative amount.
*
* The default alpha function will be used.
* The effect will start & end when the animation begins & ends.
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] relativeValue The property value will change by this amount.
+ * @param[in] target The target object/property to animate
+ * @param[in] relativeValue The property value will change by this amount
*/
void AnimateBy(Property target, Property::Value relativeValue);
/**
- * @brief Animate a property value by a relative amount.
+ * @brief Animates a property value by a relative amount.
*
* The effect will start & end when the animation begins & ends.
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] relativeValue The property value will change by this amount.
- * @param [in] alpha The alpha function to apply.
+ * @param[in] target The target object/property to animate
+ * @param[in] relativeValue The property value will change by this amount
+ * @param[in] alpha The alpha function to apply
*/
void AnimateBy(Property target, Property::Value relativeValue, AlphaFunction alpha);
/**
- * @brief Animate a property value by a relative amount.
+ * @brief Animates a property value by a relative amount.
*
* The default alpha function will be used.
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] relativeValue The property value will increase/decrease by this amount.
- * @param [in] period The effect will occur during this time period.
+ * @param[in] target The target object/property to animate
+ * @param[in] relativeValue The property value will increase/decrease by this amount
+ * @param[in] period The effect will occur during this time period
*/
void AnimateBy(Property target, Property::Value relativeValue, TimePeriod period);
/**
- * @brief Animate a property value by a relative amount.
+ * @brief Animates a property value by a relative amount.
*
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] relativeValue The property value will increase/decrease by this amount.
- * @param [in] alpha The alpha function to apply.
- * @param [in] period The effect will occur during this time period.
+ * @param[in] target The target object/property to animate
+ * @param[in] relativeValue The property value will increase/decrease by this amount
+ * @param[in] alpha The alpha function to apply
+ * @param[in] period The effect will occur during this time period
*/
void AnimateBy(Property target, Property::Value relativeValue, AlphaFunction alpha, TimePeriod period);
/**
- * @brief Animate a property to a destination value.
+ * @brief Animates a property to a destination value.
*
* The default alpha function will be used.
* The effect will start & end when the animation begins & ends.
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] destinationValue The destination value.
+ * @param[in] target The target object/property to animate
+ * @param[in] destinationValue The destination value
*/
void AnimateTo(Property target, Property::Value destinationValue);
/**
- * @brief Animate a property to a destination value.
+ * @brief Animates a property to a destination value.
*
* The effect will start & end when the animation begins & ends.
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] destinationValue The destination value.
- * @param [in] alpha The alpha function to apply.
+ * @param[in] target The target object/property to animate
+ * @param[in] destinationValue The destination value
+ * @param[in] alpha The alpha function to apply
*/
void AnimateTo(Property target, Property::Value destinationValue, AlphaFunction alpha);
/**
- * @brief Animate a property to a destination value.
+ * @brief Animates a property to a destination value.
*
* The default alpha function will be used.
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] destinationValue The destination value.
- * @param [in] period The effect will occur during this time period.
+ * @param[in] target The target object/property to animate
+ * @param[in] destinationValue The destination value
+ * @param[in] period The effect will occur during this time period
*/
void AnimateTo(Property target, Property::Value destinationValue, TimePeriod period);
/**
- * @brief Animate a property to a destination value.
+ * @brief Animates a property to a destination value.
*
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] destinationValue The destination value.
- * @param [in] alpha The alpha function to apply.
- * @param [in] period The effect will occur during this time period.
+ * @param[in] target The target object/property to animate
+ * @param[in] destinationValue The destination value
+ * @param[in] alpha The alpha function to apply
+ * @param[in] period The effect will occur during this time period
*/
void AnimateTo(Property target, Property::Value destinationValue, AlphaFunction alpha, TimePeriod period);
- /**
- * @brief Animate a property between keyframes.
+ /**
+ * @brief Animates a property between keyframes.
*
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] keyFrames The key frames
+ * @param[in] target The target object property to animate
+ * @param[in] keyFrames The set of time/value pairs between which to animate
*/
void AnimateBetween(Property target, KeyFrames& keyFrames);
/**
- * @brief Animate a property between keyframes.
+ * @brief Animates a property between keyframes.
*
* @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] interpolation The method used to interpolate between values.
+ * @param[in] target The target object property to animate
+ * @param[in] keyFrames The set of time/value pairs between which to animate
+ * @param[in] interpolation The method used to interpolate between values
*/
void AnimateBetween(Property target, KeyFrames& keyFrames, Interpolation interpolation);
/**
- * @brief Animate a property between keyframes.
+ * @brief Animates a property between keyframes.
*
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] keyFrames The key frames
- * @param [in] alpha The alpha function to apply.
+ * @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
*/
void AnimateBetween(Property target, KeyFrames& keyFrames, AlphaFunction alpha);
/**
- * @brief Animate a property between keyframes.
+ * @brief Animates a property between keyframes.
*
* @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] alpha The alpha function to apply.
- * @param [in] interpolation The method used to interpolate between values.
+ * @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
+ * @param[in] interpolation The method used to interpolate between values
*/
void AnimateBetween(Property target, KeyFrames& keyFrames, AlphaFunction alpha, Interpolation interpolation);
/**
- * @brief Animate a property between keyframes.
+ * @brief Animates a property between keyframes.
*
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] keyFrames The key frames
- * @param [in] period The effect will occur during this time period.
+ * @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 during this time period
*/
void AnimateBetween(Property target, KeyFrames& keyFrames, TimePeriod period);
/**
- * @brief Animate a property between keyframes.
+ * @brief Animates a property between keyframes.
*
* @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] interpolation The method used to interpolate between values.
+ * @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 during this time period
+ * @param[in] interpolation The method used to interpolate between values
*/
void AnimateBetween(Property target, KeyFrames& keyFrames, TimePeriod period, Interpolation interpolation);
/**
- * @brief Animate a property between keyframes.
+ * @brief Animates a property between keyframes.
*
* @SINCE_1_0.0
- * @param [in] target The target object/property to animate.
- * @param [in] keyFrames The key frames
- * @param [in] alpha The alpha function to apply.
- * @param [in] period The effect will occur during this time period.
+ * @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
+ * @param[in] period The effect will occur during this time period
*/
void AnimateBetween(Property target, KeyFrames& keyFrames, AlphaFunction alpha, TimePeriod period);
/**
- * @brief Animate a property between keyframes.
+ * @brief Animates a property between keyframes.
*
* @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] alpha The alpha function to apply to the overall progress.
- * @param [in] period The effect will occur duing this time period.
- * @param [in] interpolation The method used to interpolate between values.
+ * @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 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);
-
// Actor-specific convenience methods
/**
- * @brief Animate an actor's position and orientation through a predefined path. The actor will rotate to orient the supplied
+ * @brief Animates an actor's position and orientation through a predefined path.
+ *
+ * The actor will rotate to orient the supplied
* forward vector with the path's tangent. If forward is the zero vector then no rotation will happen.
*
* @SINCE_1_0.0
* @param[in] path The path. It defines position and orientation
* @param[in] forward The vector (in local space coordinate system) that will be oriented with the path's tangent direction
*/
- void Animate( Actor actor, Path path, const Vector3& forward );
+ void Animate(Actor actor, Path path, const Vector3& forward);
/**
- * @brief Animate an actor's position and orientation through a predefined path. The actor will rotate to orient the supplied
+ * @brief Animates an actor's position and orientation through a predefined path.
+ *
+ * The actor will rotate to orient the supplied
* forward vector with the path's tangent. If forward is the zero vector then no rotation will happen.
*
* @SINCE_1_0.0
* @param[in] actor The actor to animate
* @param[in] path The path. It defines position and orientation
* @param[in] forward The vector (in local space coordinate system) that will be oriented with the path's tangent direction
- * @param [in] alpha The alpha function to apply.
+ * @param[in] alpha The alpha function to apply
*/
- void Animate( Actor actor, Path path, const Vector3& forward, AlphaFunction alpha );
+ void Animate(Actor actor, Path path, const Vector3& forward, AlphaFunction alpha);
/**
- * @brief Animate an actor's position and orientation through a predefined path. The actor will rotate to orient the supplied
+ * @brief Animates an actor's position and orientation through a predefined path.
+ *
+ * The actor will rotate to orient the supplied
* forward vector with the path's tangent. If forward is the zero vector then no rotation will happen.
*
* @SINCE_1_0.0
* @param[in] actor The actor to animate
* @param[in] path The path. It defines position and orientation
* @param[in] forward The vector (in local space coordinate system) that will be oriented with the path's tangent direction
- * @param [in] period The effect will occur during this time period.
+ * @param[in] period The effect will occur during this time period
*/
- void Animate( Actor actor, Path path, const Vector3& forward, TimePeriod period );
+ void Animate(Actor actor, Path path, const Vector3& forward, TimePeriod period);
/**
- * @brief Animate an actor's position and orientation through a predefined path. The actor will rotate to orient the supplied
+ * @brief Animates an actor's position and orientation through a predefined path.
+ *
+ * The actor will rotate to orient the supplied
* forward vector with the path's tangent. If forward is the zero vector then no rotation will happen.
*
* @SINCE_1_0.0
* @param[in] actor The actor to animate
* @param[in] path The path. It defines position and orientation
* @param[in] forward The vector (in local space coordinate system) that will be oriented with the path's tangent direction
- * @param [in] alpha The alpha function to apply.
- * @param [in] period The effect will occur during this time period.
+ * @param[in] alpha The alpha function to apply
+ * @param[in] period The effect will occur during this time period
*/
- void Animate( Actor actor, Path path, const Vector3& forward, AlphaFunction alpha, TimePeriod period);
+ void Animate(Actor actor, Path path, const Vector3& forward, AlphaFunction alpha, TimePeriod period);
/**
- * @brief Show an actor during the animation.
+ * @brief Shows an actor during the animation.
*
* @SINCE_1_0.0
- * @param [in] actor The actor to animate.
- * @param [in] delaySeconds The initial delay from the start of the animation.
+ * @param[in] actor The actor to animate
+ * @param[in] delaySeconds The initial delay from the start of the animation
*/
void Show(Actor actor, float delaySeconds);
/**
- * @brief Hide an actor during the animation.
+ * @brief Hides an actor during the animation.
*
* @SINCE_1_0.0
- * @param [in] actor The actor to animate.
- * @param [in] delaySeconds The initial delay from the start of the animation.
+ * @param[in] actor The actor to animate
+ * @param[in] delaySeconds The initial delay from the start of the animation
*/
void Hide(Actor actor, float delaySeconds);
public: // Not intended for use by Application developers
-
+ /// @cond internal
/**
- * @brief This constructor is used by Dali New() methods
+ * @brief This constructor is used by Animation::New() methods.
* @SINCE_1_0.0
- * @param [in] animation A pointer to a newly allocated Dali resource
+ * @param[in] animation A pointer to a newly allocated Dali resource
*/
explicit DALI_INTERNAL Animation(Internal::Animation* animation);
-
+ /// @endcond
};
/**
*/
} // namespace Dali
-#endif // __DALI_ANIMATION_H__
+#endif // DALI_ANIMATION_H