+void SvgVisual::OnInitialize()
+{
+ Shader shader = GenerateShader();
+ Geometry geometry = mFactoryCache.GetGeometry(VisualFactoryCache::QUAD_GEOMETRY);
+ mImpl->mRenderer = DecoratedVisualRenderer::New(geometry, shader);
+ mImpl->mRenderer.ReserveCustomProperties(CUSTOM_PROPERTY_COUNT);
+
+ Vector2 dpi = Stage::GetCurrent().GetDpi();
+ float meanDpi = (dpi.height + dpi.width) * 0.5f;
+
+ SvgTaskPtr newTask = new SvgLoadingTask(this, mVectorRenderer, mImageUrl, meanDpi);
+
+ if(IsSynchronousLoadingRequired() && mImageUrl.IsLocalResource())
+ {
+ newTask->Process();
+ }
+ else
+ {
+ mFactoryCache.GetSVGRasterizationManager()->AddTask(newTask);
+ }
+}
+
+void SvgVisual::DoSetProperties(const Property::Map& propertyMap)