+void RasterizingTask::Rasterize()
+{
+ if(mWidth <= 0u || mHeight <= 0u)
+ {
+ DALI_LOG_ERROR("RasterizingTask::Rasterize: Size is zero!\n");
+ return;
+ }
+
+ Devel::PixelBuffer pixelBuffer = Devel::PixelBuffer::New(mWidth, mHeight, Dali::Pixel::RGBA8888);
+
+ uint32_t defaultWidth, defaultHeight;
+ mVectorRenderer.GetDefaultSize(defaultWidth, defaultHeight);
+
+ float scaleX = static_cast<float>(mWidth) / static_cast<float>(defaultWidth);
+ float scaleY = static_cast<float>(mHeight) / static_cast<float>(defaultHeight);
+ float scale = scaleX < scaleY ? scaleX : scaleY;
+
+ if(!mVectorRenderer.Rasterize(pixelBuffer, scale))
+ {
+ DALI_LOG_ERROR("RasterizingTask::Rasterize: Rasterize is failed! [%s]\n", mUrl.GetUrl().c_str());
+ return;
+ }
+
+ mPixelData = Devel::PixelBuffer::Convert(pixelBuffer);
+}
+
+VectorImageRenderer RasterizingTask::GetVectorRenderer() const
+{
+ return mVectorRenderer;
+}
+
+bool RasterizingTask::IsLoaded() const
+{
+ return mLoadSuccess;
+}
+