void ImageView::SetImage( Image image )
{
- if( mImage != image )
+ if( ( mImage != image ) ||
+ ! mUrl.empty() || // If we're changing from a URL type to an Image type
+ ! mPropertyMap.Empty() ) // If we're changing from a property map type to an Image type
{
mUrl.clear();
mPropertyMap.Clear();
Actor self = Self();
Toolkit::RendererFactory::Get().ResetRenderer( mRenderer, self, image );
mImageSize = image ? ImageDimensions( image.GetWidth(), image.GetHeight() ) : ImageDimensions( 0, 0 );
+
+ RelayoutRequest();
}
}
void ImageView::SetImage( Property::Map map )
{
+ mUrl.clear();
+ mImage.Reset();
mPropertyMap = map;
Actor self = Self();
}
mImageSize = ImageDimensions( width, height );
+
+ RelayoutRequest();
}
void ImageView::SetImage( const std::string& url, ImageDimensions size )
{
- if( mUrl != url )
+ if( ( mUrl != url ) ||
+ mImage || // If we're changing from an Image type to a URL type
+ ! mPropertyMap.Empty() ) // If we're changing from a property map type to a URL type
{
mImage.Reset();
mPropertyMap.Clear();
Actor self = Self();
Toolkit::RendererFactory::Get().ResetRenderer( mRenderer, self, mUrl, mImageSize );
+
+ RelayoutRequest();
}
}