X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fnpatch-data.h;h=cc520d8c34ecd8ef970a42b789b4481dfffb7fcc;hb=38f0ea9fcdf1dc5037144fa19c8a52316c8af763;hp=60e6e6bd52eb57bc63e2221b05184f36fea91839;hpb=ec1db95268e1cf8e8bd893027d45a19c64b32848;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/npatch-data.h b/dali-toolkit/internal/visuals/npatch-data.h index 60e6e6b..cc520d8 100644 --- a/dali-toolkit/internal/visuals/npatch-data.h +++ b/dali-toolkit/internal/visuals/npatch-data.h @@ -2,7 +2,7 @@ #define DALI_TOOLKIT_NPATCH_DATA_H /* - * Copyright (c) 2020 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -18,27 +18,25 @@ */ // EXTERNAL INCLUDES -#include -#include #include +#include +#include // INTERNAL INCLUDES -#include #include +#include +#include namespace Dali { - namespace Toolkit { - namespace Internal { - class NPatchData : public Dali::Toolkit::TextureUploadObserver { public: - typedef int32_t NPatchDataId; ///< The NPatchDataId type. This is used as a handle to refer to a particular Npatch Data. + typedef int32_t NPatchDataId; ///< The NPatchDataId type. This is used as a handle to refer to a particular Npatch Data. static const int INVALID_NPATCH_DATA_ID = -1; ///< Used to represent a null TextureId or error /** @@ -46,13 +44,13 @@ public: */ enum class LoadingState { - LOADING = 0, ///< NPatch is on loading. - LOAD_COMPLETE, ///< NPatch loading is completed successfully. - LOAD_FAILED ///< NPatch loading is failed. + NOT_STARTED = 0, ///< NPatch loading is not started yet. + LOADING, ///< NPatch is on loading. + LOAD_COMPLETE, ///< NPatch loading is completed successfully. + LOAD_FAILED ///< NPatch loading is failed. }; public: - /** * Constructor */ @@ -64,7 +62,6 @@ public: ~NPatchData(); public: - /** * @brief Set cache data id. * @@ -105,14 +102,14 @@ public: * * @param [in] url NPatch image url */ - void SetUrl(const std::string url); + void SetUrl(const VisualUrl& url); /** * @brief Retrieve the image url. * * @return Return the image url. */ - std::string GetUrl() const; + VisualUrl GetUrl() const; /** * @brief Set texture set on the cache data @@ -240,7 +237,6 @@ public: */ LoadingState GetLoadingState() const; - /** * @brief Retrieve NPatch rendering data. * @@ -254,34 +250,31 @@ public: * @param [in] pixelBuffer loaded pixel buffer. * @param [in] preMultiplied whether the loaded image is premultiplied or not */ - void SetLoadedNPatchData( Devel::PixelBuffer& pixelBuffer, bool preMultiplied ); - -private: + void SetLoadedNPatchData(Devel::PixelBuffer& pixelBuffer, bool preMultiplied); /** - * @copydoc TextureUploadObserver::UploadCompleted + * @brief Send LoadComplete notify with current setuped NPatchData * - * To avoid rendering garbage pixels, renderer should be added to actor after the resources are ready. - * This callback is the place to add the renderer as it would be called once the loading is finished. + * @param [in] observer observer who will be got LoadComplete notify + * @param [in] loadSuccess whether the image load success or not. */ - void UploadComplete( bool loadSuccess, int32_t textureId, TextureSet textureSet, bool useAtlasing, const Vector4& atlasRect, bool preMultiplied ) override {} + void NotifyObserver(TextureUploadObserver* observer, const bool& loadSuccess); +private: /** * @copydoc TextureUploadObserver::LoadComplete * * To avoid rendering garbage pixels, renderer should be added to actor after the resources are ready. * This callback is the place to add the renderer as it would be called once the loading is finished. */ - void LoadComplete( bool loadSuccess, Devel::PixelBuffer pixelBuffer, const VisualUrl& url, bool preMultiplied ) override; - + void LoadComplete(bool loadSuccess, TextureInformation textureInformation) override; private: - using ObserverListType = Dali::Vector; NPatchDataId mId; ObserverListType mObserverList; ///< Container used to store all observer clients of this Texture - std::string mUrl; ///< Url of the N-Patch + VisualUrl mUrl; ///< Url of the N-Patch TextureSet mTextureSet; ///< Texture containing the cropped image NPatchUtility::StretchRanges mStretchPixelsX; ///< X stretch pixels NPatchUtility::StretchRanges mStretchPixelsY; ///< Y stretch pixels