X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fvisual-url.h;h=08a276a74ff81f6164ded4bbbf740caa6ffef913;hb=12fc433eba468fe62254c4ebfb04d57697632077;hp=827dfce7989b3387270e6d54b2f5ea1e53016515;hpb=6ea2f17f49c9c694a24d951160a7389c844d7889;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/visual-url.h b/dali-toolkit/internal/visuals/visual-url.h index 827dfce..08a276a 100644 --- a/dali-toolkit/internal/visuals/visual-url.h +++ b/dali-toolkit/internal/visuals/visual-url.h @@ -39,14 +39,15 @@ public: GIF, WEBP, JSON, - RIVE + TVG }; enum ProtocolType { LOCAL, ///< file in local file system TEXTURE, ///< texture uploaded to texture manager - REMOTE ///< remote image + REMOTE, ///< remote image + BUFFER ///< encoded image buffer }; /** @@ -56,8 +57,16 @@ public: VisualUrl(); /** + * Default Destructor. + * Delete an external texture if if protocolType is TEXTURE. + */ + ~VisualUrl(); + + /** * Constructor. * Determines type of visual and whether the url is local or remote + * Notify that it is using an external texture if if protocolType is TEXTURE. + * * @param[in] url The URL to store and resolve */ VisualUrl(const std::string& url); @@ -104,6 +113,11 @@ public: bool IsLocalResource() const; /** + * @return true if the location is BUFFER, i.e. may contain EncodedImageBuffer + */ + bool IsBufferResource() const; + + /** * @return the location part of the url */ std::string GetLocation() const; @@ -115,6 +129,27 @@ public: */ static std::string CreateTextureUrl(const std::string& location); + /** + * Helper to create a URL of type BUFFER + * @param location the location of the texture + * @return the Url + */ + static std::string CreateBufferUrl(const std::string& location); + + /** + * Helper to get a ProtocolType from url + * @param url the url of the texture + * @return the protocol type + */ + static VisualUrl::ProtocolType GetProtocolType(const std::string& url); + + /** + * Helper to get a location from url + * @param url the location of the texture + * @return the location + */ + static std::string GetLocation(const std::string& url); + private: std::string mUrl; Type mType;