* @param[in] desiredSize The size the image is likely to appear at. This can be set to 0,0 for automatic
* @param[in] fittingMode The FittingMode to use
* @param[in] samplingMode The SamplingMode to use
- * @param[in] maskInfo Mask info structure
+ * @param[in, out] maskInfo Mask info structure
* @param[in] synchronousLoading true if the URL should be loaded synchronously
* @param[out] textureId, The textureId of the URL
* @param[out] textureRect The rectangle within the texture atlas that this URL occupies,
Dali::ImageDimensions desiredSize,
Dali::FittingMode::Type fittingMode,
Dali::SamplingMode::Type samplingMode,
- const MaskingDataPointer& maskInfo,
+ MaskingDataPointer& maskInfo,
bool synchronousLoading,
TextureManager::TextureId& textureId,
Vector4& textureRect,
* occurrence of a Texture will cause its removal internally.
*
* @param[in] textureId The ID of the Texture to remove.
+ * @param[in] textureObserver The texture observer.
*/
- void Remove( const TextureManager::TextureId textureId );
+ void Remove( const TextureManager::TextureId textureId, TextureUploadObserver* textureObserver );
/**
* @brief Get the visualUrl associated with the texture id.
* @param[in] container The Async loading container
* @param[in] id This is the async image loaders Id
* @param[in] pixelBuffer The loaded image data
- * @param[in] isMaskTask whether this task is for mask or not
*/
- void AsyncLoadComplete( AsyncLoadingInfoContainerType& container, uint32_t id, Devel::PixelBuffer pixelBuffer, bool isMaskTask );
+ void AsyncLoadComplete( AsyncLoadingInfoContainerType& container, uint32_t id, Devel::PixelBuffer pixelBuffer );
/**
* @brief Performs Post-Load steps including atlasing.
* @param[in] samplingMode The SamplingMode to use
* @param[in] orientationCorrection Whether to use image metadata to rotate or flip the image,
* e.g., from portrait to landscape
- * @param[in] preMultiplyOnLoad if the image's color should be multiplied by it's alpha.
+ * @param[in] preMultiplyOnLoad if the image's 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.
*/
void Load(TextureId textureId,
const VisualUrl& url,
* @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
+ * @param [in] preMultiplyOnLoad if the image's color should be multiplied by it's alpha. Set to OFF if there is no alpha.
*/
void ApplyMask( TextureId textureId,
Devel::PixelBuffer pixelBuffer,
Devel::PixelBuffer maskPixelBuffer,
float contentScale,
- bool cropToMask );
+ bool cropToMask,
+ DevelAsyncImageLoader::PreMultiplyOnLoad preMultiplyOnLoad );
public:
AsyncLoadingHelper(const AsyncLoadingHelper&) = delete;
/**
* @brief Main constructor that used by all other constructors
*/
- AsyncLoadingHelper(Toolkit::AsyncImageLoader loader,
- TextureManager& textureManager,
- AsyncLoadingInfoContainerType&& loadingInfoContainer);
+ AsyncLoadingHelper( Toolkit::AsyncImageLoader loader,
+ TextureManager& textureManager,
+ AsyncLoadingInfoContainerType&& loadingInfoContainer );
/**
* @brief Callback to be called when texture loading is complete, it passes the pixel buffer on to texture manager.
* @param[in] id Loader id
* @param[in] pixelBuffer Image data
- * @param[in] isMaskTask whether this task is for mask or not
*/
- void AsyncLoadComplete(uint32_t id, Devel::PixelBuffer pixelBuffer, bool isMaskTask);
+ void AsyncLoadComplete( uint32_t id, Devel::PixelBuffer pixelBuffer );
private:
Toolkit::AsyncImageLoader mLoader;