X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fanimation%2Fscene-graph-animation.h;h=869fe2fa5b3381e517ffa71e735ba9db13f995bf;hb=8c0647a4a24b25a7e25c2b28559013fe4eadc6d2;hp=40cf2a3a095c407e76ffd6ac53d5377721e2b4ce;hpb=45f7e7ffe87806f6aa049967e5d2f8724596baf4;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/animation/scene-graph-animation.h b/dali/internal/update/animation/scene-graph-animation.h index 40cf2a3..869fe2f 100644 --- a/dali/internal/update/animation/scene-graph-animation.h +++ b/dali/internal/update/animation/scene-graph-animation.h @@ -232,10 +232,10 @@ public: bool Stop(BufferIndex bufferIndex); /** - * Clear the animation. It will clear all animator, and make this animation never played before. + * Clear the animator. It will stop animation, clear all animators, and make this animation never played before. * @param[in] bufferIndex The buffer to update when mEndAction == Bake. */ - void Clear(BufferIndex bufferIndex); + void ClearAnimator(BufferIndex bufferIndex); /** * Called shortly before the animation is destroyed. @@ -302,11 +302,11 @@ public: * @pre The animation is playing or paused. * @param[in] bufferIndex The buffer to update. * @param[in] elapsedSeconds The time elapsed since the previous frame. - * @param[out] looped True if the animation looped + * @param[out] stopped True if the animation stopped this loop * @param[out] finished True if the animation has finished. * @param[out] progressReached True if progress marker reached */ - void Update(BufferIndex bufferIndex, float elapsedSeconds, bool& looped, bool& finished, bool& progressReached); + void Update(BufferIndex bufferIndex, float elapsedSeconds, bool& stopped, bool& finished, bool& progressReached); static uint32_t GetMemoryPoolCapacity(); @@ -372,6 +372,7 @@ protected: bool mAnimatorSortRequired; // Flag to whether we need to sort animator or not. bool mIsActive[2]; // Flag to indicate whether the animation is active in the current frame (which is double buffered) bool mIsFirstLoop; + bool mIsStopped; // Flag to whether this animation call stoped by user at this frame. }; }; // namespace SceneGraph @@ -495,6 +496,7 @@ inline void PlayAnimationMessage(EventThreadServices& eventThreadServices, const // Construct message in the message queue memory; note that delete should not be called on the return value new(slot) LocalType(&animation, &Animation::Play); } + inline void PlayAnimationFromMessage(EventThreadServices& eventThreadServices, const Animation& animation, float progress) { using LocalType = MessageValue1;