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=320911da0c05bc73e6cb3b3ede3ea5a63efac5a7;hp=857a55b7d1c1ce7cf1b98799c871199175cadc07;hb=8b474798c4b5a53412ed526f6279d4d27b440fc9;hpb=5ad4aa759c6ad7194d95100eb2e5472343ba74f0 diff --git a/dali-toolkit/internal/image-loader/image-load-thread.cpp b/dali-toolkit/internal/image-loader/image-load-thread.cpp index 857a55b..320911d 100644 --- a/dali-toolkit/internal/image-loader/image-load-thread.cpp +++ b/dali-toolkit/internal/image-loader/image-load-thread.cpp @@ -21,6 +21,7 @@ // EXTERNAL INCLUDES #include #include +#include namespace Dali { @@ -32,14 +33,15 @@ namespace Internal { LoadingTask::LoadingTask( uint32_t id, const VisualUrl& url, ImageDimensions dimensions, - FittingMode::Type fittingMode, SamplingMode::Type samplingMode, bool orientationCorrection ) + FittingMode::Type fittingMode, SamplingMode::Type samplingMode, bool orientationCorrection, DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad ) : pixelBuffer(), url( url ), id( id ), dimensions( dimensions ), fittingMode( fittingMode ), samplingMode( samplingMode ), - orientationCorrection( orientationCorrection ) + orientationCorrection( orientationCorrection ), + preMultiplyOnLoad( preMultiplyOnLoad ) { } @@ -53,6 +55,14 @@ void LoadingTask::Load() { pixelBuffer = Dali::DownloadImageSynchronously ( url.GetUrl(), dimensions, fittingMode, samplingMode, orientationCorrection ); } + + if( pixelBuffer && Pixel::HasAlpha( pixelBuffer.GetPixelFormat() ) ) + { + if( preMultiplyOnLoad == DevelAsyncImageLoader::PreMultiplyOnLoad::ON ) + { + pixelBuffer.MultiplyColorByAlpha(); + } + } } @@ -74,6 +84,7 @@ ImageLoadThread::~ImageLoadThread() void ImageLoadThread::Run() { + SetThreadName( "ImageLoadThread" ); mLogFactory.InstallLogFunction(); while( LoadingTask* task = NextTaskToProcess() )