X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-factory-impl.h;h=04dce97ee8a53bb293957d9c5fbe7bc49a1c5f93;hb=82442f05b91524bdc363c0768407b811b9a794fa;hp=a3bc7ccbe242a6731e80fc52bcb6d9849c2465ad;hpb=6dc98c1ee5770c402af474654329103077443919;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/visual-factory-impl.h b/dali-toolkit/internal/visuals/visual-factory-impl.h index a3bc7cc..04dce97 100644 --- a/dali-toolkit/internal/visuals/visual-factory-impl.h +++ b/dali-toolkit/internal/visuals/visual-factory-impl.h @@ -18,8 +18,9 @@ */ // EXTERNAL INCLUDES -#include #include +#include +#include // INTERNAL INCLUDES #include @@ -86,6 +87,11 @@ public: bool GetPreMultiplyOnLoad() const; /** + * @copydoc Toolkit::VisualFactory::DiscardVisual() + */ + void DiscardVisual(Toolkit::Visual::Base visual); + + /** * @copydoc Toolkit::VisualFactory::UsePreCompiledShader() */ void UsePreCompiledShader(); @@ -123,6 +129,16 @@ private: */ TextVisualShaderFactory& GetTextVisualShaderFactory(); + /** + * @brief Callbacks called for clear discarded visuals. + */ + void OnDiscardCallback(); + + /** + * @brief Register idle callback for discard visuals if need. + */ + void RegisterDiscardCallback(); + VisualFactory(const VisualFactory&) = delete; VisualFactory& operator=(const VisualFactory& rhs) = delete; @@ -132,9 +148,14 @@ private: std::unique_ptr mImageVisualShaderFactory; std::unique_ptr mTextVisualShaderFactory; SlotDelegate mSlotDelegate; - bool mDebugEnabled : 1; - bool mPreMultiplyOnLoad : 1; ///< Local store for this flag - bool mPrecompiledShaderRequested{false}; + CallbackBase* mIdleCallback; + + using DiscardedVisualContainer = std::vector; + DiscardedVisualContainer mDiscardedVisuals{}; + + bool mDebugEnabled : 1; + bool mPreMultiplyOnLoad : 1; ///< Local store for this flag + bool mPrecompiledShaderRequested{false}; }; /**