X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=dali-toolkit%2Finternal%2Fvisuals%2Fanimated-vector-image%2Fanimated-vector-image-visual.h;h=b6837b5954b4144ac80d20969b472cf260183e6d;hb=01a5aada2c73e2df08d4d0e784f29d9fc368d3ed;hp=7aaff566c34bdf57b88391c9fc3e137835c248cb;hpb=fedd5ae8da46cd798f730fd07c942df853e055dd;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h index 7aaff56..b6837b5 100644 --- a/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h +++ b/dali-toolkit/internal/visuals/animated-vector-image/animated-vector-image-visual.h @@ -21,12 +21,13 @@ // EXTERNAL INCLUDES #include #include -#include +#include // INTERNAL INCLUDES #include #include #include +#include namespace Dali { @@ -53,7 +54,7 @@ using AnimatedVectorImageVisualPtr = IntrusivePtr< AnimatedVectorImageVisual >; * | url | STRING | * */ -class AnimatedVectorImageVisual: public Visual::Base +class AnimatedVectorImageVisual: public Visual::Base, public ConnectionTracker { public: @@ -146,15 +147,35 @@ private: void DoSetProperty( Property::Index index, const Property::Value& value ); /** - * @brief Event callback from rasterize thread. This is called after the first frame is ready. + * @brief Called when the texture upload is completed. */ - void OnResourceReady(); + void OnUploadCompleted(); /** * @brief Event callback from rasterize thread. This is called after the animation is finished. */ void OnAnimationFinished(); + /** + * @brief Send animation data to the rasterize thread. + */ + void SendAnimationData(); + + /** + * @brief Set the vector image size. + */ + void SetVectorImageSize(); + + /** + * @brief Callback when the world scale factor changes. + */ + void OnScaleNotification( PropertyNotification& source ); + + /** + * @brief Callback when the size changes. + */ + void OnSizeNotification( PropertyNotification& source ); + // Undefined AnimatedVectorImageVisual( const AnimatedVectorImageVisual& visual ) = delete; @@ -164,13 +185,20 @@ private: private: ImageVisualShaderFactory& mImageVisualShaderFactory; VisualUrl mUrl; + VectorRasterizeThread mVectorRasterizeThread; + PropertyNotification mScaleNotification; + PropertyNotification mSizeNotification; Vector2 mVisualSize; - Vector2 mPlayRange; + Vector2 mVisualScale; WeakHandle< Actor > mPlacementActor; - std::unique_ptr< VectorRasterizeThread > mVectorRasterizeThread; - int32_t mLoopCount; + int32_t mStartFrame; + int32_t mEndFrame; + uint32_t mResendFlag; DevelAnimatedVectorImageVisual::Action::Type mActionStatus; + DevelImageVisual::StopBehavior::Type mStopBehavior; + DevelImageVisual::LoopingMode::Type mLoopingMode; + bool mRendererAdded; }; } // namespace Internal