X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Frenderers%2Frenderer-factory-impl.h;h=87e321f507e4710d99d111c73f926ec4708975b9;hb=67dac5bbe829e8fc58b6899559ec3dc2079f78df;hp=d65e747c307cfbfaae7b1ccddd7e40a53fbdf7cd;hpb=df4e976c9228a4ceeaa2622d86ad7b21e8eb65b8;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h index d65e747..87e321f 100644 --- a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h +++ b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h @@ -36,23 +36,44 @@ namespace Internal class RendererFactoryCache; typedef IntrusivePtr RendererFactoryCachePtr; +class ImageAtlasManager; +typedef IntrusivePtr ImageAtlasManagerPtr; + /** * @copydoc Toolkit::RendererFactory */ class RendererFactory : public BaseObject { - public: + enum RendererType + { + COLOR, + BORDER, + GRADIENT, + IMAGE, + N_PATCH, + SVG, + MESH, + UNDEFINED + }; + /** * @brief Constructor + * + * @param[in] debugEnabled If true, use debug renderer to replace all the concrete renderer. */ - RendererFactory(); + RendererFactory( bool debugEnabled ); /** * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Property::Map& ) */ - Toolkit::ControlRenderer GetControlRenderer( const Property::Map& propertyMap ); + Toolkit::ControlRenderer GetControlRenderer( const Property::Map& propertyMap ); + + /** + * @copydoc Toolkit::RenderFactory::ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Property::Map& propertyMap ) + */ + void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Property::Map& propertyMap ); /** * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Vector4& ) @@ -60,9 +81,14 @@ public: Toolkit::ControlRenderer GetControlRenderer( const Vector4& color ); /** - * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, const Vector4& ) + * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, Actor& actor, const Vector4& ) */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const Vector4& color ); + void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Vector4& color ); + + /** + * @copydoc Toolkit::RenderFactory::GetControlRenderer( float, const Vector4&, bool ) + */ + Toolkit::ControlRenderer GetControlRenderer( float borderSize, const Vector4& borderColor, bool antiAliasing ); /** * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Image& ) @@ -70,19 +96,25 @@ public: Toolkit::ControlRenderer GetControlRenderer( const Image& image ); /** - * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, const Image& ) + * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, Actor& actor, const Image& ) */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const Image& image ); + void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Image& image ); /** - * @copydoc Toolkit::RenderFactory::GetControlRenderer( const std::string& ) + * @copydoc Toolkit::RenderFactory::GetControlRenderer( const std::string&, ImageDimensions ) */ - Toolkit::ControlRenderer GetControlRenderer( const std::string& image ); + Toolkit::ControlRenderer GetControlRenderer( const std::string& image, ImageDimensions size ); /** - * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, const std::string& ) + * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, Actor& actor, const std::string&, ImageDimensions ) */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const std::string& image ); + void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const std::string& image, ImageDimensions size ); + +public: + /** + * @brief Returns an image to be used when a renderer has failed to correctly render + */ + static Image GetBrokenRendererImage(); protected: @@ -94,6 +126,19 @@ protected: private: /** + * Get the renderer type from the property map. + * + * @param[in] propertyMap The map contains the properties of the control renderer + * @return The rendererType + */ + RendererType GetRendererType( const Property::Map& propertyMap ); + + /** + * Prepare the atlas manager + */ + void CreateAtlasManager(); + + /** * Undefined copy constructor. */ RendererFactory(const RendererFactory&); @@ -106,6 +151,8 @@ private: private: RendererFactoryCachePtr mFactoryCache; + ImageAtlasManagerPtr mAtlasManager; + bool mDebugEnabled; }; } // namespace Internal