+ mRasterizer = nsvgCreateRasterizer();
+}
+#else /* NO_THORVG */
+RasterizingTask::RasterizingTask( SvgVisual* svgRenderer, VectorImageRenderer vectorRenderer, const VisualUrl& url, float dpi, unsigned int width, unsigned int height, bool loaded)
+: mSvgVisual( svgRenderer ),
+ mVectorRenderer( vectorRenderer ),
+ mUrl( url ),
+ mDpi( dpi ),
+ mWidth( width ),
+ mHeight( height ),
+ mLoaded( loaded )
+{
+
+}
+#endif /* NO_THORVG */
+
+RasterizingTask::~RasterizingTask()
+{
+#ifdef NO_THORVG
+ nsvgDeleteRasterizer( mRasterizer );
+#endif /* NO_THORVG */
+}
+
+void RasterizingTask::Load()
+{
+#ifdef NO_THORVG
+ if( mParsedSvg != NULL)
+ {
+ return;
+ }
+
+ if( !mUrl.IsLocalResource() )
+ {
+ Dali::Vector<uint8_t> remoteBuffer;
+
+ if( !Dali::FileLoader::DownloadFileSynchronously( mUrl.GetUrl(), remoteBuffer ))
+ {
+ DALI_LOG_ERROR("Failed to download file!\n");
+ return;
+ }
+
+ remoteBuffer.PushBack( '\0' );
+ mParsedSvg = nsvgParse( reinterpret_cast<char*>(remoteBuffer.begin()), UNITS, mDpi );
+ }
+#else /* NO_THORVG */
+ if( !mLoaded && !mUrl.IsLocalResource() )
+ {
+ Dali::Vector<uint8_t> remoteBuffer;
+
+ if( !Dali::FileLoader::DownloadFileSynchronously( mUrl.GetUrl(), remoteBuffer ))
+ {
+ DALI_LOG_ERROR("Failed to download file!\n");
+ return;
+ }
+
+ remoteBuffer.PushBack( '\0' );
+ char *data = reinterpret_cast<char*>(remoteBuffer.begin());
+ if ( !mVectorRenderer.Load( data, remoteBuffer.Size()))
+ {
+ DALI_LOG_ERROR( "Failed to load data!\n" );
+ return;
+ }
+
+ mLoaded = true;
+ }
+#endif /* NO_THORVG */