X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fcanvas-renderer%2Ftizen%2Fcanvas-renderer-impl-tizen.cpp;h=bc4583717e9aae6110bc1e3a925e06fbe2905255;hb=21f8be59ca7d18faa05d1a4b49f65ca33c2a9af6;hp=ffb30b542972a4b77ef900de08d4ae323c83a3cc;hpb=b7943ae5aeb7ddd069be7496a1c1cee186b740c5;p=platform%2Fcore%2Fuifw%2Fdali-adaptor.git diff --git a/dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp b/dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp index ffb30b5..bc45837 100644 --- a/dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp +++ b/dali/internal/canvas-renderer/tizen/canvas-renderer-impl-tizen.cpp @@ -54,8 +54,11 @@ CanvasRendererTizen* CanvasRendererTizen::New(const Vector2& viewBox) } CanvasRendererTizen::CanvasRendererTizen(const Vector2& viewBox) -: mPixelBuffer(nullptr), +: #ifdef THORVG_SUPPORT + mPixelBuffer(nullptr), + mRasterizedTexture(), + mMutex(), mTvgCanvas(nullptr), mTvgRoot(nullptr), #endif @@ -162,9 +165,31 @@ bool CanvasRendererTizen::Commit() #endif } -Devel::PixelBuffer CanvasRendererTizen::GetPixelBuffer() +Dali::Texture CanvasRendererTizen::GetRasterizedTexture() { - return mPixelBuffer; +#ifdef THORVG_SUPPORT + if(mPixelBuffer) + { + auto width = mPixelBuffer.GetWidth(); + auto height = mPixelBuffer.GetHeight(); + if(width <= 0 || height <= 0) + { + return Dali::Texture(); + } + + Dali::PixelData pixelData = Devel::PixelBuffer::Convert(mPixelBuffer); + + if(!mRasterizedTexture || mRasterizedTexture.GetWidth() != width || mRasterizedTexture.GetHeight() != height) + { + mRasterizedTexture = Dali::Texture::New(Dali::TextureType::TEXTURE_2D, Dali::Pixel::BGRA8888, width, height); + } + + mRasterizedTexture.Upload(pixelData); + } + return mRasterizedTexture; +#else + return Dali::Texture(); +#endif } bool CanvasRendererTizen::AddDrawable(Dali::CanvasRenderer::Drawable& drawable)