X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fimage-loader%2Fimage-load-thread.cpp;h=213173a425a9766ebb1e0ac368f023bea293d1ef;hp=975660828e814ebd27db20e6d48037dfdf23584d;hb=716456f869528d22c2a9fac7d1d1f41a41aa439f;hpb=6c0adab163e133ebf7c3aa9eee374e299cfe1cca diff --git a/dali-toolkit/internal/image-loader/image-load-thread.cpp b/dali-toolkit/internal/image-loader/image-load-thread.cpp index 9756608..213173a 100644 --- a/dali-toolkit/internal/image-loader/image-load-thread.cpp +++ b/dali-toolkit/internal/image-loader/image-load-thread.cpp @@ -49,7 +49,8 @@ LoadingTask::LoadingTask( uint32_t id, const VisualUrl& url, ImageDimensions dim { } -LoadingTask::LoadingTask( uint32_t id, Devel::PixelBuffer pixelBuffer, Devel::PixelBuffer maskPixelBuffer, float contentScale, bool cropToMask ) +LoadingTask::LoadingTask( uint32_t id, Devel::PixelBuffer pixelBuffer, Devel::PixelBuffer maskPixelBuffer, float contentScale, bool cropToMask, + DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad ) : pixelBuffer( pixelBuffer ), url( "" ), id( id ), @@ -57,7 +58,7 @@ LoadingTask::LoadingTask( uint32_t id, Devel::PixelBuffer pixelBuffer, Devel::Pi fittingMode(), samplingMode(), orientationCorrection(), - preMultiplyOnLoad(), + preMultiplyOnLoad( preMultiplyOnLoad ), isMaskTask( true ), maskPixelBuffer( maskPixelBuffer ), contentScale( contentScale ), @@ -75,7 +76,15 @@ void LoadingTask::Load() { pixelBuffer = Dali::DownloadImageSynchronously ( url.GetUrl(), dimensions, fittingMode, samplingMode, orientationCorrection ); } +} + +void LoadingTask::ApplyMask() +{ + pixelBuffer.ApplyMask( maskPixelBuffer, contentScale, cropToMask ); +} +void LoadingTask::MultiplyAlpha() +{ if( pixelBuffer && Pixel::HasAlpha( pixelBuffer.GetPixelFormat() ) ) { if( preMultiplyOnLoad == DevelAsyncImageLoader::PreMultiplyOnLoad::ON ) @@ -85,11 +94,6 @@ void LoadingTask::Load() } } -void LoadingTask::ApplyMask() -{ - pixelBuffer.ApplyMask( maskPixelBuffer, contentScale, cropToMask ); -} - ImageLoadThread::ImageLoadThread( EventThreadCallback* trigger ) : mTrigger( trigger ), mLogFactory( Dali::Adaptor::Get().GetLogFactory() ) @@ -121,6 +125,7 @@ void ImageLoadThread::Run() { task->ApplyMask(); } + task->MultiplyAlpha(); AddCompletedTask( task ); }