X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;ds=sidebyside;f=dali-toolkit%2Finternal%2Fcontrols%2Fimage-view%2Fimage-view-impl.cpp;h=5a0aa9192b91e27a107e03f46dbac4a09460633c;hb=356b95b17862f70c298519387dc1091e40fb16da;hp=edff0e3402a84ea3815f3482e7b6c6a2cf93eab9;hpb=3900c2666aa9e5608296ffddc5a591d8f93a385e;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/controls/image-view/image-view-impl.cpp b/dali-toolkit/internal/controls/image-view/image-view-impl.cpp index edff0e3..5a0aa91 100755 --- a/dali-toolkit/internal/controls/image-view/image-view-impl.cpp +++ b/dali-toolkit/internal/controls/image-view/image-view-impl.cpp @@ -52,7 +52,7 @@ BaseHandle Create() // 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 ) @@ -234,6 +234,22 @@ void ImageView::SetDepthIndex( int depthIndex ) } } +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 ) @@ -349,6 +365,14 @@ void ImageView::OnRelayout( const Vector2& size, RelayoutContainer& container ) 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. + Toolkit::Visual::Base visual = DevelControl::GetVisual( *this, Toolkit::ImageView::Property::IMAGE ); + if( visual && visual != mVisual ) + { + visual.SetTransformAndSize( transformMap, size ); + } } } @@ -373,16 +397,6 @@ void ImageView::SetProperty( BaseObject* object, Property::Index index, const Pr 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; @@ -454,15 +468,6 @@ Property::Value ImageView::GetProperty( BaseObject* object, Property::Index prop 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() )