X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=dali-toolkit%2Finternal%2Fvisuals%2Ftexture-manager-impl.h;h=868afdc199e4b23af192912fdfde08c307434d07;hb=refs%2Fchanges%2F66%2F150466%2F10;hp=117bd1f2c98d2343b731fcd7940a9d6d0293d245;hpb=53e82bf4ac3f1b1d59b75a006276b820fc50b7c4;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/texture-manager-impl.h b/dali-toolkit/internal/visuals/texture-manager-impl.h index 117bd1f..868afdc 100644 --- a/dali-toolkit/internal/visuals/texture-manager-impl.h +++ b/dali-toolkit/internal/visuals/texture-manager-impl.h @@ -45,6 +45,8 @@ namespace Toolkit namespace Internal { +class ImageAtlasManager; +typedef IntrusivePtr ImageAtlasManagerPtr; /** * The TextureManager provides a common Image loading API for Visuals. @@ -103,6 +105,17 @@ public: public: + struct MaskingData + { + MaskingData(); + ~MaskingData() = default; + + VisualUrl mAlphaMaskUrl; + TextureManager::TextureId mAlphaMaskId; + float mContentScaleFactor; + bool mCropToMask; + }; + /** * Constructor. */ @@ -111,11 +124,20 @@ public: /** * Destructor. */ - ~TextureManager(); + ~TextureManager() = default; // TextureManager Main API: + TextureSet LoadTexture(VisualUrl& url, Dali::ImageDimensions desiredSize, + Dali::FittingMode::Type fittingMode, Dali::SamplingMode::Type samplingMode, + MaskingData* maskInfo, bool synchronousLoading, + TextureManager::TextureId& textureId, Vector4& textureRect, + bool& atlasingStatus, bool& loadingStatus, Dali::WrapMode::Type wrapModeU, + Dali::WrapMode::Type wrapModeV, TextureUploadObserver* textureObserver, + AtlasUploadObserver* atlasObserver, + ImageAtlasManagerPtr imageAtlasManager); + /** * @brief Requests an image load of the given URL. * @@ -345,25 +367,9 @@ private: unsigned short loadId; ///< The load Id used by the async loader to reference this load }; - /** - * @brief This struct is used within a container to manage atlas creation and destruction. - */ - struct AtlasInfo - { - AtlasInfo( Toolkit::ImageAtlas atlas, TextureSet textureSet ) - : atlas( atlas ), - textureSet( textureSet ) - { - } - - Toolkit::ImageAtlas atlas; ///< The ImageAtlas object - TextureSet textureSet; ///< The TextureSet is kept in the struct to allow fast lookup of TextureSet to Atlas - }; - // Private typedefs: typedef std::deque AsyncLoadingInfoContainerType; ///< The container type used to manage Asynchronous loads in progress - typedef std::vector AtlasInfoContainerType; ///< The container type used to manage Atlas creation and destruction typedef std::vector TextureInfoContainerType; ///< The container type used to manage the life-cycle and caching of Textures /** @@ -586,7 +592,6 @@ private: private: // Member Variables: - AtlasInfoContainerType mAtlasContainer; ///< Used to manage Atlas creation and destruction TextureInfoContainerType mTextureInfoContainer; ///< Used to manage the life-cycle and caching of Textures RoundRobinContainerView< AsyncLoadingHelper > mAsyncLocalLoaders; ///< The Asynchronous image loaders used to provide all local async loads RoundRobinContainerView< AsyncLoadingHelper > mAsyncRemoteLoaders; ///< The Asynchronous image loaders used to provide all remote async loads