#define __DALI_INTERNAL_ANIMATION_H__
/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
class Animation;
class AnimationPlaylist;
class Object;
-class ShaderEffect;
typedef IntrusivePtr<Animation> AnimationPtr;
typedef std::vector<AnimationPtr> AnimationContainer;
/**
* @copydoc Dali::Animation::SetLooping()
*/
- void SetLooping(bool looping);
+ void SetLooping(bool on);
+
+ /**
+ * @copydoc Dali::Animation::SetLoopCount()
+ */
+ void SetLoopCount(int count);
+
+ /**
+ * @copydoc Dali::Animation::GetLoopCount()
+ */
+ int GetLoopCount();
+
+ /**
+ * @copydoc Dali::Animation::GetCurrentLoop()
+ */
+ int GetCurrentLoop();
/**
* @copydoc Dali::Animation::IsLooping()
void Pause();
/**
+ * @copydoc Dali::Animation::GetState()
+ */
+ Dali::Animation::State GetState() const;
+
+ /**
* @copydoc Dali::Animation::Stop()
*/
void Stop();
Animation& operator=(const Animation& rhs);
private:
+
+ struct ConnectorTargetValues
+ {
+ unsigned int connectorIndex;
+ Property::Value targetValue;
+ };
+
EventThreadServices& mEventThreadServices;
AnimationPlaylist& mPlaylist;
AnimatorConnectorContainer mConnectors; ///< Owned by the Animation
+ std::vector< ConnectorTargetValues > mConnectorTargetValues; //< Used to store animating property target value information
+
// Cached for public getters
float mDurationSeconds;
float mSpeedFactor;
- bool mIsLooping;
+ int mLoopCount;
+ int mCurrentLoop;
Vector2 mPlayRange;
EndAction mEndAction;
EndAction mDisconnectAction;
AlphaFunction mDefaultAlpha;
+ Dali::Animation::State mState;
};