#include "image-view-impl.h"
// EXTERNAL INCLUDES
-#include <dali/public-api/images/resource-image.h>
#include <dali/public-api/object/type-registry.h>
#include <dali/public-api/object/type-registry-helper.h>
#include <dali/devel-api/scripting/scripting.h>
#include <dali-toolkit/internal/visuals/visual-string-constants.h>
#include <dali-toolkit/internal/visuals/visual-base-impl.h>
#include <dali-toolkit/internal/visuals/visual-base-data-impl.h>
+#include <dali-toolkit/internal/controls/control/control-data-impl.h>
namespace Dali
{
// Setup properties, signals and actions using the type-registry.
DALI_TYPE_REGISTRATION_BEGIN( Toolkit::ImageView, Toolkit::Control, Create );
-DALI_PROPERTY_REGISTRATION( Toolkit, ImageView, "reservedProperty01", STRING, RESERVED_PROPERTY_01 )
DALI_PROPERTY_REGISTRATION( Toolkit, ImageView, "image", MAP, IMAGE )
DALI_PROPERTY_REGISTRATION( Toolkit, ImageView, "preMultipliedAlpha", BOOLEAN, PRE_MULTIPLIED_ALPHA )
// ImageView can relayout in the OnImageReady, alternative to a signal would be to have a upcall from the Control to ImageView
Dali::Toolkit::Control handle( GetOwner() );
handle.ResourceReadySignal().Connect( this, &ImageView::OnResourceReady );
+
+ DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) {
+ return std::unique_ptr< Dali::Accessibility::Accessible >(
+ new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::IMAGE ) );
+ } );
}
void ImageView::SetImage( const Property::Map& map )
mVisual.SetTransformAndSize( transformMap, size );
// mVisual is not updated util the resource is ready in the case of visual replacement.
- // So apply the transform and size to the new visual.
+ // in this case, the Property Map must be initialized so that the previous value is not reused.
+ // after mVisual is updated, the correct value will be reset.
Toolkit::Visual::Base visual = DevelControl::GetVisual( *this, Toolkit::ImageView::Property::IMAGE );
if( visual && visual != mVisual )
{
- visual.SetTransformAndSize( transformMap, size );
+ visual.SetTransformAndSize( Property::Map(), size );
}
}
}
case Toolkit::ImageView::Property::IMAGE:
{
std::string imageUrl;
- Property::Map* map;
+ const Property::Map* map;
if( value.Get( imageUrl ) )
{
impl.SetImage( imageUrl, ImageDimensions() );