TizenVectorImageRenderer: code refactoring. 20/261820/2
authorHermet Park <chuneon.park@samsung.com>
Tue, 27 Jul 2021 06:25:45 +0000 (15:25 +0900)
committerHermet Park <chuneon.park@samsung.com>
Tue, 27 Jul 2021 09:35:50 +0000 (18:35 +0900)
removing unnecessary "FirstRender" condition to make code clean & neat.

Change-Id: I1614c05188f00ae7b5fd10597539ada5e250168e

dali-extension/vector-image-renderer/tizen-vector-image-renderer.cpp
dali-extension/vector-image-renderer/tizen-vector-image-renderer.h

index b2567e7..73b3456 100755 (executable)
@@ -43,12 +43,13 @@ TizenVectorImageRenderer::TizenVectorImageRenderer()
 
   mSwCanvas = tvg::SwCanvas::gen();
   mSwCanvas->mempool(tvg::SwCanvas::MempoolPolicy::Individual);
+  mSwCanvas->reserve(1);  //has one picture
 }
 
 TizenVectorImageRenderer::~TizenVectorImageRenderer()
 {
-  //Not yet pushed to Canvas
-  if(mIsFirstRender && mPicture)
+  mSwCanvas->clear(false);
+  if(mPicture)
   {
     delete(mPicture);
   }
@@ -96,9 +97,9 @@ bool TizenVectorImageRenderer::Rasterize(Dali::Devel::PixelBuffer& buffer)
     return false;
   }
 
-  unsigned char* pBuffer;
-  pBuffer = buffer.GetBuffer();
+  mSwCanvas->clear(false);
 
+  auto pBuffer = buffer.GetBuffer();
   if(!pBuffer)
   {
     DALI_LOG_ERROR("TizenVectorImageRenderer::Rasterize: pixel buffer is null [%p]\n", this);
@@ -114,23 +115,11 @@ bool TizenVectorImageRenderer::Rasterize(Dali::Devel::PixelBuffer& buffer)
 
   mPicture->size(width, height);
 
-  /* We need to push picture first time, after that we only update its properties. */
-  if(mIsFirstRender)
+  /* We can push everytime since we cleared the canvas just before. */
+  if(mSwCanvas->push(std::unique_ptr<tvg::Picture>(mPicture)) != tvg::Result::Success)
   {
-    if(mSwCanvas->push(std::unique_ptr<tvg::Picture>(mPicture)) != tvg::Result::Success)
-    {
-      DALI_LOG_ERROR("TizenVectorImageRenderer::Rasterize: Picture push fail [%p]\n", this);
-      return false;
-    }
-    mIsFirstRender = false;
-  }
-  else
-  {
-    if(mSwCanvas->update(mPicture) != tvg::Result::Success)
-    {
-      DALI_LOG_ERROR("TizenVectorImageRenderer::Rasterize: Picture update fail [%p]\n", this);
-      return false;
-    }
+    DALI_LOG_ERROR("TizenVectorImageRenderer::Rasterize: Picture push fail [%p]\n", this);
+    return false;
   }
 
   if(mSwCanvas->draw() != tvg::Result::Success)
@@ -144,7 +133,7 @@ bool TizenVectorImageRenderer::Rasterize(Dali::Devel::PixelBuffer& buffer)
   return true;
 }
 
-void TizenVectorImageRenderer::GetDefaultSize( uint32_t &width, uint32_t &height ) const
+void TizenVectorImageRenderer::GetDefaultSize(uint32_t &width, uint32_t &height) const
 {
   width = mDefaultWidth;
   height = mDefaultHeight;
index 12681af..5a92a44 100755 (executable)
@@ -69,7 +69,6 @@ private:
 
   uint32_t                               mDefaultWidth;   ///< The width of the surface
   uint32_t                               mDefaultHeight;  ///< The height of the surface
-  bool                                   mIsFirstRender;
 };
 
 } // namespace Plugin