X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-core.git;a=blobdiff_plain;f=dali%2Finternal%2Fevent%2Fanimation%2Fanimation-impl.h;h=fa281011aa848b473af3f44bd832ec1c21ff40fb;hp=8554ff48fe122eaa29644531f4121181891527af;hb=641ea9391fdfc25a6836ffaa86b5c74e2a1f425c;hpb=79b6ed9fa711973b3245ad776b747bb049b491ed diff --git a/dali/internal/event/animation/animation-impl.h b/dali/internal/event/animation/animation-impl.h index 8554ff4..fa28101 100644 --- a/dali/internal/event/animation/animation-impl.h +++ b/dali/internal/event/animation/animation-impl.h @@ -62,6 +62,8 @@ public: typedef Dali::Animation::EndAction EndAction; typedef Dali::Animation::Interpolation Interpolation; + typedef void (*FinishedCallback)(Object* object); + /** * Create a new Animation object. * @param[in] durationSeconds The duration of the animation. @@ -208,6 +210,13 @@ public: static bool DoAction(BaseObject* object, const std::string& actionName, const Property::Map& attributes); /** + * This callback is intended for internal use only, to avoid the overhead of using a signal. + * @param[in] callback The callback function to connect. + * @param[in] object The internal object requesting the callback, or NULL. + */ + void SetFinishedCallback( FinishedCallback callback, Object* object ); + + /** * @copydoc Dali::Animation::AnimateBy(Property target, Property::Value relativeValue) */ void AnimateBy(Property& target, Property::Value& relativeValue); @@ -446,28 +455,33 @@ private: Property::Value targetValue; }; - const SceneGraph::Animation* mAnimation; - EventThreadServices& mEventThreadServices; AnimationPlaylist& mPlaylist; + const SceneGraph::Animation* mAnimation; + + int mNotificationCount; ///< Keep track of how many Finished signals have been emitted. + Dali::Animation::AnimationSignalType mFinishedSignal; + FinishedCallback mFinishedCallback; + Object* mFinishedCallbackObject; + AnimatorConnectorContainer mConnectors; ///< Owned by the Animation std::vector< ConnectorTargetValues > mConnectorTargetValues; //< Used to store animating property target value information - Vector2 mPlayRange; - + // Cached for public getters float mDurationSeconds; float mSpeedFactor; - int mNotificationCount; ///< Keep track of how many Finished signals have been emitted. int mLoopCount; int mCurrentLoop; + Vector2 mPlayRange; EndAction mEndAction; EndAction mDisconnectAction; AlphaFunction mDefaultAlpha; Dali::Animation::State mState; + }; } // namespace Internal