-SvgVisual::SvgVisual( VisualFactoryCache& factoryCache, ImageAtlasManager& atlasManager )
-: Visual::Base( factoryCache ),
+SvgVisualPtr SvgVisual::New( VisualFactoryCache& factoryCache, ImageVisualShaderFactory& shaderFactory, const VisualUrl& imageUrl, const Property::Map& properties )
+{
+ SvgVisualPtr svgVisual( new SvgVisual( factoryCache, shaderFactory ) );
+ svgVisual->ParseFromUrl( imageUrl );
+ svgVisual->SetProperties( properties );
+
+ return svgVisual;
+}
+
+SvgVisualPtr SvgVisual::New( VisualFactoryCache& factoryCache, ImageVisualShaderFactory& shaderFactory, const VisualUrl& imageUrl )
+{
+ SvgVisualPtr svgVisual( new SvgVisual( factoryCache, shaderFactory ) );
+ svgVisual->ParseFromUrl( imageUrl );
+
+ return svgVisual;
+}
+
+SvgVisual::SvgVisual( VisualFactoryCache& factoryCache, ImageVisualShaderFactory& shaderFactory )
+: Visual::Base( factoryCache, Visual::FittingMode::FILL ),
+ mImageVisualShaderFactory( shaderFactory ),