X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fsvg%2Fsvg-rasterize-thread.cpp;h=f0dc4a4399bb49150506d239e63d269baabca8ab;hp=174183eb7f0222af547205693933c6de4725268a;hb=7f8001319223b3168789bb5f35c5a96868b97d13;hpb=0e6daac62ce7e42b15c22642a6c4b4f7f6e120d6;ds=sidebyside diff --git a/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.cpp b/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.cpp index 174183e..f0dc4a4 100644 --- a/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.cpp +++ b/dali-toolkit/internal/visuals/svg/svg-rasterize-thread.cpp @@ -49,6 +49,12 @@ RasterizingTask::RasterizingTask( SvgVisual* svgRenderer, NSVGimage* parsedSvg, mWidth( width ), mHeight( height ) { + mRasterizer = nsvgCreateRasterizer(); +} + +RasterizingTask::~RasterizingTask() +{ + nsvgDeleteRasterizer( mRasterizer ); } void RasterizingTask::Load() @@ -73,7 +79,7 @@ void RasterizingTask::Load() } } -void RasterizingTask::Rasterize( NSVGrasterizer* rasterizer ) +void RasterizingTask::Rasterize( ) { if( mParsedSvg != NULL && mWidth > 0u && mHeight > 0u ) { @@ -84,7 +90,7 @@ void RasterizingTask::Rasterize( NSVGrasterizer* rasterizer ) unsigned int bufferSize = bufferStride * mHeight; unsigned char* buffer = new unsigned char [bufferSize]; - nsvgRasterize(rasterizer, mParsedSvg, 0.f,0.f,scale, + nsvgRasterize(mRasterizer, mParsedSvg, 0.f,0.f,scale, buffer, mWidth, mHeight, bufferStride ); @@ -111,13 +117,10 @@ SvgRasterizeThread::SvgRasterizeThread( EventThreadCallback* trigger ) : mTrigger( trigger ), mIsThreadWaiting( false ) { - mRasterizer = nsvgCreateRasterizer(); } SvgRasterizeThread::~SvgRasterizeThread() { - - nsvgDeleteRasterizer( mRasterizer ); delete mTrigger; } @@ -264,7 +267,7 @@ void SvgRasterizeThread::Run() while( RasterizingTaskPtr task = NextTaskToProcess() ) { task->Load( ); - task->Rasterize( mRasterizer ); + task->Rasterize( ); AddCompletedTask( task ); } }