X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Frenderers%2Frenderer-factory-impl.h;h=671c752e42a1fb491551cc756ade53f2ff380a8f;hp=4ed7e7f035126eb0654e7d0cfb0038681c7d0032;hb=54fbf47db890d0479d19d780de5ea5d860924632;hpb=bf9e99f865d0af2d10df6af8770622eb618bfad2 diff --git a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h index 4ed7e7f..671c752 100644 --- a/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h +++ b/dali-toolkit/internal/controls/renderers/renderer-factory-impl.h @@ -36,67 +36,77 @@ 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& ) + * @copydoc Toolkit::RenderFactory::CreateControlRenderer( const Property::Map& ) */ - Toolkit::ControlRenderer GetControlRenderer( const Property::Map& propertyMap ); + Toolkit::ControlRenderer CreateControlRenderer( const Property::Map& propertyMap ); /** - * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Vector4& ) + * @copydoc Toolkit::RenderFactory::CreateControlRenderer( const Image& ) */ - Toolkit::ControlRenderer GetControlRenderer( const Vector4& color ); + Toolkit::ControlRenderer CreateControlRenderer( const Image& image ); /** - * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, const Vector4& ) + * @copydoc Toolkit::RenderFactory::CreateControlRenderer( const std::string&, ImageDimensions ) */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const Vector4& color ); + Toolkit::ControlRenderer CreateControlRenderer( const std::string& image, ImageDimensions size ); +public: /** - * @copydoc Toolkit::RenderFactory::GetControlRenderer( float, const Vector4& ) + * @brief Returns an image to be used when a renderer has failed to correctly render */ - Toolkit::ControlRenderer GetControlRenderer( float borderSize, const Vector4& borderColor ); + static Image GetBrokenRendererImage(); - /** - * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Image& ) - */ - Toolkit::ControlRenderer GetControlRenderer( const Image& image ); +protected: /** - * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, const Image& ) + * A reference counted object may only be deleted by calling Unreference() */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const Image& image ); + virtual ~RendererFactory(); - /** - * @copydoc Toolkit::RenderFactory::GetControlRenderer( const std::string& ) - */ - Toolkit::ControlRenderer GetControlRenderer( const std::string& image ); +private: /** - * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, const std::string& ) + * Get the renderer type from the property map. + * + * @param[in] propertyMap The map contains the properties of the control renderer + * @return The rendererType */ - bool ResetRenderer( Toolkit::ControlRenderer& renderer, const std::string& image ); - -protected: + RendererType GetRendererType( const Property::Map& propertyMap ); /** - * A reference counted object may only be deleted by calling Unreference() + * Prepare the atlas manager */ - virtual ~RendererFactory(); - -private: + void CreateAtlasManager(); /** * Undefined copy constructor. @@ -111,6 +121,8 @@ private: private: RendererFactoryCachePtr mFactoryCache; + ImageAtlasManagerPtr mAtlasManager; + bool mDebugEnabled; }; } // namespace Internal