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-animation-task.h;h=42d13f8bc53cf0c24608fedb6459c2cda817725f;hp=fb4a55c4a39aa9a4e7d76c686990da0b4451e459;hb=1f5f10ff81ed70d033cbc236216dda5ea5a1b8e4;hpb=7b406456059abec8a9085c02814e3ea526fc525a diff --git a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.h b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.h index fb4a55c..42d13f8 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.h +++ b/dali-toolkit/internal/visuals/animated-vector-image/vector-animation-task.h @@ -21,11 +21,13 @@ #include #include #include +#include #include #include #include // INTERNAL INCLUDES +#include #include namespace Dali @@ -45,9 +47,17 @@ typedef IntrusivePtr VectorAnimationTaskPtr; class VectorAnimationTask : public RefObject, public ConnectionTracker { public: - using ResourceReadySignalType = Signal; + enum class ResourceStatus + { + LOADED, /// Resource is loaded + READY, /// Resource is ready + FAILED /// Resource is fail to load + }; + + using ResourceReadySignalType = Signal; - using TimePoint = std::chrono::time_point; + using TimePoint = std::chrono::time_point; + using DynamicPropertyType = std::vector; /** * Flags for re-sending data to the vector animation thread @@ -61,7 +71,8 @@ public: RESEND_CURRENT_FRAME = 1 << 4, RESEND_SIZE = 1 << 5, RESEND_PLAY_STATE = 1 << 6, - RESEND_NEED_RESOURCE_READY = 1 << 7 + RESEND_NEED_RESOURCE_READY = 1 << 7, + RESEND_DYNAMIC_PROPERTY = 1 << 8 }; /** @@ -72,6 +83,7 @@ public: AnimationData() : resendFlag(0), playRange(), + dynamicProperties(), playState(), stopBehavior(DevelImageVisual::StopBehavior::CURRENT_FRAME), loopingMode(DevelImageVisual::LoopingMode::RESTART), @@ -93,11 +105,13 @@ public: width = rhs.width; height = rhs.height; loopCount = rhs.loopCount; + dynamicProperties.insert(dynamicProperties.end(), rhs.dynamicProperties.begin(), rhs.dynamicProperties.end()); return *this; } uint32_t resendFlag; Property::Array playRange; + DynamicPropertyType dynamicProperties; DevelImageVisual::PlayState::Type playState; DevelImageVisual::StopBehavior::Type stopBehavior; DevelImageVisual::LoopingMode::Type loopingMode; @@ -132,13 +146,19 @@ public: void SetRenderer(Renderer renderer); /** - * @brief Request to load the animation file. + * @brief Requests to load the animation file. * * @param[in] url The url of the vector animation file */ void RequestLoad(const std::string& url); /** + * @brief Queries whether loading is requested. + * @return True if loading is requested. + */ + bool IsLoadRequested() const; + + /** * @brief Sets data to specify animation playback. * @param[in] data The animation data */