{
public:
+ using UploadCompletedSignalType = Dali::VectorAnimationRenderer::UploadCompletedSignalType;
+
/**
* @brief Constructor.
*
void RenderFrame();
/**
- * @brief This callback is called after the first frame is ready.
- * @param[in] callback The resource ready callback
- */
- void SetResourceReadyCallback( EventThreadCallback* callback );
-
- /**
* @brief This callback is called after the animation is finished.
* @param[in] callback The animation finished callback
*/
*/
void SetLoopingMode( DevelImageVisual::LoopingMode::Type loopingMode );
+ /**
+ * @brief Connect to this signal to be notified when the texture upload is completed.
+ * @return The signal to connect to.
+ */
+ UploadCompletedSignalType& UploadCompletedSignal();
+
protected:
/**
std::string mUrl;
VectorAnimationRenderer mVectorRenderer;
ConditionalWait mConditionalWait;
- std::unique_ptr< EventThreadCallback > mResourceReadyTrigger;
std::unique_ptr< EventThreadCallback > mAnimationFinishedTrigger;
Vector2 mPlayRange;
PlayState mPlayState;
bool mDestroyThread; ///< Whether the thread be destroyed
bool mResourceReady;
bool mCurrentFrameUpdated;
+ bool mCurrentLoopUpdated;
bool mForward;
bool mUpdateFrameNumber;
+ bool mNeedAnimationFinishedTrigger;
const Dali::LogFactoryInterface& mLogFactory; ///< The log factory
};