X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fimage-loader%2Fimage-load-thread.cpp;h=43b0707f7052e66ae115cefbf0c3b7edf7ccb15c;hb=1bad054940de89414972d96be98c4ab9bf696aaf;hp=7fc344feb5b3074f6f00e6c13efd4d5448900ebc;hpb=2ca1c3856ce848a94f54444f1014a820e91ee207;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/image-loader/image-load-thread.cpp b/dali-toolkit/internal/image-loader/image-load-thread.cpp index 7fc344f..43b0707 100644 --- a/dali-toolkit/internal/image-loader/image-load-thread.cpp +++ b/dali-toolkit/internal/image-loader/image-load-thread.cpp @@ -19,6 +19,7 @@ #include "image-load-thread.h" // EXTERNAL INCLUDES +#include #include #include #include @@ -33,6 +34,7 @@ namespace Internal LoadingTask::LoadingTask(uint32_t id, Dali::AnimatedImageLoading animatedImageLoading, uint32_t frameIndex) : pixelBuffer(), url(), + encodedImageBuffer(), id(id), dimensions(), fittingMode(), @@ -51,6 +53,26 @@ LoadingTask::LoadingTask(uint32_t id, Dali::AnimatedImageLoading animatedImageLo LoadingTask::LoadingTask(uint32_t id, const VisualUrl& url, ImageDimensions dimensions, FittingMode::Type fittingMode, SamplingMode::Type samplingMode, bool orientationCorrection, DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad) : pixelBuffer(), url(url), + encodedImageBuffer(), + id(id), + dimensions(dimensions), + fittingMode(fittingMode), + samplingMode(samplingMode), + orientationCorrection(orientationCorrection), + preMultiplyOnLoad(preMultiplyOnLoad), + isMaskTask(false), + maskPixelBuffer(), + contentScale(1.0f), + cropToMask(false), + animatedImageLoading(), + frameIndex(0u) +{ +} + +LoadingTask::LoadingTask(uint32_t id, const EncodedImageBuffer& encodedImageBuffer, ImageDimensions dimensions, FittingMode::Type fittingMode, SamplingMode::Type samplingMode, bool orientationCorrection, DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad) +: pixelBuffer(), + url(), + encodedImageBuffer(encodedImageBuffer), id(id), dimensions(dimensions), fittingMode(fittingMode), @@ -69,6 +91,7 @@ LoadingTask::LoadingTask(uint32_t id, const VisualUrl& url, ImageDimensions dime LoadingTask::LoadingTask(uint32_t id, Devel::PixelBuffer pixelBuffer, Devel::PixelBuffer maskPixelBuffer, float contentScale, bool cropToMask, DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad) : pixelBuffer(pixelBuffer), url(""), + encodedImageBuffer(), id(id), dimensions(), fittingMode(), @@ -90,11 +113,15 @@ void LoadingTask::Load() { pixelBuffer = animatedImageLoading.LoadFrame(frameIndex); } - else if(url.IsLocalResource()) + else if(encodedImageBuffer) + { + pixelBuffer = Dali::LoadImageFromBuffer(encodedImageBuffer.GetRawBuffer(), dimensions, fittingMode, samplingMode, orientationCorrection); + } + else if(url.IsValid() && url.IsLocalResource()) { pixelBuffer = Dali::LoadImageFromFile(url.GetUrl(), dimensions, fittingMode, samplingMode, orientationCorrection); } - else + else if(url.IsValid()) { pixelBuffer = Dali::DownloadImageSynchronously(url.GetUrl(), dimensions, fittingMode, samplingMode, orientationCorrection); }