X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fimage-loader%2Fimage-load-thread.h;h=cd6bd323672b24ff50f7df78d60d82c1cc56895d;hb=10caf1dca0d3b222b74ba3916a84474fbcf8834e;hp=c3f230c21f48f5e84fc83cc413d58e8db680a0d7;hpb=5ad4aa759c6ad7194d95100eb2e5472343ba74f0;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/image-loader/image-load-thread.h b/dali-toolkit/internal/image-loader/image-load-thread.h index c3f230c..cd6bd32 100644 --- a/dali-toolkit/internal/image-loader/image-load-thread.h +++ b/dali-toolkit/internal/image-loader/image-load-thread.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_IMAGE_LOAD_THREAD_H__ -#define __DALI_TOOLKIT_IMAGE_LOAD_THREAD_H__ +#ifndef DALI_TOOLKIT_IMAGE_LOAD_THREAD_H +#define DALI_TOOLKIT_IMAGE_LOAD_THREAD_H /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 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. @@ -28,6 +28,7 @@ #include #include #include +#include namespace Dali { @@ -51,16 +52,40 @@ struct LoadingTask * @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's color should be multiplied by it's alpha. */ - LoadingTask( uint32_t id, const VisualUrl& url, ImageDimensions dimensions, - FittingMode::Type fittingMode, SamplingMode::Type samplingMode, - bool orientationCorrection ); + LoadingTask( uint32_t id, + const VisualUrl& url, + ImageDimensions dimensions, + FittingMode::Type fittingMode, + SamplingMode::Type samplingMode, + bool orientationCorrection, + DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad); + + /** + * Constructor. + * @param [in] id of the task + * @param [in] pixelBuffer of the to be masked image + * @param [in] maskPixelBuffer of the mask image + * @param [in] contentScale The factor to scale the content + * @param [in] cropToMask Whether to crop the content to the mask size + */ + LoadingTask( uint32_t id, + Devel::PixelBuffer pixelBuffer, + Devel::PixelBuffer maskPixelBuffer, + float contentScale, + bool cropToMask ); /** * Load the image */ void Load(); + /** + * Apply mask + */ + void ApplyMask(); + private: // Undefined @@ -72,13 +97,19 @@ private: public: Devel::PixelBuffer pixelBuffer; ///< pixelBuffer handle after successful load + ///< or pixelBuffer to be masked image in the mask task VisualUrl url; ///< url of the image to load uint32_t id; ///< The unique id associated with this task. ImageDimensions dimensions; ///< dimensions to load FittingMode::Type fittingMode; ///< fitting options SamplingMode::Type samplingMode; ///< sampling options bool orientationCorrection:1; ///< if orientation correction is needed + DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad; //< if the image's color should be multiplied by it's alpha + bool isMaskTask; ///< whether this task is for mask or not + Devel::PixelBuffer maskPixelBuffer; ///< pixelBuffer of mask image + float contentScale; ///< The factor to scale the content + bool cropToMask; ///< Whether to crop the content to the mask size }; @@ -176,4 +207,4 @@ private: } // namespace Dali -#endif /* __DALI_TOOLKIT_IMAGE_LOAD_THREAD_H__ */ +#endif // DALI_TOOLKIT_IMAGE_LOAD_THREAD_H