+ if( typeValue == COLOR_RENDERER )
+ {
+ rendererType = COLOR;
+ }
+ else if( typeValue == BORDER_RENDERER )
+ {
+ rendererType = BORDER;
+ }
+ else if( typeValue == GRADIENT_RENDERER )
+ {
+ rendererType = GRADIENT;
+ }
+ else if( typeValue == IMAGE_RENDERER )
+ {
+ rendererType = IMAGE;
+ }
+ else if( typeValue == MESH_RENDERER )
+ {
+ rendererType = MESH;
+ }
+ }
+
+ // check the url if exist, to decide the renderer type
+ if( rendererType == IMAGE || rendererType == UNDEFINED )
+ {
+ Property::Value* imageURLValue = propertyMap.Find( IMAGE_URL_NAME );
+ std::string imageUrl;
+ if( imageURLValue && imageURLValue->Get( imageUrl ))
+ {
+ if( NinePatchImage::IsNinePatchUrl( imageUrl ) )
+ {
+ rendererType = N_PATCH;
+ }
+ else if( SvgRenderer::IsSvgUrl( imageUrl ) )
+ {
+ rendererType = SVG;
+ }
+ else
+ {
+ rendererType = IMAGE;
+ }
+ }
+ }
+
+ return rendererType;
+}
+
+Toolkit::ControlRenderer RendererFactory::GetControlRenderer( const Property::Map& propertyMap )
+{
+ ControlRenderer* rendererPtr = NULL;
+
+ RendererType type = GetRendererType( propertyMap );
+ if( type != UNDEFINED)
+ {