Support SVG thread pool
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / visuals / visual-factory-cache.cpp
index d7932d2..6b4bf10 100644 (file)
@@ -43,8 +43,8 @@ const Vector4 FULL_TEXTURE_RECT(0.f, 0.f, 1.f, 1.f);
 }
 
 VisualFactoryCache::VisualFactoryCache(bool preMultiplyOnLoad)
 }
 
 VisualFactoryCache::VisualFactoryCache(bool preMultiplyOnLoad)
-: mSvgRasterizeThread(NULL),
-  mVectorAnimationManager(),
+: mSvgRasterizeManager(nullptr),
+  mVectorAnimationManager(nullptr),
   mPreMultiplyOnLoad(preMultiplyOnLoad),
   mBrokenImageInfoContainer(),
   mDefaultBrokenImageUrl(""),
   mPreMultiplyOnLoad(preMultiplyOnLoad),
   mBrokenImageInfoContainer(),
   mDefaultBrokenImageUrl(""),
@@ -54,7 +54,6 @@ VisualFactoryCache::VisualFactoryCache(bool preMultiplyOnLoad)
 
 VisualFactoryCache::~VisualFactoryCache()
 {
 
 VisualFactoryCache::~VisualFactoryCache()
 {
-  SvgRasterizeThread::TerminateThread(mSvgRasterizeThread);
 }
 
 Geometry VisualFactoryCache::GetGeometry(GeometryType type)
 }
 
 Geometry VisualFactoryCache::GetGeometry(GeometryType type)
@@ -131,14 +130,13 @@ NPatchLoader& VisualFactoryCache::GetNPatchLoader()
   return mNPatchLoader;
 }
 
   return mNPatchLoader;
 }
 
-SvgRasterizeThread* VisualFactoryCache::GetSVGRasterizationThread()
+SvgRasterizeManager* VisualFactoryCache::GetSVGRasterizationManager()
 {
 {
-  if(!mSvgRasterizeThread)
+  if(!mSvgRasterizeManager)
   {
   {
-    mSvgRasterizeThread = new SvgRasterizeThread();
-    mSvgRasterizeThread->Start();
+    mSvgRasterizeManager = std::unique_ptr<SvgRasterizeManager>(new SvgRasterizeManager());
   }
   }
-  return mSvgRasterizeThread;
+  return mSvgRasterizeManager.get();
 }
 
 VectorAnimationManager& VisualFactoryCache::GetVectorAnimationManager()
 }
 
 VectorAnimationManager& VisualFactoryCache::GetVectorAnimationManager()
@@ -412,7 +410,6 @@ void VisualFactoryCache::UpdateBrokenImageRenderer(Renderer& renderer, const Vec
   int brokenIndex = GetProperBrokenImageIndex(size);
   if(GetBrokenImageVisualType(brokenIndex) == VisualUrl::N_PATCH)
   {
   int brokenIndex = GetProperBrokenImageIndex(size);
   if(GetBrokenImageVisualType(brokenIndex) == VisualUrl::N_PATCH)
   {
-    DALI_LOG_ERROR("Broken npatch?");
     // Set geometry and shader for npatch
     Geometry geometry = GetNPatchGeometry(brokenIndex);
     Shader   shader   = GetNPatchShader(brokenIndex);
     // Set geometry and shader for npatch
     Geometry geometry = GetNPatchGeometry(brokenIndex);
     Shader   shader   = GetNPatchShader(brokenIndex);
@@ -422,7 +419,6 @@ void VisualFactoryCache::UpdateBrokenImageRenderer(Renderer& renderer, const Vec
   }
   else
   {
   }
   else
   {
-    DALI_LOG_ERROR("Broken single image");
     // Create single image renderer only if rederer is not use normal ImageShader. i.e. npatch visual.
     if(!rendererIsImage)
     {
     // Create single image renderer only if rederer is not use normal ImageShader. i.e. npatch visual.
     if(!rendererIsImage)
     {