X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Fdevel-api%2Fimage-loader%2Fasync-image-loader-devel.h;h=9cf1589c516357a2609c8020a3a8a256d57ac6c4;hb=6e79b1b333af799839c8e7b11a077f754132dc24;hp=1208f0d134f9c2ab74616ef5a9e865ec9030aa56;hpb=8b474798c4b5a53412ed526f6279d4d27b440fc9;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/devel-api/image-loader/async-image-loader-devel.h b/dali-toolkit/devel-api/image-loader/async-image-loader-devel.h index 1208f0d..9cf1589 100644 --- a/dali-toolkit/devel-api/image-loader/async-image-loader-devel.h +++ b/dali-toolkit/devel-api/image-loader/async-image-loader-devel.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_DEVEL_API_IMAGE_LOADER_ASYNC_IMAGE_LOADER_DEVEL_H /* - * Copyright (c) 2018 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 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. @@ -17,8 +17,12 @@ * limitations under the License. */ -#include +// EXTERNAL HEADER +#include #include +#include + +// INTERNAL HEADER #include namespace Dali @@ -27,8 +31,7 @@ namespace Toolkit { namespace DevelAsyncImageLoader { - -typedef Signal< void ( uint32_t, Devel::PixelBuffer ) > PixelBufferLoadedSignalType; +typedef Signal PixelBufferLoadedSignalType; /** * @brief Whether to multiply alpha into color channels on load @@ -36,10 +39,23 @@ typedef Signal< void ( uint32_t, Devel::PixelBuffer ) > PixelBufferLoadedSignalT enum class PreMultiplyOnLoad { OFF = 0, ///< Don't modify the image - ON ///< Multiply alpha into color channels on load + ON ///< Multiply alpha into color channels on load }; /** + * @brief Starts an animated image loading task. + * @REMARK_INTERNET + * @REMARK_STORAGE + * @param[in] asyncImageLoader The ayncImageLoader + * @param[in] animatedImageLoading The AnimatedImageLoading to load animated image + * @param[in] frameIndex The frame index of a frame to be loaded frame + * @return The loading task id + */ +DALI_TOOLKIT_API uint32_t LoadAnimatedImage(AsyncImageLoader asyncImageLoader, + Dali::AnimatedImageLoading animatedImageLoading, + uint32_t frameIndex); + +/** * @brief Starts an image loading task. * @REMARK_INTERNET * @REMARK_STORAGE @@ -49,25 +65,44 @@ enum class PreMultiplyOnLoad * @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 + * @param[in] preMultiplyOnLoad ON if the image color should be multiplied by it's alpha. Set to OFF if there is no alpha or if the image need to be applied alpha mask. * @return The loading task id */ -DALI_TOOLKIT_API uint32_t Load( AsyncImageLoader asyncImageLoader, - const std::string& url, - ImageDimensions dimensions, - FittingMode::Type fittingMode, - SamplingMode::Type samplingMode, - bool orientationCorrection, - DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad ); +DALI_TOOLKIT_API uint32_t Load(AsyncImageLoader asyncImageLoader, + const std::string& url, + ImageDimensions dimensions, + FittingMode::Type fittingMode, + SamplingMode::Type samplingMode, + bool orientationCorrection, + DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad); + +/** + * @brief Starts an mask applying task. + * @REMARK_INTERNET + * @REMARK_STORAGE + * @param[in] asyncImageLoader The ayncImageLoader + * @param[in] pixelBuffer Pointer to raw pixel data to be masked + * @param[in] maskPixelBuffer Pointer to raw masking data + * @param[in] contentScale The factor to scale the content + * @param[in] cropToMask Whether to crop the content to the mask size + * @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 masking task id + */ +DALI_TOOLKIT_API uint32_t ApplyMask(AsyncImageLoader asyncImageLoader, + Devel::PixelBuffer pixelBuffer, + Devel::PixelBuffer maskPixelBuffer, + float contentScale, + bool cropToMask, + DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad); /** * Connect to this signal if you want to load a PixelBuffer instead of a PixelData. * @note Connecting to this signal prevents the emission of the ImageLoadedSignal. */ -DALI_TOOLKIT_API PixelBufferLoadedSignalType& PixelBufferLoadedSignal( AsyncImageLoader asyncImageLoader ); +DALI_TOOLKIT_API PixelBufferLoadedSignalType& PixelBufferLoadedSignal(AsyncImageLoader asyncImageLoader); -} -} // Toolkit -} // Dali +} // namespace DevelAsyncImageLoader +} // namespace Toolkit +} // namespace Dali #endif