+ if(mNativeImageQueue && mNativeImageQueue->CanDequeueBuffer())
+ {
+ uint32_t width, height, stride;
+ uint8_t* buffer = mNativeImageQueue->DequeueBuffer(width, height, stride);
+ if(!buffer)
+ {
+ DALI_LOG_ERROR("Pixel buffer create to fail [%p]\n", this);
+ return false;
+ }
+
+ mTvgCanvas->target(reinterpret_cast<uint32_t*>(buffer), width, width, height, tvg::SwCanvas::ARGB8888);
+
+ if(mTvgCanvas->draw() != tvg::Result::Success)
+ {
+ DALI_LOG_ERROR("ThorVG Draw fail [%p]\n", this);
+ mNativeImageQueue->EnqueueBuffer(buffer);
+ return false;
+ }
+
+ mTvgCanvas->sync();
+
+ mNativeImageQueue->EnqueueBuffer(buffer);
+ }
+ else