From 787620ac434d60f606c8024bdf12a1cfd1d92e60 Mon Sep 17 00:00:00 2001 From: Joogab Yun Date: Fri, 27 Dec 2019 17:44:07 +0900 Subject: [PATCH] [Tizen] Add AlphaMask to synchronousLoading This reverts commit 88d12807a2c8ca2d6936df37c39833579ce4bd82. Change-Id: Ieda9e804e7418968453ee056175ee51d90ed2c9b --- dali-toolkit/internal/visuals/image/image-visual.cpp | 2 -- dali-toolkit/internal/visuals/texture-manager-impl.cpp | 12 +++++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/dali-toolkit/internal/visuals/image/image-visual.cpp b/dali-toolkit/internal/visuals/image/image-visual.cpp index 8607fa8..e339995 100644 --- a/dali-toolkit/internal/visuals/image/image-visual.cpp +++ b/dali-toolkit/internal/visuals/image/image-visual.cpp @@ -427,8 +427,6 @@ void ImageVisual::DoSetProperty( Property::Index index, const Property::Value& v AllocateMaskData(); // Immediately trigger the alpha mask loading (it may just get a cached value) mMaskingData->mAlphaMaskUrl = alphaUrl; - TextureManager& textureManager = mFactoryCache.GetTextureManager(); - mMaskingData->mAlphaMaskId = textureManager.RequestMaskLoad( alphaUrl ); } break; } diff --git a/dali-toolkit/internal/visuals/texture-manager-impl.cpp b/dali-toolkit/internal/visuals/texture-manager-impl.cpp index 6dcc2fc..57384b3 100644 --- a/dali-toolkit/internal/visuals/texture-manager-impl.cpp +++ b/dali-toolkit/internal/visuals/texture-manager-impl.cpp @@ -182,6 +182,15 @@ TextureSet TextureManager::LoadTexture( { Devel::PixelBuffer pixelBuffer = LoadImageFromFile( url.GetUrl(), desiredSize, fittingMode, samplingMode, orientationCorrection ); + if( maskInfo ) + { + Devel::PixelBuffer maskPixelBuffer = LoadImageFromFile( maskInfo->mAlphaMaskUrl.GetUrl(), ImageDimensions(), + FittingMode::SCALE_TO_FILL, SamplingMode::NO_FILTER, true ); + if( maskPixelBuffer ) + { + pixelBuffer.ApplyMask( maskPixelBuffer, maskInfo->mContentScaleFactor, maskInfo->mCropToMask ); + } + } if( pixelBuffer ) { PreMultiply( pixelBuffer, preMultiplyOnLoad ); @@ -243,8 +252,9 @@ TextureSet TextureManager::LoadTexture( } else { + TextureId alphaMaskId = RequestMaskLoad( maskInfo->mAlphaMaskUrl ); textureId = RequestLoad( url, - maskInfo->mAlphaMaskId, + alphaMaskId, maskInfo->mContentScaleFactor, desiredSize, fittingMode, samplingMode, -- 2.7.4