{
}
-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 ),
fittingMode(),
samplingMode(),
orientationCorrection(),
- preMultiplyOnLoad(),
+ preMultiplyOnLoad( preMultiplyOnLoad ),
isMaskTask( true ),
maskPixelBuffer( maskPixelBuffer ),
contentScale( contentScale ),
{
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 )
}
}
-void LoadingTask::ApplyMask()
-{
- pixelBuffer.ApplyMask( maskPixelBuffer, contentScale, cropToMask );
-}
-
ImageLoadThread::ImageLoadThread( EventThreadCallback* trigger )
: mTrigger( trigger ),
mLogFactory( Dali::Adaptor::Get().GetLogFactory() )
{
task->ApplyMask();
}
+ task->MultiplyAlpha();
AddCompletedTask( task );
}