*/
class RendererFactory : public BaseObject
{
-
public:
- /**
- * @brief Constructor
- */
- RendererFactory();
-
- /**
- * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Property::Map& )
- */
- 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 );
+ enum RendererType
+ {
+ COLOR,
+ BORDER,
+ GRADIENT,
+ IMAGE,
+ N_PATCH,
+ SVG,
+ MESH,
+ UNDEFINED
+ };
/**
- * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Vector4& )
- */
- Toolkit::ControlRenderer GetControlRenderer( const Vector4& color );
-
- /**
- * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, Actor& actor, const Vector4& )
- */
- void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Vector4& color );
-
- /**
- * @copydoc Toolkit::RenderFactory::GetControlRenderer( float, const Vector4& )
- */
- Toolkit::ControlRenderer GetControlRenderer( float borderSize, const Vector4& borderColor );
-
- /**
- * @copydoc Toolkit::RenderFactory::GetControlRenderer( const Image& )
+ * @brief Constructor
+ *
+ * @param[in] debugEnabled If true, use debug renderer to replace all the concrete renderer.
*/
- Toolkit::ControlRenderer GetControlRenderer( const Image& image );
+ RendererFactory( bool debugEnabled );
/**
- * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, Actor& actor, const Image& )
+ * @copydoc Toolkit::RenderFactory::CreateControlRenderer( const Property::Map& )
*/
- void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const Image& image );
+ Toolkit::ControlRenderer CreateControlRenderer( const Property::Map& propertyMap );
/**
- * @copydoc Toolkit::RenderFactory::GetControlRenderer( const std::string&, ImageDimensions )
+ * @copydoc Toolkit::RenderFactory::CreateControlRenderer( const Image& )
*/
- Toolkit::ControlRenderer GetControlRenderer( const std::string& image, ImageDimensions size );
+ Toolkit::ControlRenderer CreateControlRenderer( const Image& image );
/**
- * @copydoc Toolkit::RendererFactory::ResetRenderer( Toolkit::ControlRenderer&, Actor& actor, const std::string&, ImageDimensions )
+ * @copydoc Toolkit::RenderFactory::CreateControlRenderer( const std::string&, ImageDimensions )
*/
- void ResetRenderer( Toolkit::ControlRenderer& renderer, Actor& actor, const std::string& image, ImageDimensions size );
+ Toolkit::ControlRenderer CreateControlRenderer( const std::string& image, ImageDimensions size );
public:
/**
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();
private:
RendererFactoryCachePtr mFactoryCache;
- ImageAtlasManagerPtr mAtlasManager;
+ ImageAtlasManagerPtr mAtlasManager;
+ bool mDebugEnabled;
};
} // namespace Internal