X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fimage-loader%2Fasync-image-loader-impl.cpp;h=64639b5290692135ece68bca2c442a1c0f8f9796;hp=ea10924db49929b7d1bfbbdc23a42ee0f5498840;hb=cc7137614f4136f571ccecc22ad1b72c01f16156;hpb=311e5010e011ee0b93a4a7ee48a7ae150cdc0dbd diff --git a/dali-toolkit/internal/image-loader/async-image-loader-impl.cpp b/dali-toolkit/internal/image-loader/async-image-loader-impl.cpp index ea10924..64639b5 100644 --- a/dali-toolkit/internal/image-loader/async-image-loader-impl.cpp +++ b/dali-toolkit/internal/image-loader/async-image-loader-impl.cpp @@ -21,9 +21,6 @@ // EXTERNAL INCLUDES #include -// INTERNAL INCLUDES -#include - namespace Dali { namespace Toolkit @@ -74,24 +71,24 @@ uint32_t AsyncImageLoader::Load(const VisualUrl& url, mLoadThread.Start(); mIsLoadThreadStarted = true; } - if(url.IsBufferResource()) - { - auto visualFactory = Toolkit::VisualFactory::Get(); - if(visualFactory) - { - // Get EncodedImageBuffer from texturemanager - // and make new LoadingTask with buffer - auto& textureManager = GetImplementation(visualFactory).GetTextureManager(); + mLoadThread.AddTask(new LoadingTask(++mLoadTaskId, url, dimensions, fittingMode, samplingMode, orientationCorrection, preMultiplyOnLoad)); - const EncodedImageBuffer& encodedBuffer = textureManager.GetEncodedImageBuffer(url.GetUrl()); + return mLoadTaskId; +} - mLoadThread.AddTask(new LoadingTask(++mLoadTaskId, encodedBuffer, dimensions, fittingMode, samplingMode, orientationCorrection, preMultiplyOnLoad)); - } - } - else +uint32_t AsyncImageLoader::LoadEncodedImageBuffer(const EncodedImageBuffer& encodedImageBuffer, + ImageDimensions dimensions, + FittingMode::Type fittingMode, + SamplingMode::Type samplingMode, + bool orientationCorrection, + DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad) +{ + if(!mIsLoadThreadStarted) { - mLoadThread.AddTask(new LoadingTask(++mLoadTaskId, url, dimensions, fittingMode, samplingMode, orientationCorrection, preMultiplyOnLoad)); + mLoadThread.Start(); + mIsLoadThreadStarted = true; } + mLoadThread.AddTask(new LoadingTask(++mLoadTaskId, encodedImageBuffer, dimensions, fittingMode, samplingMode, orientationCorrection, preMultiplyOnLoad)); return mLoadTaskId; }