X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fanimated-vector-image%2Fvector-rasterize-thread.h;h=cb5220df32b966f36e2d217c6cd0dc580b9756fa;hp=f8d409bd31ea434556646dd8d35aa22e144485ae;hb=a30390f12a3730156a9872d5a2b90b50a795aeb7;hpb=7c1ca2d9ab3bc63f3dc164c4f5d4ea0d8bf5ba3e diff --git a/dali-toolkit/internal/visuals/animated-vector-image/vector-rasterize-thread.h b/dali-toolkit/internal/visuals/animated-vector-image/vector-rasterize-thread.h index f8d409b..cb5220d 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/vector-rasterize-thread.h +++ b/dali-toolkit/internal/visuals/animated-vector-image/vector-rasterize-thread.h @@ -142,6 +142,18 @@ public: */ bool IsResourceReady() const; + /** + * @brief Sets the progress of the animation. + * @param[in] progress The new progress as a normalized value between [0,1] or between the play range if specified. + */ + void SetCurrentProgress( float progress ); + + /** + * @brief Retrieves the current progress of the animation. + * @return The current progress as a normalized value between [0,1] + */ + float GetCurrentProgress() const; + protected: /** @@ -153,12 +165,6 @@ protected: private: /** - * @brief Called by the rasterize thread which ensures a wait if required. - * @return false if the thread should stop. - */ - bool IsThreadReady(); - - /** * @brief Start rendering */ bool StartRender(); @@ -179,12 +185,13 @@ private: std::string mUrl; VectorAnimationRenderer mVectorRenderer; ConditionalWait mConditionalWait; - Dali::Mutex mMutex; std::unique_ptr< EventThreadCallback > mResourceReadyTrigger; std::unique_ptr< EventThreadCallback > mAnimationFinishedTrigger; Vector2 mPlayRange; DevelImageVisual::PlayState mPlayState; + int64_t mFrameDurationNanoSeconds; float mProgress; + float mFrameRate; uint32_t mCurrentFrame; uint32_t mTotalFrame; uint32_t mStartFrame; @@ -196,6 +203,7 @@ private: bool mNeedRender; bool mDestroyThread; ///< Whether the thread be destroyed bool mResourceReady; + bool mCurrentFrameUpdated; const Dali::LogFactoryInterface& mLogFactory; ///< The log factory };