+ case Toolkit::DevelVisual::ARC:
+ {
+ visualPtr = ArcVisual::New(GetFactoryCache(), propertyMap);
+ break;
+ }
+ }
+
+ DALI_LOG_INFO(gLogFilter, Debug::Concise, "VisualFactory::CreateVisual( VisualType:%s %s%s)\n", Scripting::GetEnumerationName<Toolkit::DevelVisual::Type>(visualType, VISUAL_TYPE_TABLE, VISUAL_TYPE_TABLE_COUNT), (visualType == Toolkit::DevelVisual::IMAGE) ? "url:" : "", (visualType == Toolkit::DevelVisual::IMAGE) ? (([&]() {
+ // Return URL if present in PropertyMap else return "not found message"
+ Property::Value* imageURLValue = propertyMap.Find(Toolkit::ImageVisual::Property::URL, IMAGE_URL_NAME);
+ return (imageURLValue) ? imageURLValue->Get<std::string>().c_str() : "url not found in PropertyMap";
+ })())
+ : "");
+
+ if(!visualPtr)
+ {
+ DALI_LOG_ERROR("VisualType unknown\n");
+ }
+
+ if(mDebugEnabled && visualType != Toolkit::DevelVisual::WIREFRAME)
+ {
+ //Create a WireframeVisual if we have debug enabled
+ visualPtr = WireframeVisual::New(GetFactoryCache(), visualPtr, propertyMap);
+ }
+
+ return Toolkit::Visual::Base(visualPtr.Get());
+}
+
+Toolkit::Visual::Base VisualFactory::CreateVisual(const std::string& url, ImageDimensions size)
+{
+ Visual::BasePtr visualPtr;
+
+ if(!url.empty())
+ {
+ // first resolve url type to know which visual to create
+ VisualUrl visualUrl(url);
+ switch(visualUrl.GetType())
+ {
+ case VisualUrl::N_PATCH:
+ {
+ visualPtr = NPatchVisual::New(GetFactoryCache(), GetImageVisualShaderFactory(), visualUrl);