X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fanimated-vector-image%2Fvector-animation-task.h;h=42d13f8bc53cf0c24608fedb6459c2cda817725f;hb=HEAD;hp=46976a5b4b1db89936cdee3090472f546e0810b1;hpb=5e0fb26403041c3865e5ac2b5d56a5b479a9015d;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git 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 46976a5..c741be1 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 @@ -67,15 +67,16 @@ public: */ enum ResendFlags { - RESEND_PLAY_RANGE = 1 << 0, - RESEND_LOOP_COUNT = 1 << 1, - RESEND_STOP_BEHAVIOR = 1 << 2, - RESEND_LOOPING_MODE = 1 << 3, - RESEND_CURRENT_FRAME = 1 << 4, - RESEND_SIZE = 1 << 5, - RESEND_PLAY_STATE = 1 << 6, - RESEND_NEED_RESOURCE_READY = 1 << 7, - RESEND_DYNAMIC_PROPERTY = 1 << 8 + RESEND_PLAY_RANGE = 1 << 0, + RESEND_LOOP_COUNT = 1 << 1, + RESEND_STOP_BEHAVIOR = 1 << 2, + RESEND_LOOPING_MODE = 1 << 3, + RESEND_CURRENT_FRAME = 1 << 4, + RESEND_SIZE = 1 << 5, + RESEND_PLAY_STATE = 1 << 6, + RESEND_NEED_RESOURCE_READY = 1 << 7, + RESEND_DYNAMIC_PROPERTY = 1 << 8, + RESEND_NOTIFY_AFTER_RASTERIZATION = 1 << 9, }; /** @@ -94,22 +95,24 @@ public: width(0), height(0), loopCount(-1), - playStateId(0) + playStateId(0), + notifyAfterRasterization(false) { } AnimationData& operator=(const AnimationData& rhs) { resendFlag |= rhs.resendFlag; // OR resend flag - playRange = rhs.playRange; - playState = rhs.playState; - stopBehavior = rhs.stopBehavior; - loopingMode = rhs.loopingMode; - currentFrame = rhs.currentFrame; - width = rhs.width; - height = rhs.height; - loopCount = rhs.loopCount; - playStateId = rhs.playStateId; + playRange = rhs.playRange; + playState = rhs.playState; + stopBehavior = rhs.stopBehavior; + loopingMode = rhs.loopingMode; + currentFrame = rhs.currentFrame; + width = rhs.width; + height = rhs.height; + loopCount = rhs.loopCount; + playStateId = rhs.playStateId; + notifyAfterRasterization = rhs.notifyAfterRasterization; dynamicProperties.insert(dynamicProperties.end(), rhs.dynamicProperties.begin(), rhs.dynamicProperties.end()); return *this; } @@ -125,6 +128,7 @@ public: uint32_t height; int32_t loopCount; uint32_t playStateId; + bool notifyAfterRasterization; }; /** @@ -179,12 +183,6 @@ public: void SetAnimationFinishedCallback(CallbackBase* callback); /** - * @brief This callback is called when we want to force render next frame. - * @param[in] callback The force render once callback - */ - void SetForceRenderOnceCallback(CallbackBase* callback); - - /** * @brief Gets the playing range in frame number. * @param[out] startFrame The frame number to specify minimum progress. * @param[out] endFrame The frame number to specify maximum progress. @@ -263,6 +261,16 @@ public: */ bool IsAnimating(); + void KeepRasterizedBuffer(bool enableFrameCache) + { + mEnableFrameCache = enableFrameCache; + } + + bool IsKeptRasterizedBuffer() const + { + return mEnableFrameCache; + } + public: // Implementation of AsyncTask /** * @copydoc Dali::AsyncTask::Process() @@ -282,16 +290,6 @@ public: // Implementation of AsyncTask return "VectorAnimationTask"; } - void KeepRasterizedBuffer(bool enableFrameCache) - { - mEnableFrameCache = enableFrameCache; - } - - bool IsKeptRasterizedBuffer() - { - return mEnableFrameCache; - } - private: /** * @brief Loads the animation file. @@ -399,7 +397,6 @@ private: Mutex mMutex; ResourceReadySignalType mResourceReadySignal; std::unique_ptr mAnimationFinishedCallback{}; - std::unique_ptr mForceRenderOnceCallback{}; std::unique_ptr mLoadCompletedCallback{}; mutable Property::Map mCachedLayerInfo; mutable Property::Map mCachedMarkerInfo; @@ -433,6 +430,7 @@ private: mutable bool mLayerInfoCached : 1; mutable bool mMarkerInfoCached : 1; bool mEnableFrameCache : 1; + bool mNotifyAfterRasterization : 1; bool mSizeUpdated : 1; };