[dali_1.2.19] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / visuals / visual-base-impl.h
index 4028ca4..f496467 100644 (file)
@@ -22,6 +22,7 @@
 #include <dali/public-api/common/intrusive-ptr.h>
 #include <dali/public-api/images/image-operations.h>
 #include <dali/public-api/object/base-object.h>
+#include <dali/public-api/rendering/renderer.h>
 #include <dali/public-api/rendering/shader.h>
 
 // INTERNAL INCLUDES
@@ -84,17 +85,17 @@ public:
   /**
    * @copydoc Toolkit::Visual::Base::SetSize
    */
-  virtual void SetSize( const Vector2& size );
+  void SetTransformAndSize( const Property::Map& transform, Size controlSize );
 
   /**
-   * @copydoc Toolkit::Visual::Base::GetSize
+   * @copydoc Toolkit::Visual::Base::GetHeightForWidth
    */
-  const Vector2& GetSize() const;
+  virtual float GetHeightForWidth( float width );
 
   /**
-   * @copydoc Toolkit::Visual::Base::GetHeightForWidth
+   * @copydoc Toolkit::Visual::Base::GetWidthForHeight
    */
-  virtual float GetHeightForWidth( float width ) const;
+  virtual float GetWidthForHeight( float height );
 
   /**
    * @copydoc Toolkit::Visual::Base::GetNaturalSize
@@ -157,6 +158,11 @@ public:
    */
   Dali::Property::Value GetProperty( Dali::Property::Index index );
 
+  /**
+   * Gets currently staged renderer, or an empty handle if not staged
+   */
+  Renderer GetRenderer();
+
 protected:
 
   /**
@@ -187,9 +193,10 @@ protected:
   virtual void DoSetProperties( const Property::Map& propertyMap ) = 0;
 
   /**
-   * @brief Called when transform property changes
+   * @brief Called when transform or control size changes
+   * ( Of use to SVG and Text visuals )
    */
-  virtual void OnSetTransform(){}
+  virtual void OnSetTransform() = 0;
 
 protected:
 
@@ -225,24 +232,6 @@ protected:
    */
   bool IsFromCache() const;
 
-protected:
-  /**
-   * @brief Called by SetProperty(). To be overriden by derived clases in order to set properties.
-   *
-   * @param [in] index The index of the property.
-   * @param [in] propertyValue The new value of the property.
-   */
-  virtual void DoSetProperty( Dali::Property::Index index, const Dali::Property::Value& propertyValue ) = 0;
-
-  /**
-   * @brief Called by GetProperty(). To be overriden by derived classes in order to retrieve properties.
-   *
-   * @param [in] index The index of the property.
-   *
-   * @return The property value.
-   */
-  virtual Dali::Property::Value DoGetProperty( Dali::Property::Index index ) = 0;
-
 private:
 
   // Undefined