// EXTERNAL INCLUDES
#include <dali/public-api/images/image.h>
#include <dali/public-api/images/image-operations.h>
+#include <dali/public-api/images/resource-image.h>
namespace Dali
{
* "default"
*
*/
-class ImageRenderer: public ControlRenderer
+class ImageRenderer: public ControlRenderer, public ConnectionTracker
{
public:
/**
* @brief Constructor.
+ *
+ * @param[in] factoryCache A pointer pointing to the RendererFactoryCache object
*/
- ImageRenderer();
+ ImageRenderer( RendererFactoryCache& factoryCache );
/**
* @brief A reference counted object may only be deleted by calling Unreference().
public: // from ControlRenderer
/**
- * @copydoc ControlRenderer::Initialize
+ * @copydoc ControlRenderer::SetSize
*/
- virtual void Initialize( RendererFactoryCache& factoryCache, const Property::Map& propertyMap );
+ virtual void SetSize( const Vector2& size );
/**
- * @copydoc ControlRenderer::SetSize
+ * @copydoc ControlRenderer::GetNaturalSize
*/
- virtual void SetSize( const Vector2& size );
+ virtual void GetNaturalSize( Vector2& naturalSize ) const;
/**
* @copydoc ControlRenderer::SetClipRect
/**
* @copydoc ControlRenderer::CreatePropertyMap
*/
- virtual void CreatePropertyMap( Property::Map& map ) const;
+ virtual void DoCreatePropertyMap( Property::Map& map ) const;
protected:
/**
+ * @copydoc ControlRenderer::DoInitialize
+ */
+ virtual void DoInitialize( const Property::Map& propertyMap );
+
+ /**
* @copydoc ControlRenderer::DoSetOnStage
*/
virtual void DoSetOnStage( Actor& actor );
*/
virtual void DoSetOffStage( Actor& actor );
-public:
-
/**
- * Request the geometry and shader from the cache, if not available, create and save to the cache for sharing.
- *
- * @param[in] factoryCache A pointer pointing to the RendererFactoryCache object
+ * @copydoc ControlRenderer::InitializeRenderer
*/
- void Initialize( RendererFactoryCache& factoryCache );
+ virtual void InitializeRenderer( Renderer& renderer );
+
+public:
/**
* @brief Sets the image of this renderer to the resource at imageUrl
*/
void ApplyImageToSampler();
+ /**
+ * Callback function of image resource loading succeed
+ * @param[in] image The Image content that we attempted to load from mImageUrl
+ */
+ void OnImageLoaded( ResourceImage image );
+
private:
Image mImage;