X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fnpatch%2Fnpatch-visual.h;h=07918ee7621801b7f878e5d4105736d83ffe4e19;hp=e178eb868a134fce0ee3e26a348aef3a011ab222;hb=c211a7d84885dca19c90b4656055002865e6fce2;hpb=63f9b5207c2794cdc460d587723be89585872a51 diff --git a/dali-toolkit/internal/visuals/npatch/npatch-visual.h b/dali-toolkit/internal/visuals/npatch/npatch-visual.h index e178eb8..07918ee 100644 --- a/dali-toolkit/internal/visuals/npatch/npatch-visual.h +++ b/dali-toolkit/internal/visuals/npatch/npatch-visual.h @@ -18,10 +18,8 @@ * */ -// INTERNAL INCLUDES -#include - // EXTERNAL INCLUDES +#include #include #include #include @@ -29,6 +27,9 @@ #include #include +// INTERNAL INCLUDES +#include + namespace Dali { @@ -38,6 +39,9 @@ namespace Toolkit namespace Internal { +class NPatchVisual; +typedef IntrusivePtr< NPatchVisual > NPatchVisualPtr; + /** * The visual which renders an 9 patch image to the control's quad * @@ -54,14 +58,15 @@ class NPatchVisual: public Visual::Base public: /** - * @brief Constructor. + * @brief Create a new n-patch visual. * * @param[in] factoryCache A pointer pointing to the VisualFactoryCache object + * @return A smart-pointer to the newly allocated visual. */ - NPatchVisual( VisualFactoryCache& factoryCache ); + static NPatchVisualPtr New( VisualFactoryCache& factoryCache ); /** - * @brief Constructor which creates an N-patch visual using an image URL. + * @brief Create an N-patch visual using an image URL. * * The visual will load the image synchronously when the associated actor is put on stage, and destroy the image when it is off stage * @@ -69,21 +74,16 @@ public: * @param[in] imageUrl The URL to 9 patch image resource to use * @param[in] borderOnly A Flag to indicate if the image should omit the centre of the n-patch and only render the border */ - NPatchVisual( VisualFactoryCache& factoryCache, const std::string& imageUrl, bool borderOnly = false ); + static NPatchVisualPtr New( VisualFactoryCache& factoryCache, const std::string& imageUrl, bool borderOnly = false ); /** - * @brief Constructor which creates an N-patch viusal with a NinePatchImage resource. + * @brief Create an N-patch visual with a NinePatchImage resource. * * @param[in] factoryCache A pointer pointing to the VisualFactoryCache object * @param[in] image The NinePatchImage to use * @param[in] borderOnly A Flag to indicate if the image should omit the centre of the n-patch and only render the border */ - NPatchVisual( VisualFactoryCache& factoryCache, NinePatchImage image, bool borderOnly = false ); - - /** - * @brief A reference counted object may only be deleted by calling Unreference(). - */ - ~NPatchVisual(); + static NPatchVisualPtr New( VisualFactoryCache& factoryCache, NinePatchImage image, bool borderOnly = false ); public: // from Visual @@ -110,6 +110,19 @@ public: // from Visual protected: /** + * @brief Constructor. + * + * @param[in] factoryCache A pointer pointing to the VisualFactoryCache object + * @param[in] borderOnly A Flag to indicate if the image should omit the centre of the n-patch and only render the border + */ + NPatchVisual( VisualFactoryCache& factoryCache, bool borderOnly = false ); + + /** + * @brief A reference counted object may only be deleted by calling Unreference(). + */ + virtual ~NPatchVisual(); + + /** * @copydoc Visual::Base::DoInitialize */ virtual void DoInitialize( Actor& actor, const Property::Map& propertyMap );