#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, "resourceUrl", STRING, RESOURCE_URL )
+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 )
mImageSize(),
mImageVisualPaddingSetByTransform( false )
{
+ DevelControl::SetAccessibilityConstructor( Self(), []( Dali::Actor actor ) {
+ return std::unique_ptr< Dali::Accessibility::Accessible >(
+ new Control::Impl::AccessibleImpl( actor, Dali::Accessibility::Role::IMAGE ) );
+ } );
}
ImageView::~ImageView()
}
}
+void ImageView::OnStageConnection( int depth )
+{
+ if( mImage )
+ {
+ mImage.UploadedSignal().Emit( mImage );
+ }
+
+ Dali::ResourceImage resourceImage = Dali::ResourceImage::DownCast( mImage );
+ if( resourceImage )
+ {
+ resourceImage.LoadingFinishedSignal().Emit( resourceImage );
+ }
+
+ Control::OnStageConnection( depth ); // Enabled visuals will be put on stage
+}
+
Vector3 ImageView::GetNaturalSize()
{
if( mVisual )
ImageView& impl = GetImpl( imageView );
switch ( index )
{
- case Toolkit::ImageView::Property::RESOURCE_URL:
- {
- std::string imageUrl;
- if( value.Get( imageUrl ) )
- {
- impl.SetImage( imageUrl, ImageDimensions() );
- }
- break;
- }
-
case Toolkit::ImageView::Property::IMAGE:
{
std::string imageUrl;
ImageView& impl = GetImpl( imageview );
switch ( propertyIndex )
{
- case Toolkit::ImageView::Property::RESOURCE_URL:
- {
- if ( !impl.mUrl.empty() )
- {
- value = impl.mUrl;
- }
- break;
- }
-
case Toolkit::ImageView::Property::IMAGE:
{
if ( !impl.mUrl.empty() )