X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fvisuals%2Fprimitive%2Fprimitive-visual.h;h=deda8d30cd0ffb2166df0bcf98ccefa1d4ff9b1a;hb=be7711b99f7e5db0b712194636745045d4da1154;hp=45b536b7096193e797eb5bd34902ad2091b6126b;hpb=260c832bfaa0294e74a4f96d321f149adf09a3ce;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/visuals/primitive/primitive-visual.h b/dali-toolkit/internal/visuals/primitive/primitive-visual.h index 45b536b..deda8d3 100644 --- a/dali-toolkit/internal/visuals/primitive/primitive-visual.h +++ b/dali-toolkit/internal/visuals/primitive/primitive-visual.h @@ -44,6 +44,8 @@ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ +// EXTERNAL INCLUDES +#include // INTERNAL INCLUDES #include @@ -58,6 +60,9 @@ namespace Toolkit namespace Internal { +class PrimitiveVisual; +typedef IntrusivePtr< PrimitiveVisual > PrimitiveVisualPtr; + /** * The visual which renders a simple 3D shape to the control's quad * @@ -97,46 +102,64 @@ class PrimitiveVisual: public Visual::Base public: /** - * @brief Constructor. + * @brief Create a new primitive visual. * * @param[in] factoryCache A pointer pointing to the VisualFactoryCache object + * @return A smart-pointer to the newly allocated visual. */ - PrimitiveVisual( VisualFactoryCache& factoryCache ); + static PrimitiveVisualPtr New( VisualFactoryCache& factoryCache ); + +public: // from Visual /** - * @brief A reference counted object may only be deleted by calling Unreference(). + * @copydoc Visual::Base::GetNaturalSize */ - virtual ~PrimitiveVisual(); - -public: // from Visual + virtual void GetNaturalSize( Vector2& naturalSize ); /** - * @copydoc Visual::SetSize + * @copydoc Visual::Base::CreatePropertyMap */ - virtual void SetSize( const Vector2& size ); + virtual void DoCreatePropertyMap( Property::Map& map ) const; /** - * @copydoc Visual::GetNaturalSize + * @copydoc Visual::Base::DoSetProperty */ - virtual void GetNaturalSize( Vector2& naturalSize ) const; + virtual void DoSetProperty( Dali::Property::Index index, const Dali::Property::Value& propertyValue ); /** - * @copydoc Visual::CreatePropertyMap + * @copydoc Visual::Base::DoGetProperty */ - virtual void DoCreatePropertyMap( Property::Map& map ) const; + virtual Dali::Property::Value DoGetProperty( Dali::Property::Index index ); protected: /** - * @copydoc Visual::DoInitialize + * @brief Constructor. + * + * @param[in] factoryCache A pointer pointing to the VisualFactoryCache object + */ + PrimitiveVisual( VisualFactoryCache& factoryCache ); + + /** + * @brief A reference counted object may only be deleted by calling Unreference(). */ - virtual void DoInitialize( Actor& actor, const Property::Map& propertyMap ); + virtual ~PrimitiveVisual(); /** - * @copydoc Visual::DoSetOnStage + * @copydoc Visual::Base::DoSetProperties + */ + virtual void DoSetProperties( const Property::Map& propertyMap ); + + /** + * @copydoc Visual::Base::DoSetOnStage */ virtual void DoSetOnStage( Actor& actor ); + /** + * @copydoc Visual::Base::OnSetTransform + */ + virtual void OnSetTransform(); + private: //Simple struct to store the position and normal of a single vertex.