X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fimage-loader%2Fasync-image-loader-impl.h;h=39e46905ac795c596e67d7d9ad5c4f94ac9652e3;hb=e8a53a0a591085c6b7470feac4f9cea85cc8ae6e;hp=a97088dd737e63d1a2d2fb585f35134740302af7;hpb=ebdb85a42ff4a00c469c874b68b0984f4f5e5bd7;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/image-loader/async-image-loader-impl.h b/dali-toolkit/internal/image-loader/async-image-loader-impl.h index a97088d..39e4690 100644 --- a/dali-toolkit/internal/image-loader/async-image-loader-impl.h +++ b/dali-toolkit/internal/image-loader/async-image-loader-impl.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_ASYNC_IMAGE_LOADER_IMPL_H /* - * Copyright (c) 2019 Samsung Electronics Co., Ltd. + * Copyright (c) 2021 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -22,23 +22,19 @@ #include // INTERNAL INCLUDES -#include #include #include +#include namespace Dali { - namespace Toolkit { - namespace Internal { - class AsyncImageLoader : public BaseObject { public: - /** * Constructor */ @@ -50,14 +46,37 @@ public: static IntrusivePtr New(); /** + * @copydoc Toolkit::AsyncImageLoader::LoadAnimatedImage( Dali::AnimatedImageLoading animatedImageLoading, uint32_t frameIndex ) + */ + uint32_t LoadAnimatedImage(Dali::AnimatedImageLoading animatedImageLoading, + uint32_t frameIndex); + + /** * @copydoc Toolkit::AsyncImageLoader::Load( const std::string&, ImageDimensions, FittingMode::Type, SamplingMode::Type, bool , DevelAsyncImageLoader::PreMultiplyOnLoad ) */ - uint32_t Load( const VisualUrl& url, - ImageDimensions dimensions, - FittingMode::Type fittingMode, - SamplingMode::Type samplingMode, - bool orientationCorrection, - DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad ); + uint32_t Load(const VisualUrl& url, + ImageDimensions dimensions, + FittingMode::Type fittingMode, + SamplingMode::Type samplingMode, + bool orientationCorrection, + DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad); + + /** + * @brief Starts an image loading task by encoded image buffer. + * @param[in] encodedImageBuffer The encoded buffer of the image to load + * @param[in] dimensions The width and height to fit the loaded image to + * @param[in] fittingMode The method used to fit the shape of the image before loading to the shape defined by the size parameter + * @param[in] samplingMode The filtering method used when sampling pixels from the input image while fitting it to desired size + * @param[in] orientationCorrection Reorient the image to respect any orientation metadata in its header + * @param[in] preMultiplyOnLoad ON if the image color should be multiplied by it's alpha. Set to OFF if there is no alpha. + * @return The loading task id + */ + uint32_t LoadEncodedImageBuffer(const EncodedImageBuffer& encodedImageBuffer, + ImageDimensions dimensions, + FittingMode::Type fittingMode, + SamplingMode::Type samplingMode, + bool orientationCorrection, + DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad); /** * @brief Starts an mask applying task. @@ -68,11 +87,11 @@ public: * @param[in] preMultiplyOnLoad ON if the image color should be multiplied by it's alpha. Set to OFF if there is no alpha. * @return The loading task id */ - uint32_t ApplyMask( Devel::PixelBuffer pixelBuffer, - Devel::PixelBuffer maskPixelBuffer, - float contentScale, - bool cropToMask, - DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad ); + uint32_t ApplyMask(Devel::PixelBuffer pixelBuffer, + Devel::PixelBuffer maskPixelBuffer, + float contentScale, + bool cropToMask, + DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad); /** * @copydoc Toolkit::AsyncImageLoader::ImageLoadedSignal @@ -87,7 +106,7 @@ public: /** * @copydoc Toolkit::AsyncImageLoader::Cancel */ - bool Cancel( uint32_t loadingTaskId ); + bool Cancel(uint32_t loadingTaskId); /** * @copydoc Toolkit::AsyncImageLoader::CancelAll @@ -100,14 +119,13 @@ public: void ProcessLoadedImage(); protected: - /** * Destructor */ - ~AsyncImageLoader(); + ~AsyncImageLoader() override; private: - Toolkit::AsyncImageLoader::ImageLoadedSignalType mLoadedSignal; + Toolkit::AsyncImageLoader::ImageLoadedSignalType mLoadedSignal; Toolkit::DevelAsyncImageLoader::PixelBufferLoadedSignalType mPixelBufferLoadedSignal; ImageLoadThread mLoadThread; @@ -117,22 +135,22 @@ private: } // namespace Internal -inline const Internal::AsyncImageLoader& GetImplementation( const Toolkit::AsyncImageLoader& handle ) +inline const Internal::AsyncImageLoader& GetImplementation(const Toolkit::AsyncImageLoader& handle) { - DALI_ASSERT_ALWAYS( handle && "AsyncImageLoader handle is empty" ); + DALI_ASSERT_ALWAYS(handle && "AsyncImageLoader handle is empty"); const BaseObject& object = handle.GetBaseObject(); - return static_cast( object ); + return static_cast(object); } -inline Internal::AsyncImageLoader& GetImplementation( Toolkit::AsyncImageLoader& handle ) +inline Internal::AsyncImageLoader& GetImplementation(Toolkit::AsyncImageLoader& handle) { - DALI_ASSERT_ALWAYS( handle && "AsyncImageLoader handle is empty" ); + DALI_ASSERT_ALWAYS(handle && "AsyncImageLoader handle is empty"); BaseObject& object = handle.GetBaseObject(); - return static_cast( object ); + return static_cast(object); } } // namespace Toolkit