X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fanimated-image%2Frolling-animated-image-cache.h;h=b1b4afcdbcb22217efce5e043217de65dc3d023b;hb=HEAD;hp=8fed2d7c34d752698d05973dbd57677af9edd047;hpb=a79b9acaf94aa703c82b6b39d2672d7cfd2999d9;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.h b/dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.h index 8fed2d7..dde53b8 100644 --- a/dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.h +++ b/dali-toolkit/internal/visuals/animated-image/rolling-animated-image-cache.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_INTERNAL_ROLLING_ANIMATED_IMAGE_CACHE_H /* - * Copyright (c) 2022 Samsung Electronics Co., Ltd. + * Copyright (c) 2024 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. @@ -42,7 +42,10 @@ public: /** * @brief Constructor. * @param[in] textureManager The texture manager - * @param[in] animatedImageLoading The loaded animated image + * @param[in] size The width and height to fit the loaded image to. + * @param[in] fittingMode The FittingMode of the resource to load + * @param[in] samplingMode The SamplingMode of the resource to load + * @param[in] animatedImageLoading The loaded animated image * @param[in] maskingData Masking data to be applied. * @param[in] observer FrameReady observer * @param[in] cacheSize The size of the cache @@ -56,6 +59,9 @@ public: * batch and cache sizes. */ RollingAnimatedImageCache(TextureManager& textureManager, + ImageDimensions size, + Dali::FittingMode::Type fittingMode, + Dali::SamplingMode::Type samplingMode, AnimatedImageLoading& animatedImageLoading, TextureManager::MaskingDataPointer& maskingData, ImageCache::FrameReadyObserver& observer, @@ -110,14 +116,25 @@ private: bool IsFrontReady() const; /** + * @brief Request to Load a frame asynchronously + * + * @param[in] frameIndex index of frame to be loaded. + * + * @return the texture set currently loaded. + */ + TextureSet RequestFrameLoading(uint32_t frameIndex); + + /** * @brief Request to Load a frame * - * @param[in] frameIndex index of frame to be loaded. - * @param[in] synchronousLoading true if the frame should be loaded synchronously + * @param[in] frameIndex Index of frame to be loaded. + * @param[in] synchronousLoading True if the frame should be loaded synchronously + * @param[in,out] preMultiplyOnLoad True if the image color should be multiplied by it's alpha. Set to false if the + * image has no alpha channel * * @return the texture set currently loaded. */ - TextureSet RequestFrameLoading(uint32_t frameIndex, bool synchronousLoading); + TextureSet RequestFrameLoading(uint32_t frameIndex, bool synchronousLoading, TextureManager::MultiplyOnLoad& preMultiplyOnLoading); /** * @brief Load the next batch of images @@ -152,9 +169,11 @@ private: * * @param[in] loadSuccess whether the loading is succeded or not. * @param[in] textureSet textureSet for this frame. + * @param[in] frameCount Total frame count for this image. * @param[in] interval interval between this frame and next frame. + * @param[in] preMultiplied whether the texture is premultied alpha or not. */ - void MakeFrameReady(bool loadSuccess, TextureSet textureSet, uint32_t interval); + void MakeFrameReady(bool loadSuccess, TextureSet textureSet, uint32_t frameCount, uint32_t interval, bool preMultiplied); /** * @brief Pop front entity of Cache. @@ -189,7 +208,6 @@ private: Dali::WrapMode::Type mWrapModeU : 3; Dali::WrapMode::Type mWrapModeV : 3; bool mIsSynchronousLoading; - bool mPreMultiplyOnLoad; }; } // namespace Internal