X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fanimated-vector-image%2Fanimated-vector-image-visual.h;h=6eaead50c79f5de121d0a083224070027631f6fd;hb=e25442b0c940c46d7ae4ae2e7fb48688665d69e8;hp=78848d0d5cf491152503499a0f142dfe017af8e2;hpb=f5829e20b7d09df9fd925b928818737e2cd22e1e;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 78848d0..6eaead5 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 @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_INTERNAL_ANIMATED_VECTOR_IMAGE_VISUAL_H /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,7 +22,9 @@ #include #include #include +#include #include +#include // INTERNAL INCLUDES #include @@ -54,7 +56,7 @@ using AnimatedVectorImageVisualPtr = IntrusivePtr< AnimatedVectorImageVisual >; * | url | STRING | * */ -class AnimatedVectorImageVisual: public Visual::Base, public ConnectionTracker +class AnimatedVectorImageVisual: public Visual::Base, public ConnectionTracker, public Integration::Processor { public: @@ -137,6 +139,13 @@ protected: */ void OnDoAction( const Property::Index actionId, const Property::Value& attributes ) override; +protected: // Implementation of Processor + + /** + * @copydoc Dali::Integration::Processor::Process() + */ + void Process() override; + private: /** @@ -167,6 +176,16 @@ private: void SetVectorImageSize(); /** + * @brief Stop the animation. + */ + void StopAnimation(); + + /** + * @brief Trigger rasterization of the vector content. + */ + void TriggerVectorRasterization(); + + /** * @brief Callback when the world scale factor changes. */ void OnScaleNotification( PropertyNotification& source ); @@ -179,7 +198,12 @@ private: /** * @brief Callback when the visibility of the actor is changed. */ - void OnVisibilityChanged( Actor actor, bool visible, DevelActor::VisibilityChange::Type type ); + void OnControlVisibilityChanged( Actor actor, bool visible, DevelActor::VisibilityChange::Type type ); + + /** + * @brief Callback when the visibility of the window is changed. + */ + void OnWindowVisibilityChanged( Window window, bool visible ); // Undefined AnimatedVectorImageVisual( const AnimatedVectorImageVisual& visual ) = delete; @@ -189,6 +213,7 @@ private: private: VisualUrl mUrl; + VectorAnimationTask::AnimationData mAnimationData; VectorAnimationTaskPtr mVectorAnimationTask; ImageVisualShaderFactory& mImageVisualShaderFactory; PropertyNotification mScaleNotification; @@ -196,14 +221,9 @@ private: Vector2 mVisualSize; Vector2 mVisualScale; WeakHandle< Actor > mPlacementActor; - int32_t mLoopCount; - uint32_t mStartFrame; - uint32_t mEndFrame; - uint32_t mResendFlag; - DevelAnimatedVectorImageVisual::Action::Type mActionStatus; - DevelImageVisual::StopBehavior::Type mStopBehavior; - DevelImageVisual::LoopingMode::Type mLoopingMode; + DevelImageVisual::PlayState::Type mPlayState; bool mRendererAdded; + bool mRasterizationTriggered; }; } // namespace Internal