X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fnpatch-loader.h;h=a3aa464336db69be5ebf6797f6f52578602cf374;hp=6bdc2f95128f2a907adcf4657918181cd45913ee;hb=f27c332dcf251d50ddfe3b2ab15ec2eaff5296b1;hpb=ef35ee0ea4e6ffba6f33a9d7e0cb42d90a2812e0 diff --git a/dali-toolkit/internal/visuals/npatch-loader.h b/dali-toolkit/internal/visuals/npatch-loader.h index 6bdc2f9..a3aa464 100644 --- a/dali-toolkit/internal/visuals/npatch-loader.h +++ b/dali-toolkit/internal/visuals/npatch-loader.h @@ -20,12 +20,12 @@ // EXTERNAL INCLUDES #include #include -#include #include #include -// INTERNAL HEADERS +// INTERNAL INCLUDES #include +#include namespace Dali { @@ -36,13 +36,6 @@ namespace Toolkit namespace Internal { -namespace NPatchBuffer -{ - -void GetRedOffsetAndMask( Dali::Pixel::Format pixelFormat, int& byteOffset, int& bitMask ); - -} // namespace NPatchBuffer - /** * The manager for loading Npatch textures. * It caches them internally for better performance; i.e. to avoid loading and @@ -56,8 +49,6 @@ class NPatchLoader { public: - typedef Dali::Vector< Uint16Pair > StretchRanges; - enum { UNINITIALIZED_ID = 0 ///< uninitialised id, use to initialize ids @@ -72,18 +63,25 @@ public: croppedWidth( 0 ), croppedHeight( 0 ), border( 0, 0, 0, 0 ), - loadCompleted( false ) + loadCompleted( false ), + renderingMap{ nullptr } {} - std::string url; ///< Url of the N-Patch - TextureSet textureSet; ///< Texture containing the cropped image - StretchRanges stretchPixelsX; ///< X stretch pixels - StretchRanges stretchPixelsY; ///< Y stretch pixels - std::size_t hash; ///< Hash code for the Url - uint32_t croppedWidth; ///< Width of the cropped middle part of N-patch - uint32_t croppedHeight; ///< Height of the cropped middle part of N-patch - Rect< int > border; ///< The size of the border - bool loadCompleted; ///< True if the data loading is completed + ~Data(); + + using ObserverListType = Dali::Vector< TextureUploadObserver* >; + + ObserverListType observerList; ///< Container used to store all observer clients of this Texture + std::string url; ///< Url of the N-Patch + TextureSet textureSet; ///< Texture containing the cropped image + NPatchUtility::StretchRanges stretchPixelsX; ///< X stretch pixels + NPatchUtility::StretchRanges stretchPixelsY; ///< Y stretch pixels + std::size_t hash; ///< Hash code for the Url + uint32_t croppedWidth; ///< Width of the cropped middle part of N-patch + uint32_t croppedHeight; ///< Height of the cropped middle part of N-patch + Rect< int > border; ///< The size of the border + bool loadCompleted; ///< True if the data loading is completed + void* renderingMap; ///< NPatch rendering data }; public: @@ -115,10 +113,13 @@ public: /** * @brief Set loaded PixelBuffer and its information * + * @param [in] loadSuccess True if the texture load was successful (i.e. the resource is available). If false, then the resource failed to load. * @param [in] id cache data id * @param [in] pixelBuffer of loaded image + * @param [in] url The url address of the loaded image. + * @param [in] preMultiplied True if the image had pre-multiplied alpha applied */ - void SetNPatchData( std::size_t id, Devel::PixelBuffer& pixelBuffer ); + void SetNPatchData( bool loadSuccess, std::size_t id, Devel::PixelBuffer& pixelBuffer, const Internal::VisualUrl& url, bool preMultiplied ); /** * @brief Retrieve N patch data matching to an id